Linux程序状态寄存器访问指令

描述

转移指令

【跳转指令】

B   跳转指令
BL  带返回的跳转指令
BLX 带返回和状态切换的跳转指令
BX  带状态切换的跳转指令

程序状态寄存器访问指令

1、【MRS指令】

MRS 通用寄存器,程序状态寄存器(CPSR或SPSR)
MRS R0,CPSR   ;传送CPSR的内容到R0
MRS R0,SPSR   ;传送SPSR的内容到R0

2、【MSR指令】

MSR 程序状态寄存器(CPSR或SPSR)_< 域 >,操作数
MSR CPSR,R0   ;传送R0的内容到CPSR
MSR SPSR,R0   ;传送R0的内容到SPSR

加载/存储指令

ARM 微处理器支持加载/存储指令用于在寄存器和存储器之间传送数据,加载指令用于将存储器中的数据传送到寄存器,存储指令则完成相反的操作。

1、【LDR指令】

LDR 目的寄存器,< 存储器地址 >

LDR指令用于从存储器中将一个32位的字数据传送到目的寄存器中。

LDR  R0,[R1]  ;将存储器地址为R1的字数据读入寄存器R0LDR  R0,[R1,R2]  ;将存储器地址为R1+R2的字数据读入寄存器R0LDR  R0,[R1,#8]  ;将存储器地址为R1+8的字数据读入寄存器R0LDR  R0,[R1,R2] ! ;将存储器地址为R1+R2的字数据读入寄存器R0,并将新地址R1+R2写入R1LDR  R0,[R1,#8] ! ;将存储器地址为R1+8的字数据读入寄存器R0,并将新地址R18写入R1

LDRB 和 LDRH 指令大家可以百度。

2、【STR指令】

STR 源寄存器,< 存储器地址 >

STR指令用于从源寄存器中将一个32位的字数据传送到存储器中。该指令在程序设计中比较常用,且寻址方式灵活多样,使用方式可参考指令LDR。

STR R0,[R1],#8 ;将R0中的字数据写入以R1为地址的存储器中,并将新地址R18写入R1STR R0,[R1,#8] ;将R0中的字数据写入以R18为地址的存储器中。

STRB 和 STRH指令大家可以百度。

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分