汇编指令msr_STM 常用汇编指令

在嵌入式开发中,

汇编程序常常用于非常关键的地方,

比如系统启动时初始化,

进出中断时

的环境保护,恢复等对性能有要求的地方。

ARM

指令集可以分为六大类,分别为数据处理指令、Load/Store

指令、跳转指令、程序状态

寄存器处理指令、协处理器指令和异常产生指令。

ARM

指令使用的基本格式如下:

〈opcode〉{〈cond〉}{S}

〈Rd〉,〈Rn〉{,〈operand2〉}

opcode

操作码;指令助记符,如

LDR、STR

等。

cond

可选的条件码;执行条件,如

EQ、NE

等。

S

可选后缀;若指定“S”,则根据指令执行结果更新

CPSR

中的条件码。

Rd

目标寄存器。

Rn

存放第

1

操作数的寄存器。

operand2

2

个操作数

arm

的寻址方式如下:

立即寻址

寄存器寻址

寄存器间接寻址

基址加偏址寻址

堆栈寻址

块拷贝寻址

相对寻址

这里不作详细描述,可以查阅相关文档。

数据处理指令

Load/Store

指令

程序状态寄存器与通用寄存器之间的传送指令

转移指令

异常中断指令

协处理器指令

S3C2410、S3C2440

的数据手册中对各种汇编指令有详细的描述;这里只对较常见的作写

介绍。

1、相对跳转指令:b、bl

这两条指令的不同之处在于

bl

指令除了跳转之外,

还将返回地址(bl

的下一条指令的地址)

保存在

lr

寄存器中。

这两条指令的可跳转范围是当前指令前后

32M。

b

funa

....

funa:

b

funb

....

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值