鱼C论坛

 找回密码
 立即注册
查看: 2437|回复: 1

实验10第一题

[复制链接]
发表于 2012-1-6 21:34:08 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
程序返回前为什么将si cx出栈 好像跟程序没有什么关系?因为一返回程序就退出了!
求解?

ok:     pop si
        pop cx

        ret  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-1-7 00:13:26 | 显示全部楼层
因为当执行call指令后会将下一个指令也就是mov ax,4c00h的IP地址入栈,然后他他在子程序中执行了 push  cx  和push si  两条指令现在sp指向的是push si这条指令的低字节,而ret指令时从栈中读取偏移地址然后跳到那个偏移地址如果不si  和cx出栈的话,那ret指令执行后IP=SI那就不是mov ax,4c00h处了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-11-19 16:26

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表