假定选用默认栈区和工作寄存器,试求执行完注释处的指令后,栈和栈指针的内容MOV R6, #25HMOV R1, #12HMOV R4, #0F3HPUSH 6 ;SP=______ ,(SP)=______ PUSH 1 ;SP=______ ,(SP)=______ PUSH 4 ;SP=______ ,(SP)=______
08H:)25H:)09H:)12H:)0AH:)0F3H;F3H
举一反三
- SP栈指针内容是1200H,执行两条PUSH指令之后,SP的值为 。
- 若堆栈栈顶指针SP=2000H,执行5条入栈指令和2条出栈指令后,SP=。
- 堆栈寻址方式中,设A为累加器,SP为堆栈指针,Msp为SP指针所指的栈顶单元,如果进栈操作的动作顺序是(SP)-1→SP,(A)→Msp,那么出栈的动作是() A: Msp→(A),(SP)+1→SP B: (SP)-1→SP,Msp→(A) C: Msp→(A),SP→(SP)+1 D: (SP)+1→SP,Msp→(A)
- 在堆栈操作中,设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
- 堆栈指针寄存器SP的初值为1000H,(AX)=2000H,(BX)=3000H, (1) 执行指令PUSH AX后,(SP)=_____________。 (2) 再执行指令PUSH BX和POP AX后 (SP)=________ (AX)=________ (BX)=________
内容
- 0
SP栈指针内容是1200H,执行两条PUSH指令之后,SP的值是() A: 11FEH B: 1204H C: 1202H D: 11FCH
- 1
执行PUSH ACC指令时,单片机完成的操作是() A: (SP) ←(SP) -1,((SP)) ← (ACC) B: (SP) ←(ACC),((SP)) ←(SP) -1 C: (SP) ←(SP) +1,((SP)) ← (ACC) D: (SP) ←(ACC),((SP)) ←(SP) + 1
- 2
有关PUSH指令和POP指令,以下说法正确的有( )? A: PUSH指令中,先修正栈顶指针SP后,再将数据压入堆栈 B: PUSH指令中,先将数据压入堆栈后再修正栈顶指针SP C: POP指令中,先修正栈顶指针SP后,再将数据弹出堆栈 D: POP指令中,先将数据弹出堆栈后再修正栈顶指针SP
- 3
若堆栈栈顶指针SP=2000H,执行5条入栈指令和2条出栈指令后,SP=?(写出运算过程)
- 4
MOV SP, 3210H PUSH AX 执行上述指令序列后,SP寄存器的值是___________