鱼C论坛

 找回密码
 立即注册
查看: 1654|回复: 4

把栈中数据逆序怎么会这样

[复制链接]
发表于 2013-4-9 15:53:06 | 显示全部楼层 |阅读模式

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

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

x
codesg segment
                dw 0123h,0456h,0789h,0defh,0cbah,0987h
                dw 0,0,0,0,0,0,0,0,
        
start:        mov ax,cs
                mov ss,ax
                mov sp,32
                mov bx,0
                mov cx,8
        s:        push cs:[bx]
                add bx,2
                loop s
        
                mov bx,0
                mov cx,8
        s0:        pop cs:[bx]
                add bx,2
                loop s0
                mov ax,4c00h
                int 21h
codesg ends
end start
这个是照着视屏打的,跟视频改了几次,应该没打错,但是我debug的时候感觉很奇怪
huibian.jpg
这个是之前的
hou.png
这个是运行到最后用d命令出来的
为什么会这样
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-4-10 08:18:00 | 显示全部楼层
逆序存放,数据出来的就是逆的。
无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-4-10 20:22:59 | 显示全部楼层

奇怪的是原本为0的位置变成了其他的数,还有用来当栈的地址上的数也变成了其他的数,而不是原来放进栈中的数,这些代码中貌似没有对这地址放入其他的数为什么还会这样??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2013-4-10 21:19:36 | 显示全部楼层
虚拟的8086模式,有数据应该是正常的,我认为是这样的
无回帖,不论坛,这才是人道。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2013-4-10 22:24:08 | 显示全部楼层
思来想去 发表于 2013-4-10 21:19
虚拟的8086模式,有数据应该是正常的,我认为是这样的
无回帖,不论坛,这才是人道。

由0变成其他数字,栈中,原本入栈的数字在出栈后该栈中的内容发生改变.....
那么......推论:进行栈操作的时候会对该地址空间的内容进行改变?
                  还是,有其他程序的操作对这些空间进行了改变??
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-10-7 20:36

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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