31

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

指令序列:
mov ax, bx 读取这个指令进入指令缓冲器后第一次修改IP,IP = IP + 2; 执行后 ax = bx;
sub ax, ax 读取这个指令进入指令缓冲器后第二次修改IP,IP = IP + 2; 执行后 ax = 0000H;
jmp ax 读取这个指令进入指令缓冲器后第三次修改IP, IP = IP + 2; 指令执行后第四次修改IP,IP = 0000H;

IP加2是因为ax是16位寄存器,16位=2字节。

<!-- JiaThis Button BEGIN --> <style type="text/css"> #ckepop a:hover { color:red; background-color:#0063DC; } </style> <div id="ckepop"> <a href="http://www.jiathis.com/share/" class="jiathis_txt" target="_blank">分享到:</a> <a class="jiathis_button_tqq">腾讯微博</a> <a class="jiathis_button_tsina">新浪微博</a> <a class="jiathis_button_qzone">QQ空间</a> <a class="jiathis_button_hi">百度空间</a> <a class="jiathis_button_kaixin001">开心网</a> <a class="jiathis_button_renren">人人网</a> <a class="jiathis_button_xiaoyou">QQ校友</a> <a href="http://www.jiathis.com/share/?uid=89488" class="jiathis jiathis_txt jtico jtico_jiathis" target="_blank">更多...</a> </div> <script type="text/javascript" src="http://v2.jiathis.com/code/jia.js?uid=89488" charset="utf-8"></script> <!-- JiaThis Button END -->

Leave a Reply