下载此文档

3ARM指令及汇编程序设计 (2).ppt


文档分类:IT计算机 | 页数:约30页 举报非法文档有奖
1/30
下载提示
  • 1.该资料是网友上传的,本站提供全文预览,预览什么样,下载就什么样。
  • 2.下载该文档所得收入归上传者、原创者。
  • 3.下载的文档,不会出现我们的网址水印。
1/30 下载此文档
文档列表 文档介绍
ARM 指令及汇编程序设计
2
Agenda
寻址模式
指令格式
AAPCS规范
寻址方式
立即寻址
SUBS R0,R0,#1 ;R0 - 1 -> R0
MOV R0,#0xFF00 ;0xFF00 -> R0
寄存器偏移寻址
MOV R0,R2,LSL #3
;R2的值左移3位,结果放入R0,即R0=R2*8
寄存器间接寻址
LDR R1,[R2]
;将R2中的数值作为地址,取出此地址中的数据保存在R1中
基址寻址
Immediate Offset、Register Offset Scaled Register Offset
LDR R2,[R3,#0x0F]
;将R3中的数值加0x0F作为地址,取出此地址的数值保存在R2中
多寄存器寻址
LDMIA R1!,{R2-R7,R12}
;将R1单元中的数据读出到R2-R7,R12,R1自动加1
堆栈寻址
STMFD SP!,{R1-R7,LR}
;将R1-R7,LR入栈。满递减堆栈
块拷贝寻址
STMIB R0!,{R1-R7}
;将R1-R7的数据保存到存储器中,存储器指针在保存第一个值之前增加,增加方向为向上增长
相对寻址
BL ROUTE1 ;调用到ROUTE1子程序
BEQ LOOP ;条件跳转到LOOP标号处
...
LOOP MOV R2,#2
...
ROUTE1
...
第二个操作数
#immed_8r
常数表达式,必须是一个8位常数的偶数次循环移位
合法常量:0x3FC、0、0xF0000000、200、0xF0000001
非法常量:0x1FE、511、0xFFFF、0x1010、0xF0000010
AND R1,R2,#0x0F
;R2与0x0F,结果保存在R1
LDR R0,[R1],#-4
;读取R1地址上的存储器单元内容,且R1=R1-4
Rm
寄存器方式,操作数位寄存器的数值
SUB R1,R1,R2 ;R1-R2->R1
MOV PC,R0 ;PC=R0,程序跳转到制定地址
LDR R0,[R1],-R2
;读取R1地址上的存储器单元内容并存入R0,且R1=R1-R2
Rm,shift
寄存器移位方式,将寄存器的移位结果作为操作数,但Rm值保持不变

3ARM指令及汇编程序设计 (2) 来自淘豆网www.taodocs.com转载请标明出处.

非法内容举报中心
文档信息
  • 页数30
  • 收藏数0 收藏
  • 顶次数0
  • 上传人yzhlya
  • 文件大小844 KB
  • 时间2018-08-14