下载此文档

ARM汇编指令.ppt


文档分类:IT计算机 | 页数:约38页 举报非法文档有奖
1/38
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/38 下载此文档
文档列表 文档介绍
ARM ARM 寻址方式寻址方式 1. 立即数寻址操作数由指令直接给出 MOV R0, #0xFF ;R0 ← 0xFF ADD R0, R0, #300 ;R0 ← 300 2. 寄存器寻址操作数存放在寄存器中 ADD R0, R1, R2 ;R0 ← R1+R2 3. 寄存器移位寻址寄存器中数据移位后形成操作数 ADD R0, R1, R2 LSR #2 ;R0 ← R1+R2 ×4 4. 寄存器间接寻址操作数地址由寄存器给出〖例〗 MOV R2, #0xC0000018 STR R1, [R2] …………………… 0x000053A1 …………………… 0xC0000010 0xC0000014 0xC0000018 0xC000001C 0xC0000020 0xC0000018 R2 0x000053A1 R1 5. 基址变址寻址寄存器内容与指令给出的偏移量相加形成操作数地址 LDR R0, [R1, #4] ; R0 ←[R1+4] LDR R0, [R1], #4 ; R0 ←[R1], R1 ← R1+4 LDR R0, [R1, R2] ; R0 ←[R1+R2] 偏移量由 12位表示,即范围 4K 6. 多寄存器寻址完成多个寄存器传送(多达 16 个寄存器) LDMIA R0,{R1,R3-R5} ;R1 ←[R0], R3 ←[R0+4] ;R4 ←[R0+8], R5 ←[R0+12] 数据数据 D D 数据数据 C C 数据数据 B B 数据数据 A A数据数据 A A数据数据 B B数据数据 C C 数据数据 D D 0x00100200 R0 0x00100200 0x00100204 0x00100208 0x0010020C R1 R3 R4 R5 7. 相对寻址 PC 为基地址,指令中地址标号为偏移量,二者相加形成操作数有效地址。 BL next 8. 堆栈寻址 SP 指示栈顶位置, 4种堆栈操作……………… 0x12345678 0x12345678 空空 SP →栈底满递减堆栈空递减堆栈……………… 0x12345678 0x12345678 空空 SP →栈底地址递增空空 0x12345678 0x12345678 ……………… SP →栈底空递增堆栈空空 0x12345678 0x12345678 ……………… SP →栈底满递增堆栈 ARM ARM 指令格式指令格式?基本指令格式< opcode >[< cond >][s]<Rd>,< Rn >,[<op2>] 操作码条件域(执行该指令要满足的条件) 要否影响程序状态寄存器( CPSR ) 目的寄存器第一源操作数, 必须是寄存器第二源操作数 1[< 参数>]可选 2 指令长度 32bit 3 数据处理类指令通过寄存器移位寻址实现移位操作, ARM 不单独提供移位指令 4 除 Load/Store 类指令,其余指令均不能涉及存储器操作数说明< opcode >[< cond >][s]<Rd>,< Rn >,[<op2>] 操作码条件助记符标志含义 0000 EQ Z=1 相等 0001 NE Z=0 不相等 0010 CS/HS C=1 无符号数大于或等于/LO C=0 无符号数小于 0100 MI N=1 负数 0101 PL N=0 正数或零 0110 VS V=1 溢出 0111 VC V=0 没有溢出 1000 HI C=1,Z=0 无符号数大于 1001 LS C=0,Z=1 无符号数小于或等于 1010 GE N=V 有符号数大于或等于 1011 LT N!=V 有符号数小于 1100 GT Z=0,N=V 有符号数大于 1101 LE Z=1,N!=V 有符号数小于或等于 1110 AL任何无条件执行(指令默认条件) 1111 NV 任何从不执行(不要使用) 对应的汇编代码: CMP R0,R1 ;比较 R0 (a)与 R1 (b) ADDHI R0,R0,#1 ;若 R0>R1 ,则 R0=R0+1 ADDLS R1,R1,#1 ;若 R0 ≤ R1 ,则 R1=R1+1 C代码: If(a > b) a++; Else b++; < opcode >[< cond >][s]<Rd>,< Rn >,[<op2>] <op2> 中的 32 位立即数是由 8位常数在 32 位宽度经过偶数次循环右移得到( 指令解码后中保存该常数和移位信息);能通过上述算法得到的立即数是有效的,否则无效。?关于<op2> 数据处理指令中的<op2> 有三种形式: # imm (立即数寻址) Rm (寄存器寻址) Rm shift

ARM汇编指令 来自淘豆网www.taodocs.com转载请标明出处.

相关文档 更多>>
非法内容举报中心
文档信息
  • 页数38
  • 收藏数0 收藏
  • 顶次数0
  • 上传人iluyuw9
  • 文件大小781 KB
  • 时间2017-02-18