汇编检测点2.3
下面3 条指令执行后,CPU几次修改IP?都是在什么时候,最后IP中的值是多少?MOV AX,BX
SUBAX,AX
JMP AX
我可以这样理解吗:
因为没有规定IP的值,所以IP的值是0;
第一步:IP+2=2H;
第二步:IP+2=4H;
第三步:IP+2=6H;
为什么答案中还有个第四步!
希望前辈们能给予解答,谢谢! 就像 movsub指令一样
jmp 这条指令也要修改 ip
但jmp指令比较特殊,他本身就要修改ip
也就是说jmp 2次修改ip 人造人 发表于 2016-1-26 16:33
就像 movsub指令一样
jmp 这条指令也要修改 ip
但jmp指令比较特殊,他本身就要修改ip
好像也不能说是2次修改,第一次修改ip 和mov sub 一样,是cpu把当前的指令送入指令缓冲器
后自动增加的ip
参考教材28页 第一个问题就是为什么是修改了4次。
如果 将Jmp指令修改为 mov或者sub一类不影响Ip值的,就只会修改3次。但是这里jmp指令是会修改ip地址。所以修改了4次、
ip最后为0,是因为Jmp ax 等价于 ip=ax 而前面有一个指令时sub ax,ax 所以ax为0所以ip=0 晕晕糊糊的好像有点明白,谢谢大家!{:10_281:} 人造人 发表于 2016-1-26 16:39
好像也不能说是2次修改,第一次修改ip 和mov sub 一样,是cpu把当前的指令送入指令缓冲器
后自动增加的i ...
谢谢,让您费心了! 康小泡 发表于 2016-1-26 19:39
第一个问题就是为什么是修改了4次。
如果 将Jmp指令修改为 mov或者sub一类不影响Ip值的,就只会修改3次 ...
谢谢!让您费心了! 大叔学编程 发表于 2016-1-27 10:16
谢谢!让您费心了!
没事没事。客气了。互相帮助
页:
[1]