. : : Assembly Language : : .  |  首页  |  我提出的问题  |  我参与的问题  |  我的收藏  |  消息中心   |  游客  登录  | 
刷新 | 提问 | 未解决 | 已解决 | 精华区 | 搜索 |
  《汇编语言》论坛 ->基础知识
  管理员: assembly   [回复本贴] [收藏本贴] [管理本贴] [关闭窗口]
主题 : :  关于栈  [待解决] 回复[ 3次 ]   点击[ 349次 ]  
rhq2009
[帖 主]   [ 发表时间:2009-05-30 19:18 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-05-28 12:55
如果将 10000H~1FFFFH这段空间当作栈段初始状态是空  此时SS=1000   sp=?
sp怎么等于0?  不理解啊
不是10000吗(是不是sp是16位的?)那以后入栈呢?sp=sp-2  不是变成负的了?
abob
[第1楼]   [ 回复时间:2009-05-31 09:59 ]   [引用]   [回复]   [ top ] 
荣誉值:169
信誉值:0
注册日期:2008-08-19 16:07
ss=10000H
sp=0H

push ax
-------------
sp=sp-2;执行后:sp=fffeh
ss:fffe = ax(正好使用了fffe和ffff两个存储单元)
rhq2009
[第2楼]   [ 回复时间:2009-05-31 12:14 ]   [引用]   [回复]   [ top ] 
荣誉值:0
信誉值:0
注册日期:2009-05-28 12:55
为什么执行sp=sp-2后  sp=fffeh 啊 sp刚开始不是等于0H了吗???
liphidx
[第3楼]   [ 回复时间:2009-05-31 18:41 ]   [引用]   [回复]   [ top ] 
荣誉值:12
信誉值:0
注册日期:2007-11-01 20:24
建议你看一下关于数制和学到add,sub 等指令的时候,
就不会有上面的疑问了。
需要登录后才能回帖 -->> 请单击此处登录
    Copyright © 2006-2024   ASMEDU.NET  All Rights Reserved