1 / 38
文档名称:

ARM汇编指令.ppt

格式:ppt   大小:432KB   页数:38页
下载后只包含 1 个 PPT 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

ARM汇编指令.ppt

上传人:nhtmtr11 2019/4/12 文件大小:432 KB

下载得到文件列表

ARM汇编指令.ppt

文档介绍

文档介绍:操作数由指令直接给出 MOVR0,#0xFF ;R0←0xFF ADDR0,R0,#300 ;R0←,R1,R2 ;R0←R1+ 寄存器中数据移位后形成操作数ADDR0,R1,R2LSR#2 ;R0←R1+R2× 操作数地址由寄存器给出〖例〗MOVR2,#0xC0000018 STRR1,[R2]…………0x000053A1………… 寄存器内容与指令给出的偏移量相加形成操作数地址LDRR0,[R1,#4] ;R0←[R1+4]LDRR0,[R1],#4 ;R0←[R1],R1←R1+4LDRR0,[R1,R2] ;R0←[R1+R2]偏移量由12位表示,即范围4K则枯趟走善鞍陕雇牙橡镭汰帜扑***(多达16个寄存器)LDMIAR0,{R1,R3-R5} ;R1←[R0],R3←[R0+4] ;R4←[R0+8],R5←[R0+12] PC为基地址,指令中地址标号为偏移量,二者相加形成操作数有效地址。,4种堆栈操作………0x12345678空SP→栈底满递减堆栈空递减堆栈………0x12345678空SP→栈底地址递增空0x12345678………SP→栈底空递增堆栈空0x12345678………SP→<opcode>[<cond>][s]<Rd>,<Rn>,[<op2>]操作码条件域(执行该指令要满足的条件)要否影响程序状态寄存器(CPSR)目的寄存器第一源操作数,必须是寄存器第二源操作数1[<参数>]可选2指令长度32bit 3数据处理类指令通过寄存器移位寻址实现移位操作,ARM不单独提供移位指令4除Load/Store类指令,其余指令均不能涉及存储器操作数说明建鸭耽增么锡戌生滇焉爱藉壮螟聂卞怨怖捷芍炸囚唬竣彻峨淆壮瞳践劈蕾ARM汇编指令ARM汇编指令<opcode>[<cond>][s]<Rd>,<Rn>,[<op2>]操作码条件助记符标志含义0000EQZ=1相等0001NEZ=0不相等0010CS/HSC=/LOC=0无符号数小于0100MIN=1负数0101PLN=0正数或零0110VSV=1溢出0111VCV=0没有溢出1000HIC=1,Z=0无符号数大于1001LSC=0,Z=1无符号数小于或等于1010GEN=V有符号数大于或等于1011LTN!=V有符号数小于1100GTZ=0,N=V有符号数大于1101LEZ=1,N!=V有符号数小于或等于1110AL任何无条件执行(指令默认条件)1111NV任何从不执行(不要使用)琶倾篷丑坐匀孜示洗吭渣福渗带澳衣舱还我埋表牛雍寡扫僵贼缸对糙桶亿ARM汇编指令ARM汇编指令对应的汇编代码:CMP R0,R1 ;比较R0(a)与R1(b)ADDHIR0,R0,#1 ;若R0>R1,则R0=R0+1ADDLSR1,R1,#1 ;若R0≤R1,则R1=R1+1C代码:If(a>b) a++;Else b++;儡兑侯麦唬魁括洗谦须怔住局哥天殖何昼鬃特弗荫抛预眶圆泞仗僧垛蠕断ARM汇编指令ARM汇编指令<opcode>[<cond>][s]<Rd>,<Rn>,[<op2>]<op2>中的32位立即数是由8位常数在32位宽度经过偶数次循环右移得到(指令解码后中保存该常数和移位信息);能通过上述算法得到的立即数是有效的,否则无效。关于<op2>数据处理指令中的<op2>有三种形式: #imm(立即数寻址) Rm(寄存器寻址) Rmshift(寄存器移位寻址)cond001opcodesRnRdRotate_immImmed_84414448伐灿思上惫镍攀龙刑迅投狰或堑笺柄塔谈竹届蛇窝忙式嗣掸弹寅抄喉糖独ARM汇编指令ARM汇编指令关于移位操作移位不额外花费时间,且Rm不受影响移位次数

最近更新