实验一 8086指令使用
实验目的
通过实验掌握下列知识:
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 ↙ -
注:****为段寄存器CS的值,是由计算机生成的;↙为回车操作。 2)用U命令检查键入的程序并记录,特别注意左边的机器码。
-U 0100↙
3)用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。 -T=0100↙ -T↙ -T↙ ┇
2、加减法指令:
1)用A命令在内存100H处键入下列内容:
MOV MOV ADD SUB MOV MOV ADD SUB SUB
AH,34 AL,22 AL,AH AL,78 CX,1284 DX,5678 CX,DX CX,AX CX,CX
2)用U命令检查键入的程序及对应的机器码。
3)用T命令逐条运行这些指令,检查并记录有关寄存器及标志位的情况。
思考:这次运行还是键入T,行不行?怎么办?用R命令检查一下IP的内容。注意T命令与
IP的关系。
3、带进位加减法:
1)用A命令在内存200H处键入下列内容,并用U命令检查:
MOV MOV MOV MOV ADD ADC MOV MOV SUB SBB
AH,12 AL,84 CH,56 CL,78 AL,CL AH,CH DH,A7 DL,58 DL,7F DH,34
2)用T命令逐条运行这些指令,检查并记录寄存器及CF内容。
3)上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。 4、BCD码加减法 1)内容:
MOV ADD DAA
2)要求:用A命令键入,U命令检查,T命令逐条运行并记录有关寄存器及AF内容。
AL,58 AL,25
实验报告要求
1、十六进制数加减法手算结果及实验结果
2、8086常用指令练习部分的逐条运行记录,思考结果及自编程序运行记录(列出自编程序)。
附:动态调试器DEBUG 使用
1、键入 DEBUG 进入 DEBUG,显示提示符 '-'。 2、退出DEBUG命令:Q
3、显示内存命令:D 起始地址 结束地址
4、修改内存命令:E 起始地址,连续修改键入空格键,键入回车键退出E命令。 5、检查寄存器命令:R
6、修改寄存器命令:R 寄存器名
7、小汇编命令:A 起始地址,不输入指令键入回车键退出A命令。 8、反汇编命令:U 起始地址 结束地址 9、文件命名命令:N 盘号:文件名 10、读文件命令:L 内存地址 11、写文件命令:W 内存地址
10、读扇区命令:L 内存地址 盘号(0--A:,1--B:) 扇区号 扇区数 11、写扇区命令:W 内存地址 盘号 扇区号 扇区数 12、运行命令:G=起始地址 结束(断点)地址
13、单步命令:T=起始地址 运行指令数,进入子程序内部。 14、单步命令:P=起始地址 运行指令数,不进入子程序内部。 15、内存搬家命令:M 起始地址 结束地址 目的地址 16、十六进制数加法:H 数值 数值
表1 标志寄存器显示内容一览表
标志位显示 CF ZF SF AF OF PF DF IF
1 CY ZR NG AC OV PE DN EI 0 NC NZ PL NA NV PO UP DI 实验二 内存操作数及寻址方法
相关推荐: