关于C55x堆栈操作,下列说法正确的有______。
A: 堆栈是数据空间中一段连续分配地址的存储单元区间,但不能包括MMR占据的地址区间
B: 数据堆栈和系统堆栈都使用7位SPH寄存器保存主数据页编号,因此两个堆栈必须在同一个主数据页内
C: 堆栈被CPU用来分配局部变量存储空间、在程序调用时保存返回地址以及循环现场等
D: 用户可以利用入栈和出栈指令、SP直接寻址方式对数据堆栈进行操作
A: 堆栈是数据空间中一段连续分配地址的存储单元区间,但不能包括MMR占据的地址区间
B: 数据堆栈和系统堆栈都使用7位SPH寄存器保存主数据页编号,因此两个堆栈必须在同一个主数据页内
C: 堆栈被CPU用来分配局部变量存储空间、在程序调用时保存返回地址以及循环现场等
D: 用户可以利用入栈和出栈指令、SP直接寻址方式对数据堆栈进行操作
A,B,C,D
举一反三
- 关于C55x堆栈,下列说法正确的是________。 A: 支持2个16位堆栈,即数据堆栈和系统堆栈 B: 与堆栈操作有关的3个CPU存储映射寄存器为SPH、SP、SSP C: 访问数据堆栈时,CPU将SPH和SP级联成XSP,它提供的23位地址指向最后推入数据堆栈的字单元 D: 访问系统堆栈时,CPU将SPH和SSP级联成XSSP,它提供的23位地址指向最后推入系统堆栈的字单元
- 关于C55x堆栈操作,下列说法正确的是______。 A: 入栈前减小栈指针,出栈后增加栈指针,出入栈指令执行时栈指针的调整由CPU自动完成 B: PSH和POP指令对数据堆栈操作,因此只涉及SP指针的调整 C: PSHBOTH和POPBOTH指令同时对数据堆栈和系统堆栈进行操作 D: 使用SP直接寻址方式访问堆栈时,SP寄存器的值并没有改变
- 关于堆栈,说法正确的是 A: 堆栈遵循先进先出原理 B: 堆栈主要保存临时变量、常量 C: 堆栈指针SP,通常情况指向大地址,进栈操作SP值减小;出栈操作SP增大 D: 堆栈空间可以根据需要自动调整大小
- 关于MCS-51系列单片机堆栈操作描述正确的有( ) A: MCS-51单片机堆栈设在片内RAM区 B: MCS-51单片机堆栈设在片外RAM区 C: 数据入栈时先将堆栈指针SP自动加1,后写入数据,SP始终指向栈顶地址 D: 数据出栈时先读出数据,后SP自动减 1,SP始终指向栈顶地址
- (2)CPU执行出栈指令POP时,其操作是() A: 先把数据移出堆栈单元,再(SP)- l B: 先(SP)- l ,再把数据送入堆栈单元 C: 先把数据移出堆栈单元,再(SP)+ l D: 先(SP)+ l ,再把数据送入堆栈单元
内容
- 0
在MCU中,堆栈是个特殊存储区,堆栈属于RAM空间的一部分,堆栈用于函数调用和中断切换时,保存和恢复现场数据。
- 1
堆栈寄存器SP是____________位寄存器,存放堆栈段的栈顶地址。
- 2
堆栈操作中都是对栈顶单元进行的,访问堆栈的地址是由堆栈指针SP指定的。在操作过程中,指针 SP不需要用户指定。在下推式堆栈中,写入堆栈的单元地址是(36)。 A: PC B: 指令寄存器 C: (SP)-1 D: (SP)+1
- 3
在MCU中,堆栈是个特殊存储区,堆栈属于RAM空间的一部分,堆栈用于函数调用和中断切换时,保存和恢复现场数据。 A: 正确 B: 错误
- 4
有一存储器堆栈。其栈底地址为300,且有 a,b,c 三个数据依次存放在堆栈中,a 放在栈底。CPU中有一硬件堆栈指示器 SP,且用通用寄存器 [tex=1.143x1.214]3i1zcABMg6BE/FHUMnpyfQ==[/tex] 作为数据交换器。试画出数据 c 出栈以前与出栈以后堆栈、SP 与通用寄存器 [tex=1.143x1.214]3i1zcABMg6BE/FHUMnpyfQ==[/tex] 的状态。