汇编语言中 栈顶问题~~~ SP=?

assumecs:codesg,ds:data,ss:stackstacksegmentdw0,0,0,0,0,0datasegmentdb'1.display'db'2... assume cs:codesg,ds:data,ss:stack
stack segment
dw 0,0,0,0,0,0
data segment
db '1. display '
db '2. brows '
db '3. replace '
db '4. modify '
data ends

codesg segment
start:
mov ax,stack
mov ss,ax
mov sp,16
mov ax,data
mov ds,ax
mov bx,0
mov cx,4
mov si,0
看到书上许多程序 SP都设置成 16 ?这是为什么呢? 栈最小是16字节~~ 当 DW定义一个栈段后~~ 栈顶 不是 十进制的 SP=16 也就是 十六进制的 10H 么? 高手指教下~~
展开
 我来答
243456525
2009-05-15 · TA获得超过1165个赞
知道小有建树答主
回答量:763
采纳率:0%
帮助的人:613万
展开全部
首先 栈段最小为16字节 但是栈的作用只是动态的临时的存储数据,而不需要定义多么多么大空间。
SP相当于IP作为偏移地址,只不过固定了,进栈一次SP=SP-2
一个栈有它的起始SP,SS:SP始终指向最顶元素
(1)栈为空,SP指向(0~F)10H(即F的下面一个空间)
它作为起始的,当压栈一次时,先SP=SP-2=0EH,后压栈
当SP指向0FH时,压栈8此后,SP就超出0~F的范围了
(SP=SP-1=01H-2<0了)
(2)栈满, SP指向(0~F)00H(即指向最顶元素)
匿名用户
2009-05-14
展开全部
没错啊 有什么问题?16对应十六进制10H
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式