ARM汇编指令
w282529350
这个作者很懒,什么都没留下…
展开
-
DCD伪指令
根据DCD伪指令的定义,{label} DCD exprDCD用于分配一段字内存单元,并用伪指令中的expr初始化之,但我见到有的程序中expr是一个函数名,这是什么意思啊?-----------------------------------------------------------------------------------------------------------转载 2013-04-09 14:25:07 · 3421 阅读 · 1 评论 -
LDR指令详解
ARM指令集中,LDR通常都是作加载指令的,但是它也可以作伪指令。(1)LDR r0,=name,像这种带等号的是伪指令,而不是ARM指令,LDR 伪指令用于加载立即数或一个地址值到指定寄存器.*如果name是立即数的话:LDR R0,=0X123;//将0X123存入R0 *如果name是个标识符:LDR R0,=NAME;//将NAME的地址存入R0转载 2013-04-09 14:48:17 · 8157 阅读 · 0 评论 -
STR指令
STR Rd , addressing ;[addressing]←Rd (store)STR r0, [r1, #0x10] ;r1+0x10这个是所用的实际地址值,但是不会写入r1,在此句之后,r1值不变STR r0, [r1], #0x10 ;r1+0x10这个是所用的实际地址值,这个值会写入r1,此句之后,r1=r1+0x10STR用来存取内存,从rom到ram,而mov是ra转载 2013-04-09 14:58:26 · 2731 阅读 · 0 评论 -
MSR指令
MSR指令的格式为:MSR{条件} 程序状态寄存器(CPSR或SPSR)_,操作数MSR指令用于将操作数的内容传送到程序状态寄存器的特定域中。其中,操作数可以为通用寄存器或立即数。用于设置程序状态寄存器中需要操作的位,32位的程序状态寄存器可分为4个域:位[31:24]为条件标志位域,用f表示;位[23:16]为状态位域,用s表示;位[15:8]为扩展位域,用x表示;位[7转载 2013-04-09 15:20:44 · 2638 阅读 · 0 评论 -
ARM9协处理器CP15及MCR和MRC指令
在基于ARM的嵌入式应用系统中,存储系统通常是通过系统控制协处理器CP15完成的。CP15包含16个32位的寄存器,其编号为0~15。访问CP15寄存器的指令MCR ARM寄存器到协处理器寄存器的数据传送MRC 协处理器寄存器到ARM寄存器的数据传送MCR指令和MRC指令只能在处理器模式为系统模式时执行,在用户模式下执行MCR指令和MRC指令将会触发未定义指转载 2013-04-10 10:09:59 · 1227 阅读 · 0 评论 -
BIC指令
Rd, Rn, Oprand2BIC(位清除)指令对 Rn 中的值 和 Operand2 值的反码按位进行逻辑“与”运算。 (注意:ARM官方网站有误, 写的是补码)BIC 是 逻辑”与非” 指令, 实现的 Bit Clear的功能举例:BIC R0, R0 , #0xF0000000#将 R0 高4位清零BIC R1, R1, #转载 2013-04-10 09:20:21 · 6095 阅读 · 0 评论 -
ORR 指令
ORR 指令的格式为: ORR{条件}{S} 目的寄存器,操作数 1,操作数 2ORR 指令用于在两个操作数上进行逻辑或运算,并把结果放置到目的寄存器中。操作数 1应是一个寄存器,操作数 2 可以是一个寄存器,被移位的寄存器,或一个立即数。该指令常用于设置操作数 1 的某些位。 指令示例: ORR R0,R0,#3 ; 该指令设置R0的0、1位,其余转载 2013-04-10 09:26:38 · 34702 阅读 · 0 评论