qq2358501140 发表于 2016-7-25 15:33:24

检测点10.4不理解

程序执行后,ax的值是多少?
内存地址               机器码                      汇编指令
1000:0                b8 06 00               mov ax,6
1000:2                  ff   d0                   call ax
1000 :5                  40                        inc ax
1000 :6                                                mov bp,sp
                                                               add ax,

把偏移地址5压栈后intc ax 还执行么

我曹河蟹 发表于 2016-7-25 18:15:02

不应该直接跳到第11行了么

1366627538 发表于 2016-7-27 21:08:29

当然是不执行了,call是跳转指令,它也附带有保存功能-入栈,ds没有设置一般是0,看了参考答案,默然sp的值是 fffe h 那么说 这里就是 栈区,正好代码区前是栈区,栈是从高到低,而call是段内短转移所以只用把ip入栈就OK 所以 fffe 地址就 5 也就是 ds:[ bp ]
页: [1]
查看完整版本: 检测点10.4不理解