问题:
A . 00H
B . 80H
C . 07H
D . 03H
● 参考解析
堆栈指针SP是一个指示当前堆栈操作位置的特殊功能寄存器,堆栈指针总是指向栈顶。
MCS-51单片机的堆栈开辟在内部RAM区,是向上生长型的堆栈。入栈(PUSH)时,SP首先自动增1,然后将数据压入SP指向的单元;出栈(POP)时,先将数据弹出到内部RAM单元,然后SP自动减1。除了采用指令进行入栈和出栈操作外,在调用子程序和处理中断时,系统都会自动进行堆栈操作。
复位后,MCS-51单片机的堆栈指针SP被初始化为07H,压入堆栈的第一个数据在08H单元,即堆栈区被初始化在以08H开始的区域,而这一区域正是工作寄存器区,由于工作寄存器在程序设计时应用频繁便利,所以一般不希望堆栈占据这一区域,而往往采用指令改变SP的初值,使堆栈区设置到30H~7FH之间的适当区域,并根据实际设计中可能的堆栈深度预留足够的单元。
相关内容
相关标签