鱼C论坛

 找回密码
 立即注册
查看: 1852|回复: 5

[汇编作业] 关于标号的问题

[复制链接]
发表于 2014-10-21 13:32:57 | 显示全部楼层 |阅读模式

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

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

x
1000:0        b80000    mov ax,0
1000:3        e80100    call s
1000:6        40           inc ax
1000:7        58           s:pop ax
为什么答案是6不是7 ,执行第一条指令的时候ax=0,执行第二条指令时push s入栈且指针指向7,执行4条指令的时候等价于MOV ax,s
。我想问的是此时标号s是等于7还是6.。。。。为什么?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2014-10-21 14:18:53 | 显示全部楼层
0x1. 这几条指令的意思不是酱紫理解的。
0x2. 执行call s,首先push ip(也就是push 6)再 jmp s。接着执行 pop ax,即将ip的值传给ax,此时ax=6
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-21 17:58:09 | 显示全部楼层
小靚同学Leon 发表于 2014-10-21 14:18
0x1. 这几条指令的意思不是酱紫理解的。
0x2. 执行call s,首先push ip(也就是push 6)再 jmp s。接着执 ...

谢谢,刚才尝试了一下。。。之前我一直以为标号的值是标号前的第一条指令的第一个地址。原来是第一条指令减1的一个地址。。。。。s:pop ax   一直以为s的地址是pop ax的首地址原来不是。。。。为什么不是第一条指令的首地址反而是减1后的地址。。。求解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2014-10-22 10:32:44 From FishC Mobile | 显示全部楼层
不懂你的意思
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2014-10-22 11:42:11 | 显示全部楼层
小靚同学Leon 发表于 2014-10-21 14:18
0x1. 这几条指令的意思不是酱紫理解的。
0x2. 执行call s,首先push ip(也就是push 6)再 jmp s。接着执 ...

call s  能不能这样理解。。。。执行call s后ip跳到下一条指令也就是等于6,接着push ip再jmp s。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

头像被屏蔽
发表于 2014-10-30 19:32:45 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-28 21:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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