P4:一些常用的汇编指令。

在嵌入式开发以及freeRTOS操作系统的开发过程中,离不开一些常用的汇编指令,或许有人说,都什么年代了,还有人用汇编,其实我想说的是,学习一些常用的汇编指令还是有必要的,那接下来我们就看一下一些常见的汇编指令的。

汇编指令最典型的格式如下:

标号
        操作码        操作数1,         操作数2, …         ;注释。

其中,标号是可以没有的,如果有,它必须顶格写。;后面表示注释

1、LDR读内存指令

LDR R0, [R1, #4] ;读地址"R1+4",得到四个字节数据存入R0
LDR R0, =NVIC_IRQ_SETEN0 ;在这里的LDR是个伪指令,相当于R0=NVIC_IRQ_SETEN0

此外还有LDRB:读1个字节;LDRH:读两个字节等。

2、STR写内存指令

STR R0, [R1, #4] ;把R0的4字节数据写入地址"R1+4"

同样,也有STRB:写一个字节;STRH:写两个字节。

3、ADD、SUB加减指令

ADD R0, R1, R2 ;R0=R1+R2
ADD R0, R0, #1 ;R0=R0+1
SUB R0, R1, R2 ;R0=R1-R2
SUB R0, R0, #1 ;R0=R0-1

4、CMP比较指令

CMP R0, R1 ;结果保存在PSR寄存器中(程序状态寄存器)

5、B、BL跳转指令

B main ;直接跳转
BL main ;先把返回地址保存在LR寄存器里再跳转

5、STMDB装载指令

STMDB R0!, {R4-R11} ;将R11的地址储存到R0-4所指向的地址的数据中,将R10的地址储存到R0所指向的地址-8的数据中...,4个字节,并将最终的地址保存到R0中

!感叹号表示将最后的地址写回R0中

6、LDMIA储存指令

LDMIA R0!, {R4-R11} ;将R0所指向的地址的数据储存到R4的地址中,将R0所指向的地址+4的数据储存到R5的地址中...并将最终的地址保存到R0中

!感叹号表示将最后的地址写回R0中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

STORM-WYW

你的鼓励将是我创作最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值