鱼C论坛

 找回密码
 立即注册
查看: 2274|回复: 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 | 显示全部楼层
  1. assume cs:code
  2. code segment
  3.                 dw 0123h,0456h,0789h,0abch,0defh,0fedh,0bah,0987h
  4.                 dw 0,0,0,0,0,0,0,0
  5. start: mov ax, cs
  6.        mov ss, ax
  7.        mov sp, 20h
  8.       
  9.            mov bx,0
  10.            mov cx,8
  11. s:       
  12.            push cs:[bx]
  13.            add bx,2
  14.            loop s
  15.           
  16.            mov bx,0
  17.            mov cx,8
  18. s1:           pop cs:[bx]
  19.            add bx,2
  20.            loop s1
  21.           
  22.        mov ax, 4c00h
  23.        int 21h
  24. code ends
  25. 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
谁知道怎么回事

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

  2. codesg segment
  3.         dw 0123h, 0456h, 0789h, 0abch, 0defh, 0fedh, 0bah, 0987h
  4.         dw 0, 0, 0, 0, 0, 0, 0, 0

  5. start:
  6.         mov ax, cs
  7.         mov ss, ax
  8.         mov sp, 20h

  9.         mov bx, 0
  10.         mov cx, 8
  11. s:
  12.         push cs:[bx]
  13.         add bx, 2
  14.         loop s

  15.         mov bx, 0
  16.         mov cx, 8
  17. s1:
  18.         pop cs:[bx]
  19.         add bx, 2
  20.         loop s1

  21.         mov ax,4c00h
  22.         int 21h
  23. codesg ends
  24. end start
复制代码


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

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-3-29 16:51

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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