EMU8086使用及8086指令系统(微机原理实验)

这篇具有很好参考价值的文章主要介绍了EMU8086使用及8086指令系统(微机原理实验)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一、实验要求

  1. 熟悉并掌握EMU8086汇编语言编程调试环境;
  2. 学习8086寻址方式(立即寻址、直接寻址、寄存器寻址、寄存器间接寻址、寄存器相对寻址、基址变址寻址、基址变址相对寻址、隐含寻址)。要求对以上寻址方式进行熟悉,观察不同寻址方式下指令运行结果(每种寻址方式2个实例,可参考PPT及教材相关章节);
  3. 学习8086指令系统,输入简单的指令(程序),观察各寄存器、内存相关单元以及处理器标志位的变化(数据传送类指令,算术运算类指令,逻辑运算类指令,标志处理和CPU控制类指令,移位和循环移位类指令,处理器控制类指令、程序控制类指令、输入/输出类指令等,要求每类指令至少2个用例。具体用例自行设计,可参考PPT及教材用例);
  4. 学习汇编语言程序设计的基本步骤和方法;
  5. 学会使用EMU8086 debug调试程序(单步运行、断点设置等);
  6. 学习汇编编程中DOS功能调用方法,掌握常用的DOS功能调用;
  7. 编写一个简单的程序:将“This is my first ASM program-姓名(汉语拼音各人的姓名)”放在DS=0700H,BX=0000H开始的存储器单元中,然后将该内容搬移到BX=0100H开始的单元中,最后将该字符串通过DOS功能调用显示在屏幕上。

二、实验目的

  1. 学习EMU8086仿真开发环境的使用,理解和掌握汇编语言编程的基本步骤;
  2. 熟悉并掌握8086/8088指令系统及内部结构;
  3. 熟悉常用的DOS功能调用,掌握汇编语言编程的人机交互方法;
  4. 熟悉变量、常量及伪指令的使用;
  5. 熟悉内存单元的存储结构,字符串的处理以及简单的编程。

三、实验代码及实验结果

1. 寻址方式:立即寻址

MOV AL,06H

EMU8086使用及8086指令系统(微机原理实验)

MOV DX,7000H

EMU8086使用及8086指令系统(微机原理实验)

2. 寻址方式:直接寻址

MOV AX,[2000H]

EMU8086使用及8086指令系统(微机原理实验)

MOV BX,CS:[1000H]

EMU8086使用及8086指令系统(微机原理实验)

3. 寻址方式:寄存器寻址

MOV AX,06H;MOV DS,AX

EMU8086使用及8086指令系统(微机原理实验)

MOV BL,01H;MOV DL,BL

EMU8086使用及8086指令系统(微机原理实验)

4. 寻址方式:寄存器间接寻址

MOV AX,[BX]

EMU8086使用及8086指令系统(微机原理实验)

MOV DX,[BP]

EMU8086使用及8086指令系统(微机原理实验)

5. 寻址方式:寄存器相对寻址

MOV AL,[SI+2]

EMU8086使用及8086指令系统(微机原理实验)

MOV AX,[BX+4]

EMU8086使用及8086指令系统(微机原理实验)

6. 寻址方式:基址变址寻址

MOV AX,[BX][SI]

EMU8086使用及8086指令系统(微机原理实验)

MOV AX,[BP][DI]

EMU8086使用及8086指令系统(微机原理实验)

7. 寻址方式:基址变址相对寻址

MOV AX, [BX][SI]+2

EMU8086使用及8086指令系统(微机原理实验)

MOV AX,[BX][SI]+4

EMU8086使用及8086指令系统(微机原理实验)

8. 指令系统:数据传送指令

LDS SI,[BX]

EMU8086使用及8086指令系统(微机原理实验)

MOV AX,4000H;
MOV SS,AX;
MOV SP,2000H;
MOV DX,2C5EH;
PUSH DX;
PUSH AX;

EMU8086使用及8086指令系统(微机原理实验)

9. 指令系统:算术运算指令

ADD AX,5000H

EMU8086使用及8086指令系统(微机原理实验)

MOV AX,2000;
MOV BL,120;
DIV BL

EMU8086使用及8086指令系统(微机原理实验)

10. 指令系统:逻辑运算指令

AND AL,0FCH

EMU8086使用及8086指令系统(微机原理实验)

XOR AL,0FH

EMU8086使用及8086指令系统(微机原理实验)

11. 指令系统:移位和循环移位类指令

 MOV AL,05H;
 SAL AL,1

EMU8086使用及8086指令系统(微机原理实验)

MOV AL,12;
SAR AL,2

EMU8086使用及8086指令系统(微机原理实验)

12. 指令系统:处理器控制指令

MOV AX,05FH;
MOV BX,03EH;
HLT;
ADD AX,BX

EMU8086使用及8086指令系统(微机原理实验)

MOV AX,4000H;
MOV SS,AX;
MOV SP,2000H;
HLT;
MOV DX,2C5EH;
PUSH DX;
PUSH AX;

EMU8086使用及8086指令系统(微机原理实验)

13. 指令系统:输入/输出类指令

MOV DX,03FH;
IN AL,DX

EMU8086使用及8086指令系统(微机原理实验)

MOV AX,1000H;
OUT 55H,AX

EMU8086使用及8086指令系统(微机原理实验)

14. 综合

MOV AX, 0700H
MOV DS, AX
MOV BX,0000H
MOV [02H], 'T'
MOV [04H], 'h'
MOV [06H], 'i'
MOV [08H], 's'
MOV [0AH], ' '
MOV [0CH], 'i'
MOV [0EH], 's'
MOV [10H], ' '
MOV [12H], 'm'
MOV [14H], 'y'
MOV [16H], ' '
MOV [18H], 'f'
MOV [1AH], 'i'
MOV [1CH], 'r'
MOV [1EH], 's'
MOV [20H], 't'
MOV [22H], ' '
MOV [24H], 'A'
MOV [26H], 'S'
MOV [28H], 'M'
MOV [2AH], ' '
MOV [2CH], 'p'
MOV [2EH], 'r'
MOV [30H], 'o'
MOV [32H], 'g'
MOV [34H], 'r'
MOV [36H], 'a'
MOV [38H], 'm'
MOV [3AH], '-'
MOV [3CH], 'Y'
MOV [3EH], 'a'
MOV [40H], 'n'
MOV [42H], 'g'
MOV [44H], 'S'
MOV [46H], 'a'
MOV [48H], 'i'
MOV [4AH], 'l'  
MOV [4CH], 'i'
MOV [4EH], 'n'
MOV [50H], 'g'
MOV CX,0028H
MOV BX,0100H
MOV SI,0002H
COPY:
     MOV AX,DS:[SI]
     MOV DS:[BX+SI],AX
     ADD SI,2
LOOP COPY
MOV BX,0102H
MOV CX,0028H
PRINTF:    
    MOV DL,[BX]
    MOV AH,02H
    INT 21H
    ADD BX,2
LOOP PRINTF
MOV AH,1
INT 21H

MOV AH,4CH
INT 21H
RET

四、实验总结

这是微机系统综合实验的第一次试验,通过在emu8086上的模拟,我对8086汇编语言有了一定的了解,并且学会了各种寻址方式的基本用法和原理,8086指令系统以及如何用简单的汇编语言来编写一段简单的代码。通过一步步的调试运行,我知道了自己经常犯的错误和今后需要改进的地方,感觉本次实验对我意义很大。文章来源地址https://www.toymoban.com/news/detail-425581.html

到了这里,关于EMU8086使用及8086指令系统(微机原理实验)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【微机原理】汇编指令之算数运算类指令

    格式:ADD 目的操作数,源操作数 功能:目的操作数 + 源操作数 —目的操作数 例如:ADD AL,BL;  AL + BL — AL 寄存器中 格式:ADC 目的操作数,源操作数 功能:目的操作数 + 源操作数 + CF(进位标志位) —目的操作数 例如:MOV AL,0;     0 — AH       MOV AL,92H;  92H—AL    

    2024年02月03日
    浏览(40)
  • 【微机原理】汇编指令之位操作指令

    除了 NOT 指令不对符号位有影响, AND 、 OR 、 XOR 、 TEST 对符号标志为影响都一样 , 对 AF 无定义,都使 CF=0F=0 格式:AND dst,src 操作:dst — dst ^ SRC  AND指令可以将两个操作数的内容按位相“与”,并将结果保存在目标操作数中。 AND 指令常用于将操作数的 某些位清 0 ,而其余

    2024年02月03日
    浏览(46)
  • 微机原理 || push & pop 指令 (详解+例题)

    考试真的考了push和pop ,那个加减到底是什么? 考试要记:  PUSH 源    -2       字 操作(以字为单位)     例:   PUSH AL 错   必须 字 为单位   POP    源    +2       一定注意是十进制的2,注意和16进制单位转换 入栈和出栈的次序要符合后进先出原则,即: PUSH和POP一般是

    2024年02月06日
    浏览(42)
  • 全面的介绍——基于ARM的微机和基于8086的微机的代码层面的区别

    ARM 和 8086这两种架构有很多方面的区别,包括指令集、寻址模式、性能、功耗、市场等。 ARM 和 8086 属于不同的指令集类型。ARM 是一种精简指令集(RISC),它的指令数量较少,长度相同,执行速度较快,适合流水线操作。8086 是一种复杂指令集(CISC),它的指令数量较多,长

    2024年03月10日
    浏览(39)
  • 西电微机原理实验四 可编程并行接口实验

       1. 了解可编程并行接口8255的内部结构。   2. 掌握工作方式、初始化编程及应用。    1. 流水灯实验:利用8255的A口循环点亮发光二极管。   2. 在完成(1)基础上,增加通过读取开关控制流水灯的循环方向和循环方式。    8255是一个通用可编程并行接口电路。它具

    2024年02月05日
    浏览(59)
  • <微机原理>[汇编语言]-[实验八]矩阵键盘应用实验

    实验八 矩阵键盘应用实验.doc 掌握矩阵式键盘识别技术 进一步掌握数码管显示原理 Keil5 普中A2开发板 stc-isp 用单片机的并行口P1接矩阵键盘,在数码管上显示每个按键的“0—F”序号。对应的按键的序号排列如图所示: 使用EQU伪指令重新命名R0为KEY_VALUE方便代码后续的理解。

    2024年02月10日
    浏览(40)
  • <微机原理>[汇编语言]-[实验七]数码管动态显示实验

    实验一 软件开发环境和简单程序设计 实验二 I_O输入输出实验 实验三 键盘扫描显示实验 实验四 中断实验 实验五 定时器实验 实验六 串行口实验 实验七 数码管动态显示实验 实验八 矩阵键盘应用实验 实验九 电子时钟 微机原理实验课程,会陆续根据目录更新文章 掌握LED八段

    2024年02月07日
    浏览(39)
  • 微机原理:并行接口实验(7七段数码管显示)

    一. 实验要求         编写程序,使8255的A口为输入,B口为输出,通过拨动开关让7段数码管显示0~F。 二. 实验代码 三. 实验结果         如需要硬件连接图和详细的实验报告,请自行点击下面网址付积分查看。 微型计算机原理与接口技术并行接口仿真实验_proteus右击主控

    2024年02月05日
    浏览(71)
  • 实验五 键盘按键与数码管显示(汇编与微机原理)

    实验目的: 熟悉星研集成开发环境,掌握微机接口程序编写调试的基本方法。 掌握矩阵式键盘的工作原理及识别键盘按键的方法。 掌握8段数码管显示数字或字符的工作原理和它的使用方法。 掌握用8255扫描键盘及用8255刷新数码管显示的方法。 实验:       在(2行*8列)小

    2024年02月04日
    浏览(46)
  • 【汇编语言与微机原理】实验五:键盘按键与数码管显示

    熟悉星研集成开发环境,掌握微机接口程序编写调试的基本方法。 掌握矩阵式键盘工作原理及识别按键的方法。 掌握8段数码管显示数字或字符的工作原理和它的使用方法。 掌握用8255扫描键盘及用8255刷新数码管的显示方法。 在2*8(看 着像4*4,实际上是2*8 )的小键盘上按下

    2024年02月16日
    浏览(44)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包