实验一 80 86 指令使用实验目的通过实验掌握下列知识: 1、 8086 指令: MOV,ADD,ADC,SUB,SBB,DAA,XCHG 2、 DEBUG 命令: A,D,E,F,H,R,T,U 。 3、 BCD 码,ASCII 码及用十六进制数表示二进制码的方法。 4、 8086 寄存器: AX,BX,CX,DX,F,IP 。内容及步骤一、 DEBUG 命令使用 1 、键入 DEBUG 进入 DEBUG 控制状态, 显示提示符'-'。 2 、用命令 F100 10F 'A' 将'A' 的 ASCII 码填入内存。 3 、用命令 D100 10F 观察内存中的十六进制码及屏幕右边的 ASCII 字符。 4 、用命令 F110 11F 41 重复上二项实验, 观察结果并比较。 5、用命令 E100 30 31 32 …… 3F将 30H-3FH 写入地址为 100 开始的内存单元中, 再用 D 命令观察结果, 看键入的十六进制数是什么字符的 ASCII 码? 6 、用 H 命令检查下列各组十六进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758H,347FH 7、用R 命令检查各寄存器内容, 特别注意 AX,BX,CX,DX,IP 及标志位中 ZF,CF 和 AF 的内容。 8、用R 命令将 AX,BX 内容改写为 1050H 及 23A8H 。二、 8086 常用指令练习 1 、传送指令 1)用A 命令在内存 100H 处键入下列内容: -A 0100 ↙****:0100 MOV AX,1234 ↙****:0103 MOV BX,5678 ↙****:0106 XCHG AX,BX ↙****:0108 MOV AH,35 ↙****:010A MOV AL,48 ↙****:010D MOV DX,75AB ↙****:010F XCHG AX,DX ↙****:0111 ↙- 2)用U 命令检查键入的程序并记录, 特别注意左边的机器码。-U 0100 ↙ 3)用T 命令逐条运行这些指令, 每运行一行检查并记录有关寄存器及 IP 的变化情况。并注意标志位有无变化。-T=0100 ↙-T↙-T↙┇ 2 、加减法指令: 1)用A 命令在内存 100H 处键入下列内容: MOV AH,34 MOV AL,22 ADD AL,AH SUB AL,78 MOV CX,1284 MOV DX,5678 ADD CX,DX SUB CX,AX SUB CX,CX 2)用U 命令检查键入的程序及对应的机器码。 3)用T 命令逐条运行这些指令, 检查并记录有关寄存器及标志位的情况。 3 、带进位加减法: 1)用A 命令在内存 200H 处键入下列内容, 并用 U 命令检查: MOV AH,12 MOV AL,84 MOV CH,56 MOV CL,78 ADD AL,CL ADC AH,CH MOV DH,A7 MOV DL,58 SUB DL,7F SBB DH,34 2)用T 命令逐条运行这些指令, 检查并记录寄存器及 CF 内容。 3) 上面这段程序若改用 16 位操作指令达到同样结果, 怎么改? 试修改并运行之。将 al,cl,dl 分别改为 ax,cx,dx 。 4、 BCD 码加减法 1) 内容: MOV AL,58 ADD AL,25 DAA 2) 要求:用A 命令键入,U 命令检查,T 命令逐条运行并记录有关寄存器及 AF 内容。自编程序及运行结果: 实验二内存操作数及寻址方法实验目的通过实验掌握下列知识: 1、 DEBUG 命令:G,N,W,L 及Q。 2、 8086 系统中数据在内存中的存放方式和内存操作数的几种寻址方式。 3、 8086 指令:INC,DEC,LOOP,INT 3,INT 20H, 寄存器 SI,DI 。 4、 8086 汇编语言伪操作:BYTE PTR,WORD PTR 。 5、求累加和程序和多字节加减法程序。实验内容和步骤一、内存操作数及各种寻址方式使用程序内容: MOV AX,1234 MOV [1000],AX MOV BX,1002 MOV BYTE PTR[BX],20 MOV DL,39 INC BX MOV [BX],DL DEC DL MOV SI,3 MOV [BX+SI],DL MOV [BX+SI+1],DL MOV WORD PTR[BX+SI+2],2846 操作步骤 1)用A 命令键入上述程序, 并用 T 命令逐条运行。
实验一二三 来自淘豆网m.daumloan.com转载请标明出处.