下面的三条指令执行后,CPU几次修改IP?都是在什么时候?最后IP中的值是多少?
mov ax,bx
sub ax,ax
jmp ax
解析:
首先需要知道jmp是什么?
JMP是汇编语言中的无条件跳转指令。无条件跳转指令可转到内存中任何程序段。转移地址可在指令中给出,也可以在寄存器中给出,或在储存器中指出
jmp ax,段间转移,转移地址的偏移量由AX指出,而AX=0,那么IP=0
jmp是一个最简单的可以修改CS,IP的指令
答案:CPU读取mov ax,ax的时候,第一次修改IP
读取sub ax,ax的时候,第二次修改IP
读取jmp ax的时候,第三次修改IP
当执行jmp ax的时候,IP变为0,这是第4次修改
最后IP变为0