鱼C论坛

 找回密码
 立即注册
查看: 3146|回复: 1

ss sp设置顺序不同,结果不一样??

[复制链接]
发表于 2011-8-12 22:55:41 | 显示全部楼层 |阅读模式

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

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

x
完整的程序:正确的
assume cs:mycode,ds:mydata,ss:mystack

mydata segment
      dw 0123H,0234H,4232H,125CH,0180H,0245H,2348H,4545H;数据
mydata ends

mystack segment
      dw 0,0,0,0,0,0,0,0;栈
mystack ends

mycode segment;定义一个段,段名为mycode
      
      
beg:;标号
      mov bx,0
      mov cx,8
      mov ax,mydata
      mov ds,ax
      mov ax,mystack
      mov ss,ax
      mov sp,10H
           
fo1:  push [bx]   
      inc bx
      inc bx
      loop fo1
      
      mov bx,0
      mov cx,8
fo2:  pop [bx]
      inc bx
      inc bx
      loop fo2
   mov ax,4C00H;程序返回
   int 21H
mycode ends;结束段
end beg;结束程序,同时告诉编译器,程序入口的标号是beg


但是如果把
mov ss,ax
mov sp,10H
这两个指令颠倒一下,debug进去发现错误
用debug进去,发现 mov sp时,内存的数据会有10个字节被改掉,为什么?
还有push有时候也会这样,明明push两个字节的,sp前面10个字节也会变成乱七八糟的数据?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2011-8-13 13:15:59 | 显示全部楼层
本帖最后由 ??? 于 2011-8-13 13:54 编辑

我的也错了
2.jpg
1.jpg
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-11-19 04:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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