ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

2025-12-17 06:03:39

1、首先介绍一下第一个,LDR(字数据加载),指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

2、LDR指令的格式为:

LDR{条件} 目的寄存器,<存储器地址>

例如, LDR R0,[R1]

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

3、第二个就是LDRB(字节数据加载指令),LDRB指令用于从存储器中将一个8位的字节数据传送到目的寄存器中,同时将寄存器的高24位清零。该指令通常用于从存储器中读取8位的字节数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

4、LDRB指令的格式为:

LDR{条件}B 目的寄存器,<存储器地址>

例如: LDRB R0,[R1]  

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

5、第三个是LDRH(半字数据加载指令),LDRH指令用于从存储器中将一个16位的半字数据传送到目的寄存器中,同时将寄存器的高16位清零。该指令通常用于从存储器中读取16位的半字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

6、LDRH指令的格式为:

LDR{条件}H 目的寄存器,<存储器地址>

例如: LDRH R0,[R1] 

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

7、第四个就是STR(字数据存储指令),STR指令用于从源寄存器中将一个32位的字数据传送到存储器中

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

8、STR指令的格式为:

STR{条件} 源寄存器,<存储器地址>

例如:  STR   R0,[R1],#8

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

9、第五个STRB指令(字节数据存储指令),STRB指令用于从源寄存器中将一个8位的字节数据传送到存储器中。该字节数据为源寄存器中的低8位。

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

10、STRB指令的格式为:

STR{条件}B 源寄存器,<存储器地址>

例如: STRB R0,[R1] 

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

11、最后一个STRH指令(半字数据存储指令),STRH指令用于从源寄存器中将一个16位的半字数据传送到存储器中。该半字数据为源寄存器中的低16位。

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

12、STRH指令的格式为:

STR{条件}H 源寄存器,<存储器地址>

例如: STRH R0,[R1]    

ARM六大指令集LDR,LDRB,LDRH,STR,STRB,STRH

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
猜你喜欢