ARM中指令的学习和分析(用法、格式以及英文全称)

ARM指令及功能描述                                                                                 满光明 2006-3-18 于电子科技大学指令格式:  指令{条件}{S} {目的Register},{OP1},{OP2}"{ }"中的内容可选。即,可以不带条件只有目的寄存器,或
摘要由CSDN通过智能技术生成

ARM指令及功能描述

感谢 电子科技大学满光明的分享,在此基础又做了补充,方便查阅

指令格式:  指令{ 条件}{S} { 目的Register}{OP1}{OP2}

"{ }"中的内容可选。即,可以不带条件只有目的寄存器,或

只有目的寄存器和操作数1,也可以同时包含所有选项。“S” 决定指令的操作是否影响CPSR中条件标志位的值,当没有S时指令不更新CPSR中条件标志位的值

 

助记符

英文全称

示例、功能

B

Branch

B  Label   ;程序无条件跳转到标号Label处执行

BL

Branch with Link

BL Label ;当程序无条件跳转到标号Label处执行时,同时将当前的PC值保存到R14

BLX

Branch with Link and exchange

BLX  Label ;从ARM指令集跳转到指令中所指定的目标地址,并将处理器的工作状态由ARM状态切换到Thumb状态,该指令同时将PC的当前内容保存到寄存器R14中

BX

Branch and exchange

BX  Label ;跳转到指令中所指定的目标地址,目标地址处的指令既可以是ARM指令,也可以是Thumb指令

 

 

 

 

 

 

 

 

 

 

MOV

Move

MOV R1,R0,LSL#3 ;将寄存器R0的值左移3位后传送到R1

MVN

Move NOT

MVN R0,#0 ;将立即数0取反传送到寄存器R0中,完成后R0=-1

CMP

Compare

CMP R1,R0      ;将寄存器R1的值与寄存器R0的值相减,并根据结果设置CPSR的标志位

CMN

Compare negative

CMN R1,R0     ;将寄存器R1的值与寄存器R0的值相加,并根据结果设置CPSR的标志位

TST

Test

TST R1,#0xffe ;将寄存器R1的值与立即数0xffe按位与,并根据结果设置CPSR的标志位

TEQ

Test equivalence

TEQ     R1,R2       ;将寄存器R1的值与寄存器R2的值按位异或,并根据结果设置CPSR的标志位

ADD

Add

ADD R0,R2,R3,LSL#1       R0 = R2 + (R3 << 1)

ADC

Add with carry

ADCS   R2,R6,R10  R2 = R6R10!C,且更新CPSR的进位标志位

SUB

Subtract

SUB  R0,R1,#256       R0 = R1 – 256

SBC

Subtract with carry

SUBS R0,R1,R2  R0 = R1 - R2 - C,并根据结果设置CPSR的进位标志位

RSB

Reverse subtract

RSB R0,R1,R2  R0 = R2 – R1

RSC

Reverse subtract with carry

RSC R0,R1,R2       R0 = R2 – R1 - C

AND

And

AND R0,R0,#3  该指令保持R001位,其余位清零。

ORR

OR

ORR R0,R0,#3  将寄存器r0和立即数3(0011)进行位与;

其实相当于将R001位置1,其余位保持不变。

EOR

Exclusive OR

EOR R0,R0,#3 ; 该指令反转R001位,其余位保持不变。

BIC

Bit clear

BIC R0,R0,#0b1011  该指令清除 R0 中的位 01、和 3,其余的位保持不变。

CLZ

Count left zero

计算操作数最高端0的个数

 

MUL

Multiply

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值