| 
 | 
 
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册  
 
x
 
题目 CPU几次修改IP,都是在什么时候,IP最后值为多少 
MOV AX,BX 
SUB AX,AX 
JMP AX 
 
MOV AX,BX           假如这条指令为x个字节。 
那么这条指令后IP指向的是 x个字节的长度,所以此时IP=x,指向的是下一条指令。(修改的第一次) 
 
SUB AX,AX             此时AX = AX - AX ,如果此条指令为y个字节。 
那么这条指令后IP指向的是x+y个字节的长度,所以此时IP= x+y,指向的是下一条指令。(修改的第二次) 
 
这里大家意义最大,我结合大家的作业题写出如下 
JUM AX                 此时AX = 0, 如果此条指令为z个字节。 
那么这条指令IP现在修改了一次,IP=x+y+z,但是没有执行下一条语句而是跳转指令,JUM AX (ax = 0) 指向IP=0的位置。 
 
IP总共修改了4次 
 
第一次MOV AX,BX   IP=x 
第二次SUB AX,AX    IP=x+y 
第三次jmp ax      因为有这条指令,已经创建了地址空间,所以IP此时为 x+y+z 
第四次jmp ax     因为要执行跳转,ax值为0 所以IP被强制改为0这个地址。 
 
IP最后值为0 
 
 |   
 
 
 
 |