【RTOS】RTOS汇编入门 (1)

引言

为了提高效率,进行更为底层的操作,RTOS常采用汇编语句,因此了解常用的汇编语句,很有必要

汇编指令

1、.equ:类似于c中的#define,表声明常量

例如:.equ PSW 0x10000000

2、.text :声明接下来的代码是放在text段的

3、.align:声明变量的对其宽度

例如:.align 4

4、.thumb:表示接下来使用的汇编为thumb指令

5、.syntax unified:cortex m3中,为兼容thumb和thumb2,采用该指令来统一汇编语法,并统一使用32位的thumb2指令语法格式来书写

6、.type xxx, %funtion:声明xxx为一个函数

例如:.type port_start, %funtion

      port_start:

          ldr r0, r1

7、cpsid i:屏蔽了配置优先级中断,等同于primask = 1

8、cpsie i:开启可配置优先级中断,等同于primask = 0

9、push:入栈,压入多个寄存器

例如:push{r4, r5}

10、pop:出栈

例如:pop{r4, r5}

11、ldr:load reg,字数据加载指令

例如:ldr r0 = 50

12、ldrb:load byte,字节数据加载指令

例如:ldrb r0, [r1](将r1的地址存到r0)

13、str:store,字数据存储指令

例如:str r5, [r4] (将r5寄存器的值存到r4寄存器的地址,*r4 = r5)

14、strb:store byte,字节数据存储指令

15、add:加法指令

例如:add r1, r1, #r1 (即r1 = r1 + 1)

16、sub:减法指令

例如:sub r1, r1, #1 (即r1 = r1 - 1)

17、mov:一般传送指令

例如:mov r1, #0 (即r1 = 0)

18、msr

posted @ 2022-03-11 22:37  骤雨重山  阅读(316)  评论(0编辑  收藏  举报