王爽《汇编语言》检测点2.3答案及解析

本文讨论了在8086CPU中执行三条汇编指令mov ax, bx, sub ax, ax和jmp ax后,CPU如何修改IP寄存器的过程。详细解释了每条指令执行时IP的变化,并指出最后IP的值为0000H。内容涉及CPU读取和执行指令的步骤,以及 jmp 指令对IP的影响。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

复习时可以先不看答案,再把题目做一遍:

检测点2.3:

下面3条指令执行后,CPU修改几次IP?都是在什么时候?最后IP中的值是多少?

mov ax, bx
sub ax, ax
jmp ax

答案及解析:

 下面3条指令执行后,CPU修改几次IP?都是在什么时候?最后IP中的值是多少?

mov ax, bx
sub ax, ax
jmp ax

答:

共修改4次;

第一次变化,输入输出控制电路将mov ax, bx对应的机器指令送入指令缓冲器,IP中的值自动增加。

第二次变化,输入输出控制电路将sub ax, bx对应的机器指令送入指令缓冲器,IP中的值自动增加。

第三次变化,输入输出控制电路将jmp ax对应的机器指令送入指令缓冲器,IP中的值自动增加。

第四次变化,执行控制器执行第3条汇编指令对应的机器指令,指令指针寄存器IP中的数据变为寄存器ax中的数据。

最后IP中的值为0000H

注:

序号汇编指令含义
1mov ax, bx 将寄存器bx中的数据移动到寄存器ax中
2sub ax, ax 

将寄存器ax(前者)中的数据减去(substract v.j减去)寄存器ax(后者)中的数据 

执行完此条指令后,ax寄存器中的数据为0000H

3jmp ax修改指令指针寄存器IP中的数据为寄存器ax中的数据
  • 做题时应该反复揣摩2.10节的图展示的8086CUP读取、执行一条指令的过程和2.11节的问题2.3。
  • 读取一条指令后,IP中的值自动增加,以使CPU可以读取下一条指令
  • 可以修改CS、IP的指令:jmp指令,能够修改CS、IP的内容的指令被统称为转移指令。
汇编指令含义
jmp 段地址: 偏移地址用指令中给出的段地址修改CS,偏移地址修改IP
jmp 某一合法寄存器用寄存器中的值修改IP

总结:

1、2.10节中给出了8086CPU中读取和执行指令的相关部件:地址加法器、输入输出控制电路、指令缓冲器、执行控制器。

2、CPU读入指令存放在指令缓冲器内,暂不执行,这时候IP需要先改变(方便下条指令的读入),最后再执行(如果执行的是jmp指令,会导致IP再发生一次改变)。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值