汇编语言检测点10.2
建议先自己思考问题的答案,不懂则返回看书
下面的程序执行后,ax中的数值是 6,要搞清楚如果是跳转指令,什么时候修改IP的值。
学过计算机组成原理的肯定知道,指令读取后,IP值自动加1(这儿的1是指下一条指令,不是指下一个字节),指向下一条指令,如果经CU分析后是跳转指令,则再修改IP的值。这两者原理是一样
1000:0 mov ax,0 ;读取此条指令后IP=3 ,执行完该指令后IP=3
1000:3 call s ;读取此条指令后IP=6 ,所以IP=6入栈,执行完该指令后IP=7,跳转到s处
1000:6 inc ax
1000:7 s:pop ax ;所以POP后,ax=6