实验三 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

  1. :(注:左边结果是相加结果 右边是相减结果)

以上结果均和手算结果相同。

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键入内容

  1. 用U命令检查键入的程序并记录,特别注意左边的机器码。

图5-20 U命令检查键入的程序

  1. 用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处键入上列内容

  1. 用U命令检查键入的程序及对应的机器码。

图5-28 U命令检查键入的程序及对应的机器码

  1. 用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

  1. 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

  1. 上面这段程序若改用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

  • 16
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

cwn_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值