汇编语言(第四版)检测点2.3 习题解答

检测点2.3

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

        mov ax,bx

        sub ax,ax

        jmp ax

(1)CPU修改4次IP

(2)在读取 mov ax,bx 指令后,IP修改一次

         在读取 sub ax,ax 指令后,IP修改一次

         在读取 jmp ax 指令后,IP修改一次

         由于 jmp ax 指令用于修改寄存器IP的值,故IP会在指令执行时再修改一次

(3)第二条指令 sub ax,ax 用于将寄存器置零,ax的值会变为 0000

         故在第三条指令执行时,IP的值会被修改为 0000

注:“jmp 某一合法寄存器“ 指令的功能为:用寄存器中的值修改IP

        IP修改前后的工作流程:

        1、从CS:IP指向的内存单元读取指令,读取的指令进入指令缓冲器

        2、IP指向下一条指令

        3、执行指令(转到步骤1,重复这个过程)

        因此,IP值的修改,应该在指令执行前就完成了

  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值