鱼C论坛

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

实验3

[复制链接]
发表于 2011-7-6 22:53:03 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 再生缘 于 2011-7-7 13:14 编辑

各位 我又来了  这题令我挺纠结的
ssume cs:abc

abc segment

mov ax,2000H
mov ss,ax
mov sp,0
add sp,10
pop ax
pop bx
push ax
push bx
pop ax
pop bx

mov ax,4c00H
int 21H

abc ends

end

pop ax
ax的值是指2000H吗  那下面的  pop  bx   bx的值呢

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-7 10:43:06 | 显示全部楼层
如果这条指令是push ax,那ax才是2000H
pop ax,那ax的值就是sp指向位置的值了

评分

参与人数 1鱼币 +2 收起 理由
loop + 2 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-7 11:50:48 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-7 11:51:59 | 显示全部楼层
winddyj 发表于 2011-7-7 10:43
如果这条指令是push ax,那ax才是2000H
pop ax,那ax的值就是sp指向位置的值了

那个你能告诉我sp指向的值是多少吗 或者从看出ax的值
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-7 12:54:23 | 显示全部楼层
再生缘 发表于 2011-7-7 11:51
那个你能告诉我sp指向的值是多少吗 或者从看出ax的值

取出当前栈顶 2000:10 地址字单元中的值放入ax中,
然后sp = sp + 2

自己debug一下就明白了!

评分

参与人数 1鱼币 +1 收起 理由
loop + 1 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-7 13:01:17 | 显示全部楼层
demon 发表于 2011-7-7 12:54
取出当前栈顶 2000:10 地址字单元中的值放入ax中,
然后sp = sp + 2

算是明白了  接下来就差动手查看了
是用d  ss:10  查看的吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-7 13:03:57 | 显示全部楼层
pop ax 将栈中的值弹出传给ax, 这时候栈顶指向2000:10,也就是将内存单元[20010]中的字型数据给ax。

pop bx 将栈中的值弹出传给bx, 这时候栈顶指向2000:12,也就是将内存单元[20012]中的字型数据给bx。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-7 13:09:54 | 显示全部楼层
用t命令 执行,观察寄存器的变化,留意sp寄存器的变化

d命令是查看内存中的数据,我做这个实验的时候,里面没有值,系统环境不同数据也有所变化
你可以用e命令 往这段空间里写点数据


评分

参与人数 1鱼币 +1 收起 理由
loop + 1 赞一个!

查看全部评分

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-7-7 13:13:53 | 显示全部楼层
问题解决了 各位请勿回复了  谢谢
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-7 13:15:03 | 显示全部楼层
本帖最后由 demon 于 2011-7-7 13:15 编辑

d 2000:a f

d  ss:a f
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-7-9 22:27:29 | 显示全部楼层
这些知识书上和视频里面都有的啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 00:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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