我正在学习ARM,我无法理解程序状态注册说明的全部形式,MSR和MSR。
示例:
MRS R0,CPSR ; Take a copy of the CPSR.
BIC R0,R0,#0x1F ; Clear the mode bits.
ORR R0,R0,#new_mode ; Select new mode
MSR CPSR,R0 ; Write back the modified CPSR.发布于 2019-05-15 09:51:50
ARM指令集问题的第一个调用端口是相关的ARM体系结构手册。例如,Cortex-M3使用ARMv7-M。
在那里你可以找到:
B5.2.2 女士从特别登记册转往登记册 将所选特殊用途寄存器中的值移动到通用寄存器中.
在不同的地方,比如这个文章,都有特定用途寄存器的列表,在体系结构手册和技术参考手册( SoC )中更明确地列出了在您的SoC中使用的特定核心。
专用寄存器是处理器体系结构上定义的内部状态,如ALU标志、异常模型状态、安全控制等。这些寄存器与指令集的主要部分可用的r0-r14“通用”寄存器不同。处理器安全模型通常会限制对这种状态的访问(因此用户代码不能提升自己的权限)。
特定指令用于访问特殊用途寄存器(并与协处理器寄存器紧密相连),部分是为了提供相关的权限检查,一部分是为了增加可寻址空间(代价是只提供两种类型的操作)。
https://stackoverflow.com/questions/56142728
复制相似问题