下列关于堆栈说法正确的是?()
A: 复位后堆栈指针SP初始值为00H
B: 堆栈是先SP+1,再进行堆栈
C: 弹栈是先弹出数据,再SP-1
D: 堆栈是先进后出的
A: 复位后堆栈指针SP初始值为00H
B: 堆栈是先SP+1,再进行堆栈
C: 弹栈是先弹出数据,再SP-1
D: 堆栈是先进后出的
举一反三
- 下列关于堆栈操作指令正确的是( )? A: AT89S51的堆栈是“先进后出” B: 堆栈指针SP指向堆栈的栈顶位置 C: 堆栈指针SP指向堆栈的栈底位置 D: 执行出栈指令时,先将内容送入制定单元中,然后堆栈指针再减1
- 在堆栈操作中,设A为某一通用寄存器号,SP为堆栈指示器,如果入栈操作的动作就是:(A)→(SP),(SP)-1→SP(即:先压入堆栈,后变堆栈指针),则出栈的动作应就是()。 A: (SP)→ B: (SP)+1→SP C: (SP)+1→S D: (SP)→A E: (SP)-1→S F: (SP)→A G: (SP)→ H: (SP)-1→SP
- 有关PUSH指令和POP指令,以下说法正确的有( )? A: PUSH指令中,先修正栈顶指针SP后,再将数据压入堆栈 B: PUSH指令中,先将数据压入堆栈后再修正栈顶指针SP C: POP指令中,先修正栈顶指针SP后,再将数据弹出堆栈 D: POP指令中,先将数据弹出堆栈后再修正栈顶指针SP
- (1)使用PUSH指令给堆栈中压入一个字节的数据时,CPU执行的过程是( ) A: 先把数据送入堆栈单元,再(SP)+1 B: 先(SP)+1,再把数据送入堆栈单元, C: 先把数据送入堆栈单元,,再(SP)-l D: 先(SP)-1,再把数据送入堆栈单元,
- (2)CPU执行出栈指令POP时,其操作是() A: 先把数据移出堆栈单元,再(SP)- l B: 先(SP)- l ,再把数据送入堆栈单元 C: 先把数据移出堆栈单元,再(SP)+ l D: 先(SP)+ l ,再把数据送入堆栈单元