Arm汇编指令集1

汇编指令是CPU指令的助记符,通过编译后会生成一串10组成的机器码,能够由CPU读取执行。编程

 

汇编伪指令本质上不是伪指令(只是和指令一块儿写在代码中),它是编译器环境提供的,目的是用来知道编译过程,通过编译后伪指令最终不会生成机器码。架构

 

ARM汇编特色1:函数

ARM采用RISC架构,CPU自己不能直接读取内存,而须要先将内存中的内容加载入CPU中的通用寄存器中才能被CPU处理。操作系统

ldr(load register)指令将内存内容加载到通用寄存器中。blog

str(store register)指令将通用寄存器内容加载到内存中。内存

ldr/str组合用来实现ARM CPU和内存数据交换编译器

 

ARM汇编特色2:ARM支持8中寻址方式io

寄存器寻址             mov r1,r2编译

当即寻址                mov r0, #0xff0class

寄存器移位寻址      mov r0, r1, lsl #3

寄存器间接寻址      ldr r1, [r2]

基址变址寻址         ldr r1,[r2,#4]

多寄存器寻址         ldmia r1!,{r2-r7,r12}

堆栈寻址                stmfd sp!,{r2-r7,lr}

 

相对寻址                beq flag

                         flag:

 

 

ARM汇编特色3:指令后缀

同一指令常常附带不一样后缀,编程不一样的指令。常常使用的后缀有

B(byte)功能不变,操做长度变为8位

H(half word)功能不变,长度变为16位

S(signed)功能不变,操做数变为有符号

如 ldr ldrb ldrh ldrsb ldrsh

S(S标志)功能不变,影响SPSR标志位

如mov和movs   movs r0,#0

 

ARM汇编特色4:条件执行后缀

好比

mov     r0, r1   @至关于C语言中的r0 = r1;

moveq r0, r1  @若是eq后缀成立,则直接执行mov r0 r1; 若是eq不成立,则本句代码直接做废,至关于没有,相似C语言 if(eq) {mov r0, r1}。

一、条件后缀是否成立,不是取决去本句代码,而是取决于这句代码以前的代码运行的后果。

二、条件后缀决定了本句代码是否被执行,而不会影响上一句和下一句代码是否被执行。

后缀以下:

 

ARM汇编特色5:多级指令流水线

为增长处理器指令流的速度,ARM使用多级流水线。

取址----解码----执行,这只是简单的三级流水线,像S5PV210是用13级流水线,ARM11为8级。

 

数据处理指令

数据传输指令 :mov mvn

mov r0,r1

mov r0,#0xff

mov和mvn用法同样,区别是mov是原封不动地传递,而mvn是按位取反后传递。

 

算数指令 add  sub  rsb  adc sbc  rsc

逻辑指令 and  orr   eor  bic

比较指令 cmp cmn tst teq,注意比较指令不用加S(见ARM汇编特色3)就能够影响cpsr中的标志位。

乘法指令 mvl mla umull nmlal smull smlal

前导零计数    clz

这些指令详解,直接百度搜就能知道。

 

cpsr访问指令

mrs和msr

mrs用来读psr,msr用来写psr

cpsr和spsr的区别和联系:cpsr是程序状态寄存器,整个SoC中只有一个;而spsr有五个,分别在5中异常模式下,做用是当从普通模式进入异常模式时,用来保存普通模式下的cpsr的,以再返回普通模式时恢复cpsr。

 

跳转指令 b  bl bx

b     直接跳转(就没打算返回)。

bl    branch and link,跳转前把返回地址放入lr中,以便返回,以便于函数调用。

bx    跳转同时切换到ARM模式,通常用于异常处理的跳转。

 

访存指令:

ldr str ldm stm swp

单个字/半字/字节访问 ldr/str

多字批量访问    ldm/stm

swp    r1,r2,[r0]        @把内存中r0存入r1,再把r2存入r0

 

ARM汇编中的当即数:

合法当即数与非法当即数

ARM指令都是32位,除了指令标记和操做标记外,自己只能附带不多尾数的当即数。所以当即数有合法与非法之分

合法当即数:通过任意位数的移位后非零部分能够用8位表示的即为合法当即数

 

软终端指令:swi

软中断用来实现操做系统中系统调用

相关文章
相关标签/搜索