eminemjjk 发表于 2012-2-9 23:13:35

监测点2.3

监测点2.3--详细解答-《汇编语言》-课后题

   mov不是不改变ip的值吗?怎么是4次呢?

疾风飘流 发表于 2012-2-9 23:13:36

eminemjjk 发表于 2012-2-10 16:09 static/image/common/back.gif
我是新手,再问下啊。但是,不是3次吗?还有啊,为什么最好ip是0,不太懂

设计到2.10中8086PC读取和执行指令的变换,经过图示可以看出,输入输出控制电路先将MOV的数据放到内存中,这时IP已经改变,然后又将内存中的指令提出来,经过执行控制器进行执行,这样IP又发生变化,所以是变化四次。而为什么是0则是因为sub ax,ax 意思为ax=ax-ax结果为0即ax=0,那么jmp ax的意思就是把ax的数值输入到ip中,所以最后ip为0.

ㄓ国Ψ—小八 发表于 2012-2-9 23:41:32

mov是不改变,但CPU将mov指令读入指令缓冲器后,会自动将ip+3,然后才执行刚才放在指令缓冲器中的mov指令;CPU每读取一段指令后,都会自动增加ip值

eminemjjk 发表于 2012-2-10 16:05:31

ㄓ国Ψ—小八 发表于 2012-2-9 23:41 static/image/common/back.gif
mov是不改变,但CPU将mov指令读入指令缓冲器后,会自动将ip+3,然后才执行刚才放在指令缓冲器中的mov指令; ...

谢谢啊{:1_1:}

eminemjjk 发表于 2012-2-10 16:09:19

ㄓ国Ψ—小八 发表于 2012-2-9 23:41 static/image/common/back.gif
mov是不改变,但CPU将mov指令读入指令缓冲器后,会自动将ip+3,然后才执行刚才放在指令缓冲器中的mov指令; ...

我是新手,再问下啊。但是,不是3次吗?还有啊,为什么最好ip是0,不太懂

eminemjjk 发表于 2012-2-10 22:27:42

疾风飘流 发表于 2012-2-10 16:38 static/image/common/back.gif
设计到2.10中8086PC读取和执行指令的变换,经过图示可以看出,输入输出控制电路先将MOV的数据放到内存中, ...

太感谢了:hug:

非同凡想 发表于 2012-2-12 01:01:28

mov本身不会改变,但执行指令后会改变IP的值,以便于cpu执行下一条指令,否则如果执行本条指令后IP不变化,结果可想而知……就像刘能讲话一样,一 一 一了半天,二都出不来了,想想看……?{:1_1:}
页: [1]
查看完整版本: 监测点2.3