找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5428|回复: 2
收起左侧

[求助][讨论]堆栈指针SP的问题,很奇怪,大家进来看一下,谢谢

[复制链接]
ID:33660 发表于 2012-1-8 13:29 | 显示全部楼层 |阅读模式
org 0000h ajmp main org 0050h main:mov sp,#32h mov 30h,#50h mov 31h,#5Fh mov 32h,#3ch POP DPH; POP DPL; POP SP; nop end 运行完以上程序后,我不理解为什么sp=50h,执行POP SP首先把(30H)=50H的内容给SP,然后因为是出栈所以要减一不是吗?为什么不是(SP)=4FH ?
[此贴子已经被作者于2012-1-8 13:31:38编辑过]
回复

使用道具 举报

ID:27916 发表于 2012-1-8 20:00 | 显示全部楼层
org 0000h
ajmp main
org 0050h
main:mov sp,#32h
mov 30h,#50h
mov 31h,#5Fh
mov 32h,#3ch
POP DPH; ;把32H里的内容放到DPH里
POP DPL; ;把31H里的内容放到DPL里
POP SP; ;把30H里的内容放到SP里,30H里的值是多少?不是50H吗?
nop
end
回复

使用道具 举报

ID:27916 发表于 2012-1-8 20:01 | 显示全部楼层

多看看书哈,

出栈,先读出数据,再SP减一

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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