鱼C论坛

 找回密码
 立即注册
查看: 3012|回复: 2

王爽汇编语言第三版P128

[复制链接]
发表于 2015-12-28 15:11:42 | 显示全部楼层 |阅读模式

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

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

x
assume cs:codesg
   codesg segment
     dw 0123h,0456h,0789h,0abch,0defh,0fedh,0cbah,0987h
         dw 0,0,0,0,0,0,0,0
         
         start: mov ax,cs
              mov ss,ax
                  mov sp,32h
                  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
查看内在内容
WLIXBWG@`@LY]8KE0(1)8J5.png

按说出栈数据时顺序相反,应为

00 00 00 00 00 00 00 00 00 00 00 00 00 00
87 09 ba 0c ed 0f ef 0d bc 0a 89 07 56 04 23 01
新手提问,请多多包涵。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2015-12-28 15:50:16 | 显示全部楼层
本帖最后由 爱你没错 于 2015-12-28 16:05 编辑

此题的关键是数据段和栈段在同一段内存空间里 顺便说一下你应该吧代码mov sp,32h的H去掉,应该20H=32,而32H就差很远了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2015-12-28 16:47:31 | 显示全部楼层
把mov sp,32H,改为20H后运算 查看cs:0的内容为
d:\try\1.png
debug 全步调试后,查看cs:0的内容为
d:\try\2.png
为什么不是以下结果呢?
00 00 00 00 00 00 00 00 00 00 00 00 00 00
87 09 ba 0c ed 0f ef 0d bc 0a 89 07 56 04 23 01
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-21 00:21

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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