鱼C论坛

 找回密码
 立即注册
查看: 2962|回复: 8

第六章 包含多个段的程序_利用栈逆序存放数据_测试出现乱码

[复制链接]
发表于 2018-1-28 10:39:04 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 zy8818 于 2018-1-28 21:50 编辑

assume cs:codesg
codesg segment
        dw 0123h,0456h,0789h,0abch,0defh,0fedh,0bah,0987h
        dw 0,0,0,0,0,0,0,0
start: mov ax,cs
        mov ss,ax
        mov sp,20h

        mov bx,0
        mov cx,8
s:        push cs:[bx]
        add bx,2
        loop s

        mov bx,0
        mov cx,8
s1:        pop cs:[bx]
        add bx,2
        loop s1

        mov ax,4c00h
        int 21h
codesg ends
end start
图片1.png 图片2.png 图片3.png 图片4.png
执行了mov ss,ax之后栈数据出现乱码
图片5.png
执行到mov ax,4c00h时结果也是不正常的
不知道是哪里出错了,这个是在xp 虚拟机里面跑的,谁知道错在哪里,指点一下,感激不尽,卡壳了……静静等候佳音
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2018-1-28 11:42:21 | 显示全部楼层
本帖最后由 cnkizy 于 2018-1-28 13:40 编辑

涉及代码的部分  贴代码不要贴图片 QQ图片20180128124844.jpg


你想表达的是 修改了 ss 段寄存器后 ,有部分数据被改写了,对吧。虽然不影响运行结果,但是你不知道咋回事 QQ截图20180128133938.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-28 13:41:15 | 显示全部楼层
cnkizy 发表于 2018-1-28 11:42
涉及代码的部分  贴代码不要贴图片

你这口气跟人造人一样了,哈哈哈哈哈哈哈!
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-28 13:50:53 | 显示全部楼层
兰陵月 发表于 2018-1-28 13:41
你这口气跟人造人一样了,哈哈哈哈哈哈哈!

^_^
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-28 13:51:43 | 显示全部楼层
兰陵月 发表于 2018-1-28 13:41
你这口气跟人造人一样了,哈哈哈哈哈哈哈!

方便调试嘛
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-28 14:05:10 | 显示全部楼层
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-28 14:17:09 | 显示全部楼层
assume cs:code
code segment
                dw 0123h,0456h,0789h,0abch,0defh,0fedh,0bah,0987h
                dw 0,0,0,0,0,0,0,0
start: mov ax, cs
       mov ss, ax
       mov sp, 20h
       
           mov bx,0
           mov cx,8
s:        
           push cs:[bx]
           add bx,2
           loop s
           
           mov bx,0
           mov cx,8
s1:           pop cs:[bx]
           add bx,2
           loop s1
           
       mov ax, 4c00h
       int 21h
code ends
end start
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2018-1-29 10:25:05 From FishC Mobile | 显示全部楼层
谁知道怎么回事
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2018-1-29 15:22:44 | 显示全部楼层
zy8818 发表于 2018-1-29 10:25
谁知道怎么回事

你确定是这个代码?我这边没有问题
assume cs:codesg

codesg segment
        dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0bah, 0987h
        dw 0, 0, 0, 0, 0, 0, 0, 0

start:
        mov ax, cs
        mov ss, ax
        mov sp, 20h

        mov bx, 0
        mov cx, 8
s:
        push cs:[bx]
        add bx, 2
        loop s

        mov bx, 0
        mov cx, 8
s1:
        pop cs:[bx]
        add bx, 2
        loop s1

        mov ax,4c00h
        int 21h
codesg ends
end start

无标题.png
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-12-29 15:02

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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