布置的悲伤 发表于 2013-2-9 15:09:57

不同的栈段

在将数据。代码,栈放入不同段时有
mov ax,c
mov ss,ax
mov sp,16
这个16是怎么定的啊   视频里讲的和书上的怎么不一样 一个16一个是20h还有dw书上有16个0,,而视频只有8个
小甲鱼 求请教啊!!

布置的悲伤 发表于 2013-2-9 15:17:07

现在知道sp哪里来的就是不知道为什么书上 定义16个字 而视频只有8个字这是随意的么??只要满足就够了??

青草 发表于 2013-2-9 15:32:19

{:1_1:}你也不放出全部代码 首先 书上是不"db" db是定义字节(注意是字节),而视频中是不是"dw" dw是定义字(注意是字)字和字节不同 所以 16个字节就是8个字还有那个“mov sp,16”这句指令的意思是栈指针指向栈底 (注意如果栈定义的是16个字节)因为定义的栈是空的 所以SP栈偏移寄存器指向1616在十六进制里面是10也就是十六进制F后面的一位如果对空栈个的SP指向定义栈段之外 可以复习下讲解栈那节
那个20H换成十进制是32,16+16=32 能明白吗dw定义十六个0(是十六个字)相当于定义32个字节

青草 发表于 2013-2-9 15:34:17

青草 发表于 2013-2-9 15:32 static/image/common/back.gif
你也不放出全部代码 首先 书上是不"db" db是定义字节(注意是字节),而视频中是不是"dw" dw是定义字 ...

最好自己帮书的代码抄一遍 编译Debug跟踪下看看   视频里也这样做一次 注意Debug的D命令、T命令、G命令组合下看看结果就明白了 问出来的不试验也是白搭
页: [1]
查看完整版本: 不同的栈段