鱼C论坛

 找回密码
 立即注册
查看: 5257|回复: 6

王爽汇编检查点2.3,求详解

[复制链接]
发表于 2013-2-25 09:14:35 | 显示全部楼层 |阅读模式
2鱼币
下面的3条指令执行后,cpu几次修改IP?都是在什么时候?最后IP中的值是多少?  

mov ax,bx  

sub ax,ax  

jmp ax  



答:一共修改四次

第一次:读取mov ax,bx之后  

第二次:读取sub ax,ax之后  

第三次:读取jmp ax之后  

第四次:执行jmp ax修改IP  

最后IP的值为0000H,因为最后ax中的值为0000H,所以IP中的值也为0000H  

最佳答案

查看完整内容

sub ax,ax 这个语句的意思是ax = ax - ax (ax和ax相减,结果存储在ax中), 所以ax的值就是 0, jmp ax,就是跳转到ax寄存器所储存的值为ip的地方
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-2-25 09:14:36 | 显示全部楼层
sub ax,ax  这个语句的意思是ax = ax - ax  (ax和ax相减,结果存储在ax中), 所以ax的值就是 0,
jmp ax,就是跳转到ax寄存器所储存的值为ip的地方
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-2-25 10:27:58 | 显示全部楼层
执行指令的时候,IP的变化是 :先改变IP的值,指向下一个语句,然后执行指令,也就是说,每执行一条指令,IP的值至少改变一次。这个程序的前两条指令,改变了2次的值,第三条改变了2次ip的值,至于改变的时刻,楼主的的答案已经有显示了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-2-25 19:51:56 | 显示全部楼层

最后 IP的值位0000H,是因为最后ax的值为0000H,这个0000H怎么来的,题目里也没有说ax的值啊,在解释一下,谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-2-25 20:11:19 | 显示全部楼层
惜今怀远 发表于 2013-2-25 19:51
最后 IP的值位0000H,是因为最后ax的值为0000H,这个0000H怎么来的,题目里也没有说ax的值啊,在解释一下 ...

明白了,谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-3-8 22:56:47 | 显示全部楼层
仔细看视频,指令在指令缓冲器中时(也就是指令还未执行时),偏移地址就开始改变了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2013-3-10 21:27:26 | 显示全部楼层
想学IT 发表于 2013-3-8 22:56
仔细看视频,指令在指令缓冲器中时(也就是指令还未执行时),偏移地址就开始改变了

enen,谢谢了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-10-7 22:18

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表