MCS-51单片机复位后,第一次压入到堆栈操作的数据被保存到_地址单元
3个回答
展开全部
在于你给SP的赋值地址,比如程序开始你有mov sp,#5fh,之后出现压栈,那么就是60H,如果你开始没有给SP赋值,缺省状态下SP=07H,所以就是08H。
追问
那有两个答案啊,但是题目只给了我08H的表达,为什么会这样呢?还有第一个我不太理解,为啥就到60H了...
追答
一般而言,在汇编编程上,开始都会重设SP的,不然会影响到寄存器工作区的运用,因为很多场合,需要用到多个工作寄存器区,所以缺省时SP=07H就不能满足要求了,对于52单片机因为有256个寄存器可用,一般设置SP都在7FH之后这些不能直接访问的区域。对51而言寄存器进栈是加地址的,所以栈顶初值为5FH的话,第一个压入的地址就为5F+1 了。
意法半导体(中国)投资有限公司
2023-06-12 广告
2023-06-12 广告
STM32是ARM Cortex内核单片机和微处理器市场和技术方面的佼佼者,目前提供16大产品线 (F0, G0, F1, F2, F3, G4, F4, F7, H7, MP1, L0, L1, L4, L4+,L5, WB),超过100...
点击进入详情页
本回答由意法半导体(中国)投资有限公司提供
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询