公司怎么做网站页面,做的网站文字是乱码,外贸网站建设需要什么,做网站用html还是phpARM指令集2 ARM微处理器支持加载/存储指令用于在寄存器和存储器之间传送数据#xff0c;加载指令用于将存储器中的数据传送到寄存器#xff0c;存储指令则完成相反的操作。 LDR指令#xff08;与MOV有区别#xff0c;MOV只能操作通用寄存器#xff09; LDR指令格式为…ARM指令集2 ARM微处理器支持加载/存储指令用于在寄存器和存储器之间传送数据加载指令用于将存储器中的数据传送到寄存器存储指令则完成相反的操作。 LDR指令与MOV有区别MOV只能操作通用寄存器 LDR指令格式为 LDR条件目的寄存器存储器地址 LDR指令用于从存储器中将一个位的字数据传送到目的寄存器中。该指令通常用于从存储器中读取位的字数据到通用寄存器然后对数据进行处理。 LDR R0 [R1] 将存储器地址为R1的字数据读入寄存器R0。 LDR R0 [R1R2] 将存储器地址为R1R2的字数据读入寄存器R0。 LDR R0 [R1, #8] 将存储器地址为R18的字数据读入寄存器R0。 LDR R0 [R1R2] 将存储器地址为R1R2的字数据读入寄存器R0。并将新地址R1R2写入R1。 LDR R0 [R1, #8]! 将存储器地址为R18的字数据读入寄存器R0,并将新地址R18写入R1。 LDR R0 [R1]R2 将存储器地址为R1的字数据读入寄存器R0。并将新地址R1R2写入R1。 LDR R0 [R1R2LSL#2] 将存储器地址为R1R2*4的字数据读入寄存器R0。并将新地址R1R2*4写入R1。 LDR R0 [R1]R2LSL#2 将存储器地址为R1的字数据读入寄存器R0。并将新地址R1R2*4写入R1。 LDRB指令 LDRB指令格式为 LDR条件B目的寄存器存储寄存器 LDRB指令用于从寄存器中将一个低8位的字节数据传送到目的寄存器中同时将寄存器的高24位清零。该指令通常用于从存储器中读取8位的字节数到通用寄存器然后对数据进行处理。 指令示例 LDRB R0[R1]将存储器地址为R1的字节数读入寄存器R0并将R0的高24位清零。 LDRB R0[R1#8]将存储器地址为R18的字节数据读入寄存器R0并将R0的高24位清零。 LDRH指令 LDRH指令格式为 LDR条件H目的寄存器存储寄存器 LDRH指令用于从寄存器中将一个低16位的半字节数据传送到目的寄存器中同时将寄存器的高16位清零。该指令通常用于从存储器中读取16位的半字节数到通用寄存器然后对数据进行处理。 指令示例 LDRB R0[R1]将存储器地址为R1的半字节数读入寄存器R0并将R0的高16位清零。 LDRB R0[R1R2]将存储器地址为R1R2的半字节数据读入寄存器R0并将R0的高16位清零。 STR指令 STR指令的格式为 STR条件源寄存器存储器地址 STR指令用于从源寄存器中将一个32位的字数据传送到存储器中。 指令示例 STR R0[R1]#8将R0中的字数据写入以R1为地址的存储器中并将新地址R18写入R1。 STR R0[R1#8]将R0中的字数据写入以R18为地址的存储器中。 批量加载/存储指令 ARM微处理器所支持的批量数据加载/存储指令可以一次在一片连续的存储单元和多个寄存器之间传送数据批量加载指令用于将一片连续的存储器中的数据传送到多个寄存器批量数据存储指令则完成相反的操作。常用的加载存储指令如下 LDM 批量数据加载指令 STM 批量数据存储指令 LDM指令 LDM指令格式为 LDM条件类型指令用于从由基址寄存器 寄存器列表 LDM或STM指令用于从基址寄存器所指示的一片连续的存储器到存储器所指示的多个寄存器之间传送数据该指令的常见用途是将多个寄存器的内容入栈或出栈。其中类型为以下几种情况 为可选后缀若选用该后缀则当数据传送完毕之后将最后的地址写入基址寄存器否则基址寄存器的内容不变。基址寄存器不允许为R15寄存器列表可以为R0~R15的任意组合。 寄存器列表为可选后缀当指令为LDM且寄存器列表中包含R15选用该后缀时表示除了正常的数据传送之外还将SPSR复制到CPSR。 指令示例 STMFD R13R0,R4-R12,LR 将寄存器列表中的寄存器R0R4到R12LR存入堆栈。 LDMFD R13R0R4-R12PC 将堆栈内容恢复到寄存器R0R4到R12LR。 数据交换指令 ARM微处理器所支持数据交换指令能在存储器和寄存器之间交换数据。数据交换指令有如下两条 SWP 字数据交换指令 SWPB 字节数据交换指令 SWP指令 SWP指令格式为 SWP条件目的寄存器源寄存器1[源寄存器2] or LDR 和 STR 两个指令也能实现SWP指令。 SWP指令用于将源寄存器2所指向的存储器中的字数据传送到目的寄存器中同时将源寄存器1中的字数据传送到源寄存器2所指向的存储器中。显然当元寄存器1和目的寄存器为同一个寄存器时指令交换该寄存器和存储器的内容。 指令示例 SWP R0R1[R2]将R2所指向的存储器中的字数据传送到R0同时将R1中的字数据传送到R2所指向的存储单元。 SWP R0 R0 [R1]该指令完成将R1所指向的存储器中的字数据与R0中的字数据交换。 移位指令 ARM微处理器支持数据的移位操作移位操作在ARM指令集中不作为单独的指令使用它只能作为指令格式中是一个字段在汇编语言中表示为指令中的选项。移位操作包括如下几种类型ASL和LSL是等价的可以自由互换 LSL 逻辑左移 ASL 算术左移 LSR 逻辑右移 ASR 算术右移 ROR 循环右移 异常产生指令 ARM微处理器所支持的异常指令有如下两条 SWI 软件中断指令 BKPT 断点中断指令 SWI指令格式为 SWI条件24位的立即数 SWI指令用于产生软件中断以便用户程序能调用操作系统的系统API。操作系统在SWI的异常处理程序中提供相应的系统服务指令中位的立即数指定用户程序调用的API类型。 指令示例 SWI 0x02 该指令调用操作系统编号位02的系统例程。 转载于:https://www.cnblogs.com/Bright-Ho/p/5457964.html