微笑向暖~ 发表于 2017-11-3 20:54:28

上面明明只定义了两个字的栈段,那个mov sp,16是啥意思?



上面明明只定义了两个字的栈段,那个mov sp,16是啥意思?
求解!!!

丶忘却的年少o 发表于 2017-11-3 20:59:06

data和stack段里的数据都是dw,2字,也就是4个字节。
这两个段分别各要2个,那总共就是 4*4=16个字节,其中栈stack段在后,那么
0—7 是data段占有;8—15是栈占有。但是栈顶指向后一个,就是 sp=16

微笑向暖~ 发表于 2017-11-3 21:10:15

丶忘却的年少o 发表于 2017-11-3 20:59
data和stack段里的数据都是dw,2字,也就是4个字节。
这两个段分别各要2个,那总共就是 4*4=16个字节,其 ...

“这两个段分别各要2个,那总共就是 4*4=16个字节”,这个是什么意思呢?

丶忘却的年少o 发表于 2017-11-3 21:20:25

微笑向暖~ 发表于 2017-11-3 21:10
“这两个段分别各要2个,那总共就是 4*4=16个字节”,这个是什么意思呢?

你自己定义的data段的数据是dw,并且有2个数据:0123h,0456h;虽然每个数据1个字就能存储,但是定义的要求就要给他2个字,所以,2个数据就占了4个字,等比于8个字节的位置。
再看stack段,同样,dw类型的2个0,每个0占2个字,那总共是不是4个字,又是8个字节。
两个段加起来就是16呀,我那个计算就是说4个数据,每个数据占4个字节,总共16个字节
页: [1]
查看完整版本: 上面明明只定义了两个字的栈段,那个mov sp,16是啥意思?