实验三 Debug及指令测试 | 您所在的位置:网站首页 › 汇编减法指令怎么看cmd的实验结果 › 实验三 Debug及指令测试 |
关于为啥用的手写水印 因为被查重到后是0分 希望大家可以认真去操作实践以下 不要直接拿原图啊啊啊啊啊啊啊啊
五、实验步骤 一、DOS常用命令练习: 1、使用dir查看文件列表 输入dir: 图5-1 输入dir 回车后结果: 图5-2 输入dir回车后结果 2、用命令 COPY DEBUG.exe BUG 复制一个文件。 图5-3 复制文件 3、用命令 RENAME BUG BG 将BUG 文件改为BG。 图5-4 将BUG文件名改为BG 4、用命令 DEL BG 将文件BG删除。 在操作时要注意提示信息,并按提示操作。 文件已被删除: 图5-5 文件列表已经无BG文件 二、DEBUG 命令使用: 1、打 DEBUG 进入 DEBUG 控制,提示苻 '_ '。 图5-6 进入DEBUG控制 2、用命令 F100 10F 'A' 将'A'的ASCII码填入内存。 图5-7 将'A'的ASCII码填入内存 3、用命令 D100 10F 观察内存中的16进制码及屏幕右边的ASCII字符。 图5-8 命令 D100 10F执行后结果 5、用命令 F110 11F 41 重复上二项实验,观察结果并比较。 用命令 D110 11F 观察内存中的16进制码及屏幕右边的ASCII字符: 图5-9 命令D110 11F 用命令 F110 11F 41 重复上二项实验: 图5-10 命令F110 11F 41 发现内存中的16进制码变为41,屏幕右边的ASCII字符变为A。 5、用命令 E100 30 31 32 …… 3F将30H-3FH写入地址为100开始的内存单元中,再用D命令观察结果,看键入的16进制数是什么字符的ASCII码? 答:键入的 16 进制数是 ASCII 码中的数字和一些特殊字符:0123456789:;? 图5-11 命令 E100 30 31 32 …… 3F 6、用H命令检查下列各组16进制数加减结果并和你的手算结果比较: (1)34H,22H (2)56H,78H (3)A5,79H (4)1284H,5678H (5)A758,347FH :(注:左边结果是相加结果 右边是相减结果)以上结果均和手算结果相同。 7、用R 命令检查各寄存器内容,特别注意AX,BX,CX,DX,IP及标志位中ZF,CF 和AF的内容。 AX=0000,BX=0000,CX=0000,DX=0000,IP=0100; ZF=0,CF= 0,AF=0; 图5-17 R 命令检查各寄存器内容 8、用R命令将AX,BX内容改写为1050H及23A8H。 图5-18 R命令更改AX,BX内容 三、8086常用指令练习 1、传送指令 1)用A命令在内存100H处键入下列内容: MOV AX,1234 MOV BX,5678 XCHG AX,BX MOV AH,35 MOV AL,48 MOV DX,75AB XCHG AX,DX 图5-19 A命令在内存100H键入内容 用U命令检查键入的程序并记录,特别注意左边的机器码。![]() 图5-20 U命令检查键入的程序 用T命令逐条运行这些指令,每运行一行检查并记录有关寄存器及IP的变化情况。并注意标志位有无变化。MOV AX,1234: AX变为1234 IP变为0103 标志位无变化 图5-21 MOV AX,1234 MOV BX,5678:(因为下面的就是输入进去 截图 我就不放图了) BX变为5678 IP变为0106 标志位无变化 图5-22 MOV BX,5678 XCHG AX,BX: AX变为5678,BX变为1234, IP变为0107,标志位无变化 图5-23 XCHG AX,BX MOV AH,35: AX变为3578,IP变为0109,标志位无变化 图5-23 MOV AH,35 MOV AL,48: AX变为3548,IP变为010B,标志位无变化 图5-24 MOV AL,48 MOV DX,75AB: DX变为75AB,IP变为010E,标志位无变化 图 5-25 MOV DX,75AB XCHG AX,DX: AX变为75AB,DX变为3548,IP变为010F,标志位无变化 图5-26 XCHG AX,DX 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 图5-27 A命令在内存100H处键入上列内容 用U命令检查键入的程序及对应的机器码。图5-28 U命令检查键入的程序及对应的机器码 用T命令逐条运行这些指令,检查并记录有关寄存器及ZF情况。MOV AH,34: AX = 34AB ,ZF = 0,IP=0102 图5-29 MOV AH,34 MOV AL,22: AX = 3422 ,ZF = 0,IP=0104 图5-30 MOV AL,22 ADD AL,AH: AX=3456, IP = 0106 ,ZF = 0 图5-31 ADD AL,AH SUB AL,78: AX=34DE,IP=0108,ZF=0 图5-32 SUB AL,78 MOV CX,1284: CX=1284,IP=010B,ZF=0 图5-33 MOV CX,1284 MOV DX,5678: DX=5678,IP=010E,ZF=0 图5-34 MOV DX,5678 ADD CX,DX: CX=68FC,IP=0110,ZF=0 图5-35 ADD CX,DX SUB CX,AX: CX=341E,IP=0112,ZF=0 图5-36 SUB CX,AX SUB CX,CX: CX=0000,IP=0114,ZF=1 图5-37 SUB CX,CX 36252222222图5-38 用R命令检查一下IP的内容 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 图5-39 用A命令在内存200H处键入上列内容 图5-40 U200 用T命令逐条运行这些指令,检查并记录有寄存器及CF内容。MOV AH,12: AX=12DE ,CF=0 图5-41 MOV AH,12 MOV AL,84: AX=1284,CF=0 图5-42 MOV AL,84 MOV CH,56: CX=5600,CF=0 图5-43 MOV CH,56 MOV CL,78: CX=5678,CF=0 图5-44 MOV CL,78 ADD AL,CL: AX=12FC,CF=0 图5-45 ADD AL,CL ADC AH,CH: AX=68FC,CF=0 图5-46 ADC AH,CH MOV DH,A7: DX=A778,CF=0 图5-47 MOV DH,A7 MOV DL,58: DX=A758,CF=0 图5-48 MOV DL,58 SUB DL,7F: DX=A7D9 ,CF=1 图5-49 SUB DL,7F SBB DH,34: DX=72D9,CF=0 图5-50 SBB DH,34 上面这段程序若改用16位操作指令达到同样结果,怎么改?试修改并运行之。修改后程序: MOV AX,0012 MOV AL,84 MOV CX,0056 MOV BH,78 ADD [SI],CL ADC CX,CX MOV DX,A7 MOV DL,58 SUB DX,7F01 SBB DX,34 图5-51 修改后程序 图5-52 运行结果 4、BCD码加减法 1)内容: MOV AL,58 ADD AL,25 DAA 2)要求:用A 命令键入,U命令检查,T命令逐条运行并记录有关寄存器及Flags内容。 图5-53 A命令键入 图5-54 U命令检查 MOV AL,58: AX=0058,Flags无变化 图5-55 MOV AL,58 ADD AL,25: AX=007D,PF = 1 图5-56 ADD AL,25 DAA: AX=0083,SF = 1,AF=1,PF=0 图5-57 DAA |
CopyRight 2018-2019 实验室设备网 版权所有 |