内容正文:
5.4 堆栈
同步练习
一、单项选择题
1. 以下哪一项是堆栈的主要特点?( )
A. 先进后出
B. 先进先出
C. 后进先出
D. 后进后出
2. 在微处理器中,堆栈指针SP通常指向什么?( )
A. 栈顶
B. 栈底
C. 数据区
D. 代码区
3. 以下哪个指令是进栈指令?( )
A. PUSH
B. POP
C. XCHG
D. ADD
4. 进栈操作后,堆栈指针SP的变化是?( )
A. 增加
B. 减少
C. 不变
D. 无法确定
5. 以下哪个指令是出栈指令?( )
A. PUSH
B. POP
C. XCHG
D. ADD
6. 出栈操作后,堆栈指针SP的变化是?( )
A. 增加
B. 减少
C. 不变
D. 无法确定
7. 在执行现场保护与恢复服务程序时,以下哪项是必要的?( )
A. 保护程序计数器
B. 保护堆栈指针
C. 保护通用寄存器
D. 以上都是
8. 在执行子程序前,通常需要进行哪些操作?( )
A. 保护现场
B. 调用子程序
C. 恢复现场
D. 以上都是
9. 在执行完子程序后,以下哪个操作是必要的?( )
A. 保护现场
B. 调用子程序
C. 恢复现场
D. 以上都是
10. 以下哪个寄存器通常不在现场保护与恢复服务程序中保护?( )
A. 程序计数器
B. 堆栈指针
C. 通用寄存器
D. 状态寄存器
11. 使用堆栈进行现场保护时,首先需要进行的操作是?( )
A. 初始化堆栈
B. 保护现场
C. 执行子程序
D. 恢复现场
12. 在恢复现场时,首先需要进行的操作是?( )
A. 初始化堆栈
B. 保护现场
C. 执行子程序
D. 恢复现场
13. 在汇编语言中,一条进栈指令通常包含哪些部分?( )
A. 操作码
B. 操作数
C. 目标地址
D. 源地址
14. 在汇编语言中,一条出栈指令通常包含哪些部分?( )
A. 操作码
B. 操作数
C. 目标地址
D. 源地址
15. 以下哪种情况不需要进行现场保护与恢复服务程序?( )
A. 执行子程序
B. 进行中断处理
C. 进行系统调用
D. 以上都不是
二、判断题
1. 堆栈是一种先进后出的数据结构.( )
2. 堆栈指针(SP)寄存器用于存放栈底地址.( )
3. 进栈指令将数据送入栈顶,并更新堆栈指针.( )
4. 出栈指令将栈顶元素弹出,但不更新堆栈指针.( )
5. 在执行子程序调用时,需要使用堆栈来进行现场保护.( )
6. 恢复现场的操作是将子程序返回前的堆栈指针值恢复到之前保存的状态.( )
7. 堆栈操作指令包括PUSH和POP指令.( )
8. 执行PUSH指令后,堆栈指针的值会减小.( )
9. 执行POP指令后,堆栈指针的值会增大.( )
10. 在中断服务程序中,不需要使用堆栈来进行现场保护和恢复.( )
三、填空题
1. 堆栈是一种 ,它遵循后进先出, LIFO的原则.
2. 在微处理器中,堆栈指针(SP)寄存器用于存放 .
3. 进栈指令通常用 关键字表示.
4. 出栈指令通常用 关键字表示.
5. 执行进栈操作时,首先要将数据送入栈顶,然后 .
6. 执行出栈操作时,首先要 ,然后更新堆栈指针.
7. 现场保护是指在执行 之前,将现场状态保存起来的操作.
8. 恢复现场是指在执行完 后,将现场状态恢复的操作.
9. 堆栈操作指令通常位于 和指令集中.
10. 在执行中断服务程序和子程序调用时,需要使用堆栈来 和现场恢复.
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
5.4 堆栈
同步练习解析
一、单项选择题
1. 以下哪一项是堆栈的主要特点?( )
A. 先进后出
B. 先进先出
C. 后进先出
D. 后进后出
【答案】A
2. 在微处理器中,堆栈指针SP通常指向什么?( )
A. 栈顶
B. 栈底