• 【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

  • 相关阅读:
    C# 委托应用总结
    C语言指针总结
    SQL2005四个排名函数(row_number、rank、dense_rank和ntile)的比较
    C#接口
    C# Linq
    C#反射
    重写与重载
    mysql01
    ajax
    bootstrap02导航菜单
  • 原文地址:https://www.cnblogs.com/ZYQS/p/15480694.html
Copyright © 2020-2023  润新知