鱼C论坛

 找回密码
 立即注册
查看: 2829|回复: 7

实验3题目的问题 求各位大大help

[复制链接]
发表于 2011-11-19 16:17:41 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 ling7 于 2011-11-19 21:29 编辑

                                        //ax        bx        cx        dx        sp        ds        es        ss        cs        ip        栈中数据:        A        B        C        D        E        F
        mov ax,2000H        //2000        0        16        0        0        b97        b97        ba7        ba7        3        
        mov ss,ax                //                                                                2000        6
        mov sp,0                //                                                                                8
        add sp,10                //                                        A                                        B                                97        0B        06        32        0B        00
        pop ax                        //0B97                                C                                        C                                94        05        06        32        0B        00
        pop bx                        //                3206                E                                        D                                A7        0B        94        05        0B        00
        push ax                        //                                        C                                        E                                94        05        97        0B        0B        00
        push bx                        //                                        A                                        F                                06        32        97        0B        0B        00
        pop ax                        //3206                                C                                        10                                94        05        97        0B        0B        00
        pop bx                        //                0B97                E                                        11                                A7        0B        94        05        0B        00
        
        mov ax,4c00H        //4C00                                                                        14
        int 21H                        //
我push 数据进去  然后pop出来后  那个内存地址的数据就发生了改变
是不是它被系统拿去用在别的地方了哦?
那是不是说。。栈空间存储数据进去  然后拿出来  只能一次性使用。。
如果不是的话。。 那我
ax=1 bx=2  push ax  push bx  
pop ax pop bx ax=2 bx=1
这段内存空间被释放掉。  系统拿去存别的内存
然后我再pop ax  pop bx的时候  就不再是 原来的 1 和2了呀。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-19 16:18:41 | 显示全部楼层
额   粘贴之后数据格式改变了。。 如果看起来很蛋疼的话  麻烦弄到txt文件。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-19 16:19:12 | 显示全部楼层
上班去了。  晚上回来看看有木有人帮忙。。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-19 16:49:58 | 显示全部楼层
push之后栈空间增2,栈顶sp=sp-2;
pop之后栈空间缩2,栈顶sp=sp+2;原来的2个内存单元被释放,系统可以使用。
你最后那句话:
“ax=1 bx=2  push ax  push bx  
pop ax pop bx ax=2 bx=2
这段内存空间被释放掉。  系统拿去存别的内存
然后我再pop ax  pop bx的时候  就不再是 原来的 1 和2了呀。。”
第一次pop的时候pop bx,bx应该是1;
你再pop ax ,pop bx的时候和之前的1.2没有关系了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-19 17:39:19 | 显示全部楼层
这格式,头痛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-19 22:07:28 | 显示全部楼层
额 下午发帖的时候 ax=1 bx=2  push ax  push bx  
pop ax pop bx ax=2 bx=2
这段东西打错了  现在改回来。。
栈的理论 和pop  push  书上写的 我知道。。
但是我想知道的是  我pop ax和popbx之间 并没有  任何 push  和  mov操作吧。  
为什么SS:A的数据会从0594变成0BA7捏?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2011-11-20 10:52:51 | 显示全部楼层
自己顶。。 求解
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-11-21 04:08:39 | 显示全部楼层
你说的SS:A,A是什么。你自己把一楼的格式改改吧,没人愿意去看这么乱的。
你如果弄清楚的话,就该知道在pop操作后原先的栈顶空间被释放,系统可以用这段内存空间的。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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