汇编quad_ARM-汇编指令集(总结)

本文详细介绍了ARM汇编指令集,包括LDR/STR指令在数据传输中的作用,8种寻址方式,如寄存器寻址、立即数寻址、堆栈寻址等。还讨论了条件执行后缀、多级指令流水线,并详细阐述了数据处理、访存、跳转指令及协处理器操作。此外,文章还提到了汇编伪指令的使用,如mrs、msr、ldm/stm以及adr和ldr的区别。
摘要由CSDN通过智能技术生成

ARM汇编指令集

指令、伪指令

(汇编)指令:   是机器码的助记符,经过汇编器编译后,由CPU执行。

(汇编)伪指令:用来指导指令执行,是汇编器的产物,最终不会生成机器码。

有两种不同风格的ARM指令

1).ARM官方的ARM汇编风格:指令一般用大写,Windows中的IDE开发环境。

2).GNU风格的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. 指令后缀

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值