数控位移位方式,就是使用数值常量控制移位位数,另一种就是寄存器控位移位方式,就是使用一个寄存器控制移位位数。注意第二操作数规范是一个8位的无符号数值常量,用0填充到32位后,循环右移偶次后得到的32位数值,例如下:
2.ARM数据处理指令详述 (1)数据传送指令MOV和MVN(只是在寄存器之间传和前面一种指令有区别)P116
(2)加法指令ADD、减法指令SUB、反减法指令RSB、带进位加法指令ADC、带借位减法指令SBC、带借位反减法指令RSC P118
其中指令SUBNES就使用了后缀NE和后缀S,注意第二操作数规范并且必须要有第二操作数。
(4) 比较和测试指令CMP、CMN、TEQ、和TST P120
注意没有目标寄存器,在这些指令中不需要S后缀,也会刷新程序标志位,不保存比较结果。
(5) 逻辑与指令AND、逻辑或指令ORR。逻辑异或指令EOR和位清除指令
BIC P123
注意在ARM汇编中,16进制用#0x做前缀,如#0x00FF是一个16进制数,二进制数使用#2_做前缀,如#2_00110011是一个二进制数。
(6)程序转态寄存器传送指令MRS和MSR P127
注意在用户模式下不可以改变CPSR中的控制位[7:0],如果是MRS R0 ,CPSR中不用指定位域;但是MSR SPSR(CPSR) ,R4这个就是错误的,没有指定位域。
(7)乘法指令MUL和乘加指令MLA P129
(8)无符号长乘法指令UMULL和长乘加指令UMLAL,带符号长乘法指令SMULL和长乘加指令SMLAL P131
ARM指令集中和协处理器有关的指令
1.协处理器不能独立工作的芯片,必须和CPU一起工作,用来弥补处理器不能做复杂运算的缺点。
2.ARM有专门的指令实现对协处理器的操作。 (1)协处理器数据操作指令CDP P133
(1) 协处理器数据传送指令LDC和STC P134
(2) 协处理器寄存器传送指令MRC和MCR P136
ARM指令集中的软件中断指令
1. ARM指令集中软件中断指令是唯一一条不使用寄存器的ARM指令吗,也是一条可以条件执行的指令。 2. 指令介绍
(1) 软件中断指令SWI(重要)
P138(当需要软件中断时,执行软件中断指令)
ARM指令在用户迷失中受到很大的局限,有一些资源不能够访问,在需要访问这些资源时,并且要使用软件控制,那么唯一方法就是使用软件中断指令。
举例:
SWI 0xFF00 SWI 0
作0,此时参数是0.
百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库ARM指令集学习总结 - 图文(3)在线全文阅读。
相关推荐: