最近更新|下载排行|软件分类|安卓分类|收藏本站 三维下载 - 快速安全的软件下载中心,给您不一样的软件下载体验!
您的位置:首页>软件下载>教育学习 > 电脑学习 > ARM汇编指令v1.0

ARM汇编指令

v1.0 ARM汇编指令集手册下载
  • 软件大小:10MB
  • 软件版本:v1.0
  • 软件语言:中文
  • 软件授权:免费版
  • 更新时间:2018-03-19
  • 软件类别:电脑学习类
  • 应用平台:WinXP/Vista/Win7/Win8
  • 网友评分:

下载地址网友评论收藏该页

  • 软件介绍

  • 下载地址
  • 网友评论

ARM汇编指令手册是小编为大家整理的编程学习教程,这个手册是编程人员必看的教学资料。拥有超多的编程快捷指令,让编程人员快速高效的编程。这款手册免费下载,不用花一分钱哦!

ARM汇编的特点

1. LDR/STR架构

1).ARM采用RISC架构,CPU本身不能直接读取内存,而需要先将内存中内容加载入CPU中通用寄存器中才能被CPU处理。

2).ldr(load register)指令将内存内容加载入通用寄存器。

3).str(store register)指令将寄存器内容存入内存空间中。

4).ldr/str组合用来实现 ARM CPU和内存数据交换。

2. 至此8种寻址方式

1).寄存器寻址mov r1, r2。

2).立即(立即数)寻址 mov r0, #0xFF00。

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

4).寄存器间接寻址 ldr r1, [r2] 表示内存,内存地址存在r2这个寄存器中,把内存地址里的值给r1。

5).基址变址寻址ldr r1, [r2, #4]内存地址在r2+4里面。

6).多寄存器寻址 ldmia r1!, {r2-r7, r12}一次访问多个寄存器。

7).堆栈寻址 stmfd sp!, {r2-r7, lr}。

8).相对寻址 beq flag。

3. 指令后缀

同一指令经常附带不同后缀,变成不同的指令。经常使用的后缀有:

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

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

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

如 ldr ldrb ldrh ldrsb ldrsh

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

如 mov和movs movs r0, #0

4. 条件执行后缀

条件后缀是否成立取决于当前代码的前面的代码。

条件后缀只影响当前代码的执行。

5. 多级指令流水线

为增加处理器指令流的速度,ARM使用多级流水线.,下图为3级流水线工作原理示意图。(S5PV210使用13级流水线,ARM11为8级)

允许多个操作同时处理,而非顺序执行。

1).PC指向正被取指的指令,而非正在执行的指令

为什么要学习汇编语言?

1)嵌入式硬件上电的初始化代码是用汇编代码编写;

2)调试代码时,问题的解决有可能看汇编代码;

3)系统调优(提高产品整体运行效率);

memcpy:C语言函数原型

:汇编代码 - 效率更高

4)有些逻辑,拿C语言无法实现

例如,用c访问r5寄存器

register int a;

2、学习目标

1)使用汇编控制LED灯;

2)可以阅读汇编代码。

3、学ARM汇编要学的内容

ARM汇编指令操作教程

伪指令

伪操作

数据传输与跳转指令详解

1. 数据处理指令

数据传输指令 mov mvn

算术指令 add sub rsb adc sbc rsc

逻辑指令 and orr eor bic

比较指令 cmp cmn tst teq

乘法指令 mvl mla umull umlal smull smlal

前导零计数 clz

2. cpsr访问指令

mrs & msr

mrs用来读psr,msr用来写psr

CPSR寄存器比较特殊,需要专门的指令访问,这就是mrs和msr。

3. 跳转(分支)指令

b & bl & bx

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

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

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

4. 访存指令

ldr/str & ldm/stm & swp

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

多字批量访问 ldm/stm

swp r1, r2, [r0]

swp r1, r1, [r0]

5. 软中断指令

swi(software interrupt)

软中断指令用来实现OS中系统调用

ARM汇编中的立即数

合法立即数与非法立即数

ARM指令都是32位,除了指令标记和操作标记外,本身只能附带很少位数的立即数。因此立即数有合法和非法之分。

合法立即数:经过任意位数的移位后非零部分可以用8位表示的即为合法立即数。

协处理器与协处理器指令集

6.协处理器cp15操作指令

mcr & mrc

mrc用于读取CP15中的寄存器

mcr用于写入CP15中的寄存器

7.arm寻址方式

1). 寄存器: MOV R1,R2 ; R2->R1

2). 立即数: SUBS R0,R1,#1; R0=R1-1

3). 寄存器移位:MOV R0,R2,LSL #3 ;R2左移三位->R0

4). 间接寻址: LDR R1,[R2] ; 装载R2指向的内存数值至R1

5). 基址寻址: LDR R2,[R3,#0x0F] ;R3+0x0F作为地址,将所

指向的置装入R2.R3的值不改变

6). 多寄存器寻址: LDMIA R1!,{R2-R7,R12} ; 将R1所指向的内

存块依次装入{}中的寄存器。

STMIA R0!,{R3-R6,R10} ;将{}列出的寄存器里的值依次填入R0所指向的内存块。

7). 相对寻址: BL XXX ;跳转

BEQ XXX ;条件跳转

协处理器解析:

SoC内部另一处理核心,协助主CPU实现某些功能,被主CPU调用执行一定任务。

ARM设计上支持多达16个协处理器,但是一般SoC只实现其中的CP15.(cp:coprocessor)

协处理器和MMU、cache、TLB等处理有关,功能上和操作系统的虚拟地址映射、cache管理等有关。

  • 下载地址

有问题?点此报错 + 投诉 + 提问软件无法下载或下载后无法使用,请点击报错,谢谢!