ARM指令及汇编程序设计.ppt
《ARM指令及汇编程序设计.ppt》由会员分享,可在线阅读,更多相关《ARM指令及汇编程序设计.ppt(30页珍藏版)》请在三一办公上搜索。
1、ARM 指令及汇编程序设计,2,Agenda,寻址模式指令格式AAPCS规范,寻址方式,立即寻址SUBS R0,R0,#1;R0-1-R0MOV R0,#0 xFF00;0 xFF00-R0寄存器偏移寻址MOV R0,R2,LSL#3;R2的值左移3位,结果放入R0,即R0=R2*8,寄存器间接寻址LDR R1,R2;将R2中的数值作为地址,取出此地址中的数据保存在R1中基址寻址Immediate Offset、Register Offset Scaled Register OffsetLDR R2,R3,#0 x0F;将R3中的数值加0 x0F作为地址,取出此地址的数值保存在R2中,多寄存器
2、寻址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.,指令格式,基本格式数据处理类 S,内存访问类:BT,内的项是必须的内的项是可选的opcode指令助记符,如LDR,STR等cond执行条件,如EQ,
3、NE等S是否影响CPSR寄存器的值Rd目标寄存器Rn第一个操作数的寄存器operand2 第二个操作数,第二个操作数#immed_8r常数表达式,必须是一个8位常数的偶数次循环移位合法常量:0 x3FC、0、0 xF0000000、200、0 xF0000001非法常量:0 x1FE、511、0 xFFFF、0 x1010、0 xF0000010AND R1,R2,#0 x0F;R2与0 x0F,结果保存在R1LDR R0,R1,#-4;读取R1地址上的存储器单元内容,且R1=R1-4,Rm 寄存器方式,操作数位寄存器的数值SUB R1,R1,R2;R1-R2-R1MOV PC,R0;PC=R
4、0,程序跳转到制定地址LDR R0,R1,-R2;读取R1地址上的存储器单元内容并存入R0,且R1=R1-R2Rm,shift寄存器移位方式,将寄存器的移位结果作为操作数,但Rm值保持不变,形式1:type#n其中type 为 ASR(算术右移)、LSL(逻辑左移)、ROR(循环右移)、RRX(带扩展的循环右移1位)中的一种ADD R1,R1,R1,LSL#3;R1=R1*8形式2:type Rs 其中type ASR(算术右移)、LSL(逻辑左移)、ROR(循环右移)中的一种;Rs是偏移量寄存器,低8位有效,若其值大于或等于32则第二个操作数的结果为0(ASR,ROR例外),ARM汇编程序设
5、计,文件格式汇编文件*.s引入文件*.INCC程序*.C头文件*.H汇编语句格式标号;注释标号顶格写,指令不可顶格书写标号后没有:程序中可以有空行分行用(用于比较长的语句),常量数字常量十进制 12,5,876,0十六进制 0 xFF,0 x1N进制 n-XXX,2-010111字符常量布尔常量,段定义AREA Hello,CODE,READONLYENTRYSTART MOV R7,#10MOV R6,#5ADD R6,R6,R7BEND,ARM汇编伪指令,在 ARM 汇编语言程序里,有一些特殊指令助记符,这些助记符与指令系统的助记符不同,没有相对应的操作码,也就是不会生成机器码,仅仅是在编
6、译器软件中起着格式化的作用,通常称这些特殊指令助记符为伪指令。伪指令在源程序中的作用是为完成汇编程序作各种准备工作的,这些伪指令仅在汇编过程中起作用,一旦汇编结束,伪指令的使命就完成。在 ARM 的汇编程序中,有如下几种伪指令:数据常量定义伪指令、数据变量定义伪指令、内存分配伪指令及其他伪指令。,数据常量定义伪指令,数据常量定义伪指令EQU用于为程序中的常量、标号等定义一个等效的字符名称,类似于 C 语言中的#define。EQU语法格式:名称 EQU 表达式,类型;其中 EQU 可用“*”代替。名称为 EQU 伪指令定义的字符名称,当表达式为 32 位的常量时,可以指定表达式的数据类型,可以
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- ARM 指令 汇编程序 设计
链接地址:https://www.31ppt.com/p-4849620.html