汇编语言 -- 04

 

             某论坛一帖"谁能给我和我爷爷的这组照片来副对联?",本来照片没什么的,楼主自己挡太阳时拍的一张照片,和给他遛鸟的爷爷拍的一张背影图,给无聊的她放在一起,来让人出对联帖,底下有不少回复,但这个回复太有才了!" 少女怕日以手遮阴,老汉爱鸟用套护阳!"

               正文:

              CS(代码段寄存器)、IP(指令指针寄存器)  指示了CPU当前要读取指令的地址,  假设CS中内容为M,IP中内容为N,则CPU从内存 M*16 + N 开始读取指令并执行.

              CPU将CS:IP指向的内存单元中的内容看作指令.能够用指令读写的部件都是寄存器. 通过jmp指令修改它们的值,例如: jmp 2345:0 或 jmp ax 单独修改IP为ax中的内容.

              代码段:长度为N(N<=64KB),一组地址连续、起始地址为16的倍数的内存单元.

               8086CPU的工作过程:

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

                    2.IP指向下一条指令;

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

              检测点 2.3:

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

                      mov ax,bx

                      sub ax,ax

                      jmp ax

                     an: 每条指令的执行,IP中的值都会增长指令长度个单元.jmp指令会修改IP的值为ax寄存器中的值,因此这三条指令会四次修改IP;CPU将指令读取到指令缓冲器时修改IP的值,最后一次指令执行后修改; sub 指令为减法运算,最终IP中的值为ax,而sub指令后ax中的值为 0000H.

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值