导航:首页 > 操作系统 > 单片机压栈题

单片机压栈题

发布时间:2023-03-28 02:12:00

A. 51单片机R0-R7怎样压栈

首先你得知道R0~R7并不对应绝对地址,而PUSH只能对绝对地址压栈的。
对于自己编写的汇编程序,你得清楚当前PSW.RS位域选中的是哪一组RegBank,并将相应地址的寄存器压栈。例如如果选中了第2组寄存器(10b),那么应当压栈的是10h~17h单元。
如果是编译器写的伪代码,可以直接书写成 PUSH Rn 形式,编译器自动根据当前的RS位域来换算成对应的绝对地址。

网络嫌我字数不够

B. 单片机堆栈问题

堆栈的压栈动作地址是递减的;出栈动作地址是增加的。sp是栈顶指针,经过压栈动作后的值要比70H小。具体的数值得看单片机的位数——32 bit/16 bit/8 bit

C. 关于51单片机堆栈的问题

首先,SP是堆栈指针,当压堆栈的时候,它增加一,当出栈的时候,它减一。
PUSH
ACC和POP
ACC分别是压和出的指令。
除此之外,中断和call指令,硬件自动将PC程序指针压栈,等到reti或ret指令的时候,出栈。
一般讲SP设置大一点,比如70H,以免和其他单元冲突。

D. 51单片机问题: SP=60 A=90 push A 执行这条语句后,(SP)= (

(SP)=61因51单片机堆堆是向上生长的

(60H)=90答案可能是这样的,但应该错误的,实际上是(61H)=90因51单片机压栈是先上移指针,后压入数据60H单元并没有被占用

A=90这是没说的,入栈并没有改变A的值

并且不知是你写错了还是出题人写错了SP=60 不是16进制 (60H)又变成

16进制

阅读全文

与单片机压栈题相关的资料

热点内容
什么java编译器支持中文 浏览:561
香港服务器如何做代理 浏览:199
pdf写入 浏览:984
高尔夫电台怎么添加到文件夹 浏览:239
四川麻将一般下哪个app 浏览:864
反编译exe脚本 浏览:462
源码文件夹怎么编译到固件中 浏览:912
ERp打印服务器错误怎么弄 浏览:113
蚌端口u盘加密软件有哪些 浏览:180
前端如何认证服务器 浏览:554
linux切换db2用户命令 浏览:308
相片如何用电解压 浏览:908
硕士程序员去学校当老师 浏览:122
pythonstr提取到字典 浏览:820
程序员那么可爱有人看上陆漓了 浏览:878
php正则提取图片 浏览:105
pythonlinuxdjango 浏览:564
php中文返回乱码 浏览:91
宿舍装的电信怎么加密 浏览:747
为什么压缩文件解压后变少了 浏览:428