鱼C论坛

 找回密码
 立即注册
查看: 1878|回复: 4

sp值设置的问题。。。

[复制链接]
发表于 2012-7-12 14:06:40 | 显示全部楼层 |阅读模式

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

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

x
书上的程序。
mov ax,1000
mov ss,ax
mov sp,0010
mov ax,001a
mov bx,001b
push ax
push bx
pop ax
pop bx

sp的值为什么是0010???还是说可以随便取?为什么在debug里面,有时候出现的情况不同。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-12 15:51:54 | 显示全部楼层
这里是debug里面的显示,debug里面的数值默认都是16进制的。ss=1000,sp=0010的意思是定义了一个空的栈,它的长度是16个字节,0010是16进制数,也就是10进制的16,就是16个字节的意思,从1000:0000到1000:000f刚好16个字节,由于是空的栈,栈顶指针sp就应该指向下一个地址——1000:0010。
所以设置sp=0010的意义首先是定义了栈的长度,其次是将栈顶指针sp指向下一个地址。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-12 15:54:20 | 显示全部楼层
sp的值是根据你自己的需要来设置的,所以可以随便取,但是最大不能大于64K,而且最好是16的倍数。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
 楼主| 发表于 2012-7-13 08:22:18 | 显示全部楼层

那个64K怎么算的啊?怎样算不超过64K
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
发表于 2012-7-13 09:51:12 | 显示全部楼层
1个二进制位=1bit
8个二进制位=8bit=1byte
1024byte=1Kb
64Kb=64*1024byte
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-30 18:07

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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