嵌入式复习小练
1.ARM处理器中用作程序计数器PC的通用寄存器是()
A.R12
B.R13
C.R14
D.R15
答案:D。在 ARM 处理器中,R15 用作程序计数器(PC) ,用于存放下一条要执行指令的地址
2.以下关于ARM程序状态寄存器CPSR的说法正确的是()。
A.CPSR中N=1表示运算结果为正数
B.CPSR中F=0允许快速中断
C.CSPR中V=0表示运算结果溢出
D.CPSR中Z=0表示运算结果为0
知识点:
答案:B。以下是对各选项的分析:
选项 A:CPSR 中 N=1 表示运算结果为负数(符号位为 1),而非正数,因此 A 错误。
选项 B:CPSR 中 F 位是快速中断禁止位(FIQ Disable),F=0 时允许快速中断,F=1 时禁止,因此 B 正确。
选项 C:V 位是溢出标志位,V=1 表示运算结果溢出,V=0 表示无溢出,因此 C 错误。
选项 D:Z 位是零标志位,Z=1 表示运算结果为 0,Z=0 表示结果非零,因此 D 错误。
3.以下关于ARM状态寄存器CPSR的说法正确的是()。
A.CPSR决定存储器的数据类型和存储模式
B.CPSR中I为快速中断禁止控制位
C.CSPR中的T为陷井标志
D.CPSR决定ARM处理器工作模式
答案:D。以下是对各选项的分析:
选项 A:CPSR 不直接决定存储器的数据类型和存储模式。数据类型(如字节、半字、字)由指令和操作数决定,存储模式(大 / 小端)通常通过系统控制寄存器配置,而非 CPSR。因此 A 错误。
选项 B:CPSR 中I 为普通中断禁止位(IRQ Disable),F 为快速中断禁止位(FIQ Disable)。因此 B 错误。
选项 C:CPSR 中的T 为状态位(Thumb 状态标志),T=1 表示处理器处于 Thumb 状态(16 位指令集),T=0 表示 ARM 状态(32 位指令集)。陷井标志通常指异常触发,与 T 位无关。因此 C 错误。
选项 D:CPSR 中的M [4:0] 位(模式位)决定 ARM 处理器的工作模式,包括用户模式、系统模式、FIQ 模式等。因此 D 正确。
4.ARM处理器当前运算操所产生的标志位记录在以下哪个寄存器中()
A.PSP
B.MSP
C.SPSR
D.CPSR
答案:D。以下是对各选项的分析:
选项 A(PSP):进程栈指针(Process Stack Pointer),用于用户模式下的栈操作,与标志位无关。
选项 B(MSP):主栈指针(Main Stack Pointer),用于系统初始化和异常处理时的栈操作,不存储标志位。
选项 C(SPSR):备份程序状态寄存器(Saved Program Status Register),用于在异常发生时保存 CPSR 的值,异常返回时恢复,本身不记录当前运算标志。
选项 D(CPSR):当前程序状态寄存器(Current Program Status Register),包含条件标志位(N、Z、C、V)、中断禁止位(I、F)、处理器状态位(T)和模式位(M [4:0])。当前运算产生的标志位直接更新在 CPSR 中。