鱼C论坛

 找回密码
 立即注册
查看: 5281|回复: 10

[汇编作业] 检测点10.2

[复制链接]
发表于 2015-7-14 20:50:18 | 显示全部楼层 |阅读模式

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

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

x
下面的程序执行后,ax中的数值为多少?

内存地址    机器码      汇编指令     执行后情况

1000:0     b8 00 00     mov ax,0     ax=0 ip指向1000:3

1000:3     e8 01 00     call s       pop ip ip指向1000:7

1000:6     40           inc ax

1000:7     58         s:pop ax


可是 到s 的时候 IP 不是等于7吗 所以ax应该等于7才对啊 为什么是6呢 求高手
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-7-15 00:31:14 | 显示全部楼层
还没学到:funk:
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2015-7-15 07:27:32 | 显示全部楼层
执行CALL指令 时将 IP 压入栈中 ,在call 到标号
相当于   push ip    jmp short 标号   所以就把6 压入栈中了, 为什么是6呢, 因为要翻书,这些太基础了,一至于我 都 没记住,只需要 知道 执行call的  时候会把 下一句的  IP 压入栈中就好了,  因为下面你还有RET回来,
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2015-7-15 19:56:45 | 显示全部楼层
想赚分真难 还得回复
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 0 反对 1

使用道具 举报

发表于 2015-7-15 22:29:06 | 显示全部楼层
查看全部内容
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2016-4-25 09:24:39 | 显示全部楼层
首先cpu读取到“call s”的指令信息,并将其放在指令缓冲器中等待执行,但是在执行该指令之前,就已经把IP加了3了,也就是“IP=IP+3=3+3=6”(这步书上第二章有详细解释),所以在执行“call s”时IP=6。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2017-11-27 01:08:23 | 显示全部楼层
哇,楼上是正解.居然跨年
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-6-9 00:26:04 | 显示全部楼层
call不是把要跳转到位置的ip(7)压入栈中
是把执行完call命名按顺序应当到的位置的ip(inc ax 的开始6)压入栈中
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-9-26 17:33:36 | 显示全部楼层
事实上,当指令缓存器读取call s时,ip = ip +3 =6了,然后执行call s会将 ip 的值入栈,在跳转到s后,pop ax指令将栈中存储的IP值赋给AX,而此时程序往下执行结束,所以ax=6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 1 反对 0

使用道具 举报

发表于 2020-2-24 11:52:46 | 显示全部楼层
666666666666666  我还以为是2  哈哈哈·答错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-5-30 23:38:38 | 显示全部楼层
CHAOZHANG283 发表于 2018-9-26 17:33
事实上,当指令缓存器读取call s时,ip = ip +3 =6了,然后执行call s会将 ip 的值入栈,在跳转到s后,pop  ...

感谢,有用!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-4-19 16:27

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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