鱼C论坛

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

王爽汇编实验三 pop后为什么原来的栈顶自动改变?

[复制链接]
发表于 2013-5-31 12:58:27 | 显示全部楼层 |阅读模式

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

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

x
本帖最后由 2668305540 于 2013-5-31 13:02 编辑

assume cs:codesg

codesg segment

   mov ax,2000h
   mov ss,ax
   mov sp,0
   add sp,10
   pop  ax
   pop  bx
   push  ax
   push  bx
   pop  ax
   pop  bx

   mov ax,4c00h
   int 21h

codesg ends

代码我看得懂
就是T运行后栈中的内容不明白
这是第一个pop前的栈内容:

-t

AX=2000  BX=0000  CX=0016  DX=0000  SP=000A  BP=0000  SI=0000  DI=0000
DS=140E  ES=140E  SS=2000  CS=141E  IP=000B   NV UP EI PL NZ NA PE NC
141E:000B 58            POP     AX
-d 2000:a
2000:0000                                                    00 00 00 00 00 00           ......
2000:0010  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................


pop ax后的:
-t

AX=0000  BX=0000  CX=0016  DX=0000  SP=000C  BP=0000  SI=0000  DI=0000
DS=140E  ES=140E  SS=2000  CS=141E  IP=000C   NV UP EI PL NZ NA PE NC
141E:000C 5B            POP     BX
-d 2000:a
2000:0000                                                    08 0E 00 00 00 00          ......
2000:0010  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................

file:///C:\Documents and Settings\William\Application Data\Tencent\Users\2668305540\QQ\WinTemp\RichOle\JVY`$Q7B(GWNU1N3Z3CIEEV.jpg各步后的栈原地址内容如下:
-t

AX=0000  BX=0000  CX=0016  DX=0000  SP=000E  BP=0000  SI=0000  DI=0000
DS=140E  ES=140E  SS=2000  CS=141E  IP=000D   NV UP EI PL NZ NA PE NC
141E:000D 50            PUSH    AX
-d 2000:a
2000:0000                                                    1E 14 08 0E 00 00           ......
2000:0010  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-t

AX=0000  BX=0000  CX=0016  DX=0000  SP=000C  BP=0000  SI=0000  DI=0000
DS=140E  ES=140E  SS=2000  CS=141E  IP=000E   NV UP EI PL NZ NA PE NC
141E:000E 53            PUSH    BX
-d 2000:a
2000:0000                                                    08 0E 00 00 00 00           ......
2000:0010  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-t

AX=0000  BX=0000  CX=0016  DX=0000  SP=000A  BP=0000  SI=0000  DI=0000
DS=140E  ES=140E  SS=2000  CS=141E  IP=000F   NV UP EI PL NZ NA PE NC
141E:000F 58            POP     AX
-d 2000:a
2000:0000                                                    00 00 00 00 00 00           ......
2000:0010  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-t

AX=0000  BX=0000  CX=0016  DX=0000  SP=000C  BP=0000  SI=0000  DI=0000
DS=140E  ES=140E  SS=2000  CS=141E  IP=0010   NV UP EI PL NZ NA PE NC
141E:0010 5B            POP     BX
-d 2000:a
2000:0000                                                    08 0E 00 00 00 00           ......
2000:0010  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
-t

AX=0000  BX=0000  CX=0016  DX=0000  SP=000E  BP=0000  SI=0000  DI=0000
DS=140E  ES=140E  SS=2000  CS=141E  IP=0011   NV UP EI PL NZ NA PE NC
141E:0011 B8004C        MOV     AX,4C00
-d 2000:a
2000:0000                                                    1E 14 08 0E 00 00           ......
2000:0010  00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00   ................
没有push只是pop为什么pop出去后原来的栈顶会变?
我原来想是pop或是push后栈顶以上更小的地址空间是不会变的,为什么会变呢?


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2013-5-31 13:34:40 | 显示全部楼层
强烈支持楼主ing……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2013-5-31 16:44:10 | 显示全部楼层
高手快快出现吧
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-10-7 18:23

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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