主题:关于转子程序与返回指令
fanjw510
[专家分:110] 发布于 2006-10-12 10:02:00
在指令系统当中,转子程序指令与返回指令,两者如何理解?
回复列表 (共2个回复)
沙发
救世猪猪 [专家分:560] 发布于 2006-10-12 12:47:00
就相当于高级语言中的函数吧
调用子程序的时候,CS与IP都改变,指向子程序,当执行完之后,用ret指令,返回调用子程序的程序
你完全可以理解为不带参数的函数
高级宏汇编中,用到的宏可以理解为带参数的函数
板凳
liangdong007 [专家分:2840] 发布于 2006-10-12 22:14:00
为了更好的组织程序汇编加入了:Call和ret.它们要配套使用,Call的作用在于把当前程序执行语句的下一个语句的(DS):(DX)(这里分段内近调用和段间远调用)压入栈。并装入所调用者的地址。从而使程序转如执行所调用的函数。
ret 负责把栈中的地址弹出来,使函数返回到call语句的下一句执行。
我来回复