常用ARM汇编指令

整理一下最近学到的基本的ARM汇编指令吧。。

1 指令机器码:每一条ARM指令都对应唯一的一条指令机器码(32bit)
                mov r2,#5===>
                E3A02005
    mov rd,#<const>对应的指令机器码格式说明:
    0-11bit:存放第二操作数(立即数)
    12-15bit:目标寄存器的编号
    20bit:S位,指令加S,该位为1
    21-27bit:mov指令的操作码
    28-31bit:条件位

2 数据处理指令
    1 算术指令:        ADD     ADC     SUB     SBC     
    2 逻辑指令:        AND     ORR     EOR     BIC

ADD Rd, Rn, Rm(或#immed) Rd = Rn + Rm(或#immed) 加法运算,指令为 ADD
ADC Rd, Rn, Rm(或#immed)  Rd = Rn + Rm(或#immed) + 进位 带进位加法运算,指令为 ADC
SUB Rd, Rn, Rm(或#immed)Rd = Rn - Rm(或#immed)减法运算,指令为 SUB
SBC Rd, Rn, Rm(或#immed)Rd = Rn - Rm(或#immed) - 借位带借位减法运算,指令为 SBC
AND Rd, Rn,Rm(或AND Rd, Rn )Rd = Rn & Rm(或Rd = Rd & Rn)按位与运算
ORR Rd, Rn,Rm(或ORR Rd, Rn )Rd = Rn | Rm(或Rd = Rd | Rn)按位或运算
BIC Rd, Rn,Rm(或BIC Rd, Rn)Rd = Rn & (~Rm)(或 Rd = Rd & (~Rn)   )按位位清零
ORN Rd, Rn,RmRd = Rn | (~Rm)按位或非,指令为 ORN
EOR Rd, Rn,Rm(或EOR Rd, Rn )Rd = Rn ^ Rm(或  Rd = Rd ^ Rn )按位异或,指令为 EOR

    3  比较指令:        CMP     CMN     TST     TEQ
    4  数据搬移:        MOV     MVN

 

 

 CMN和TEQ就不一一赘述了

4 MOV R0 R1 @将 R1 里面的数据复制到 R0 中
   MVN  数据取反传送指令 ;取反的有效数字不能超过2位16进制(8位二进制),MVN r2,#0xf800合法,MVN r2,0x1510错误,执行后原数据丢失。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值