ARM基础知识
首先介绍一下第一个,LDR(字数据加载),指令用于从存储器中将一个32位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取32位的字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转
LDR指令的格式为:LDR{条件} 目的寄存器,<存储器地址>例如, LDR R0,[R1]
第二个就是LDRB(字节数据加载指令),LDRB指令用于从存储器中将一个8位的字节数据传送到目的寄存器中,同时将寄存器的高24位清零。该指令通常用于从存储器中读取8位的字节数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。
LDRB指令的格式为:LDR{条件}B 目的寄存器,<存储器地址>例如: LDRB R0,[R1]
第三个是LDRH(半字数据加载指令),LDRH指令用于从存储器中将一个16位的半字数据传送到目的寄存器中,同时将寄存器的高16位清零。该指令通常用于从存储器中读取16位的半字数据到通用寄存器,然后对数据进行处理。当程序计数器PC作为目的寄存器时,指令从存储器中读取的字数据被当作目的地址,从而可以实现程序流程的跳转。
LDRH指令的格式为:LDR{条件}H 目的寄存器,<存储器地址>例如: LDRH R0,[R1]
第四个就是STR(字数据存储指令),STR指令用于从源寄存器中将一个32位的字数据传送到存储器中
STR指令的格式为:STR{条件} 源寄存器,<存储器地址>例如: STR R0,[R1],#8
第五个STRB指令(字节数据存储指令),STRB指令用于从源寄存器中将一个8位的字节数据传送到存储器中。该字节数据为源寄存器中的低8位。
STRB指令的格式为:STR{条件}B 源寄存器,<存储器地址>例如: STRB R0,[R1]
最后一个STRH指令(半字数据存储指令),STRH指令用于从源寄存器中将一个16位的半字数据传送到存储器中。该半字数据为源寄存器中的低16位。
STRH指令的格式为:STR{条件}H 源寄存器,<存储器地址>例如: STRH R0,[R1]