朱老师ARM裸机学习笔记(六):ARM汇编

本文详细介绍了ARM汇编语言的特性和常用指令,包括LDR/STR架构、8种寻址方式、条件执行后缀、多级指令流水线。还探讨了数据处理指令如数据传输、算术、逻辑、比较指令,以及CPSR访问、跳转、访存、协处理器指令。此外,讲解了栈处理、GNU汇编伪指令和立即数的使用,为深入理解ARM汇编提供了全面的指导。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

汇编指令和伪汇编指令

汇编指令:CPU指令的助记符
伪汇编指令:本质上不是指令,是编译器环境提供的,目的是用来指导编译过程,经过编译后伪指令最终不会生成机器码

ARM汇编的特点

ARM汇编的特点1:LDR/STR架构

ARM采用RISC架构,CPU本身不能直接读取内存(CISC结构的可以直接读取内存),而需要先将内存中内容载入CPU中通用寄存器才能被CPU执行。
ldr (load register) 将内存内容加载进入通用寄存器
str (store register) 将寄存器内容存入内存空间

ARM汇编的特点2:8种寻址方式

类别 示例
寄存器寻址 mov r1, r2
立即寻址 mov r0, #0xFF00}
寄存器移位寻址 mov r0, r1, lsl #3 @(r0=r1<<3)
寄存器间接寻址 ldr r1, [r2]
基址变址寻址 ldr r1,[r2,#4] @r1 = r2+4
多寄存器寻址 ldmia r1!,{r2-r7,r12}
堆栈寻址 stmfd sp!, {r1-r7,lr}
相对寻址 beq flag

ARM汇编的特点3:指令后缀

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

后缀 功能
B (byte) 功能不变,操作长度变为8位
H (half word) 功能不变,长度变为16位
S (signed) 功能不变,操作数变为有符号 如 ldr ldrb ldrh ldrsb ldrsh
S (S标志) 功能不变,影响CPSR标志位 如 mov和movs

ARM汇编的特点3:条件执行后缀

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值