请教一个基本问题:PUSH和POP后SP的值

孤雲独去闲 2013-09-11 09:44:49
题目是:SP=3000H,AX=1234h,CX=5678H,执行PUSH AX PUSH CX POP AX 后,SP内容是什么,答案是3002H,我以为是2FFD。

教材上说:PUSH src;(W) SP←SP-2
POP dest;(W) SP←SP+2


3000-2-2+2不就是等于2FFDH吗?为什么会是3002H呢?自学找不到人问,只好求助于论坛诸位了,谢谢!
...全文
1228 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
lm_whales 2013-11-16
  • 打赏
  • 举报
回复
debug 在 cmd 下,即可执行
「已注销」 2013-11-06
  • 打赏
  • 举报
回复
应该是2FFE,3000h-2h=2ffeh;
haven200 2013-10-10
  • 打赏
  • 举报
回复
引用 9 楼 Daisy__Ben 的回复:
好傻逼啊这题目,你自己的答案也是对的,8086栈是往下增长每push一次sp-2=sp,有的单片机是sp+2=sp也就是教材的答案。
一直以为push一次SP-2=SP的 又发现自己知识储备真少,汇编只在电脑上玩过…… 单片机……看来有时间也要看一下相关知识了,不说精通,了解一下长长见识吧
Daisy__Ben 2013-09-15
  • 打赏
  • 举报
回复
好傻逼啊这题目,你自己的答案也是对的,8086栈是往下增长每push一次sp-2=sp,有的单片机是sp+2=sp也就是教材的答案。
zara 2013-09-11
  • 打赏
  • 举报
回复
应该是 2FFE 吧。这样的问题其实很简单的,在 debug 里实际操作下就明白了。
  • 打赏
  • 举报
回复
引用 7 楼 yangyangsnr 的回复:
[quote=引用 6 楼 zara 的回复:] 3000-2-2+2 = 3000-2 = 2FFE 这也有疑问?
我拿F当16了......[/quote] F16战斗机
孤雲独去闲 2013-09-11
  • 打赏
  • 举报
回复
引用 6 楼 zara 的回复:
3000-2-2+2 = 3000-2 = 2FFE 这也有疑问?
我拿F当16了......
zara 2013-09-11
  • 打赏
  • 举报
回复
3000-2-2+2 = 3000-2 = 2FFE 这也有疑问?
孤雲独去闲 2013-09-11
  • 打赏
  • 举报
回复
引用 3 楼 wangdahu888 的回复:
应该是 2FFE 吧。
请问为什么是2FFE呢?
孤雲独去闲 2013-09-11
  • 打赏
  • 举报
回复
引用 1 楼 zara 的回复:
应该是 2FFE 吧。这样的问题其实很简单的,在 debug 里实际操作下就明白了。
为什么会是2FFE呢?现在手边的电脑是公司的,没法去调试
  • 打赏
  • 举报
回复
应该是 2FFE 吧。
t13507715487 2013-09-11
  • 打赏
  • 举报
回复
答案没错! 请注意: 问的是"SP内容是什么?"

21,458

社区成员

发帖
与我相关
我的任务
社区描述
汇编语言(Assembly Language)是任何一种用于电子计算机、微处理器、微控制器或其他可编程器件的低级语言,亦称为符号语言。
社区管理员
  • 汇编语言
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧