7.29 王爽汇编语言(二十六)
中间笔记
call 指令不能实现短转移;短转移修改 IP 的范围为 -128 ~ 127,所以我可以理解为修改 IP 的范围不能小于这个 范围吗?对的,因为 call 标号等价于 push IP 然后 jmp near ptr 标号(这里即近转移)
检测点 10.2
题目:下面的程序执行后,ax 中的数值为多少?
内存地址 机器码 汇编指令
1000:0 b8 00 00 mov ax, 0
1000:3 e8 01 00 call s
1000:6 40 inc ax
1000:7 58 s:pop ax
解析:call s 相当于将当前 IP 压入栈中,然后跳转到 s 处执行, ax 即当前 IP 的内容,当前 IP 是 6(指向下一条指令的偏移地址),所以 ax 为 6;
总结
~