randytian 发表于 2013-7-5 08:28:51

关于监测点10.2

在执行call语句后,不是直接跳到1000:7执行吗,可是ax为什么会是6呢,那个inc ax 指令是怎么执行的呢,求解

Dardy 发表于 2013-7-6 22:50:09

估计是这种情况。执行call s时,在跳转到S处之前,得把call s的下一句偏移地址入栈(以便将来返回),他的下句为inc AX,偏移地址为6.后来把栈里的值pop到AX,AX当然就是6了。

inc ax,是ax自加1.

考点,call的一个隐含操作,push.
劝你把书从头开始看,步子迈大了,容易扯着蛋——葛优

1748484103 发表于 2023-3-6 22:42:59

注意了这里可没有ret指令,也就是说不执行inc ax。除非他在后面再加一个ret
{:10_256:}
页: [1]
查看完整版本: 关于监测点10.2