热门推荐








单片机RAM中,sp的作用是什么
问题描述
- 精选答案
-
SP 指的是堆栈指针
详细解释如下:
堆栈是一种数据结构,和他相类似的有队列。
如果对数据结构有这样的要求:
先将数据放到该区内,先放的后出后放的先出。这种结构这是堆栈。也就是说堆栈的数据操作口只有一端。它常用到回朔等算法当中,说到数据结构,当然就要提到算法。而队列的操作正好与之相反。先放入的数据先出,后放的后出。它的数据操作是有两个口,一边只负责插入,一端只负责删除。所以对其算法是先入先出(FIFO,First input First Output).
而对于汇编来说,为了考虑这种结构,设置了两个寄存器,一个是SS,是一个段寄存器。用作开辟一个数据单元作为一个堆栈区,该SS中的内容是该段的首地址。而SP则作为指针用,它有汇编语言中的作用是为模块化等类似问题服务的!如果一个程序调用一个子程序,则进入该子程序前要先对主程序进行一个“现场保护”,以便子程序执行完毕后能顺利地返回地主程序中依次执行。所以在一般的子程序开始的部分,先对程序中所用到的寄存器进行保存,保存到堆栈区中,从子程序返回到主程序中时再对堆栈区中的内容进行释放还原。主程序还能进入到断点继续工作。正是这种原理,汇编编程时采用的是断点(也就是中断)的工作模式。也就是理解好堆栈就更好地理解了中断。
堆栈区的使用不仅仅如此,由于其原理。可以使用堆栈区进行子程序的参数传递。堆栈是一个很重要的内容,但学习它不好理解时建议你先看一下数据结构。会更有利于你的理解!
- 其他回答
-
SP是单片机的一个特殊功能寄存器,名字叫堆栈指针。它主要用于单片机中断操作时保存断点数据,保存的地点叫堆栈,而SP就是堆栈的地址。
使用SP时有一点需要特别注意:按照单片机的堆栈操作机制,在入栈时是先将SP+1,然后再向这个指针指向的地址存入数据。比方说SP当前值为07,执行PUSH指令会将数据存入08单元。
猜你喜欢内容
-
总课程表统计个人课时怎么算
总课程表统计个人课时怎么算回答数有3条优质答案参考
-
辅警35岁后必须离职吗
辅警35岁后必须离职吗回答数有3条优质答案参考
-
公务员放弃考试就可以退费吗
公务员放弃考试就可以退费吗回答数有3条优质答案参考
-
公务员考试审核通过了可以放弃不
公务员考试审核通过了可以放弃不回答数有3条优质答案参考
-
公务员笔试入围可以放弃吗
公务员笔试入围可以放弃吗回答数有3条优质答案参考
-
公务员考试如何放弃资格复审
公务员考试如何放弃资格复审回答数有3条优质答案参考
-
考公务员哪个环节可以放弃
考公务员哪个环节可以放弃回答数有3条优质答案参考
-
一家小区的纹绣店说说
一家小区的纹绣店说说回答数有3条优质答案参考
-
消防职业技能鉴定怎样登录
消防职业技能鉴定怎样登录回答数有3条优质答案参考
-
如何查看消防鉴定站报名人数
如何查看消防鉴定站报名人数回答数有3条优质答案参考