MRS MSR
MRS和MSR只能访问特殊功能寄存器,包括
- 程序状态寄存器组(PSRs或曰xPSR)
- 中断屏蔽寄存器组(PRIMASK, FAULTMASK以及BASEPRI)
- 控制寄存器(CONTROL)
项目 | 功能描述 |
---|---|
PRIMASK | 这是个只有 1 个位的寄存器。当它置 1 时, 就关掉所有可屏蔽的异常,只剩下 NMI 和硬 fault 可以响应。它的缺省值是 0,表示没有关中断。 |
FAULTMAST | 这是个只有 1 个位的寄存器。当它置 1 时,只有 NMI 才能响应,所有其它的异常, 包括中断和 fault,通通闭嘴。它的缺省值也是 0,表示没有关异常。 |
BASEPRI | 这个寄存器最多有 9 位(由表达优先级的位数决定)。它定义了被屏蔽优先级的阈 值。当它被设成某个值后,所有优先级号大于等于此值的中断都被关(优先级号 越大,优先级越低)。但若被设成 0,则不关闭任何中断, 0 也是缺省值。 |
MRS <gp_reg>, <special_reg> ;读特殊功能寄存器的值到通用寄存器
MSR <special_reg>, <gp_reg> ;写通用寄存器的值到特殊功能寄存器