引言

为了提高效率,进行更为底层的操作,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

【RTOS】RTOS汇编入门 (1)的更多相关文章

  1. 汇编入门学习笔记 (七)—— dp,div,dup

    疯狂的暑假学习之  汇编入门学习笔记 (七)--  dp.div.dup 參考: <汇编语言> 王爽 第8章 1. bx.si.di.和 bp 8086CPU仅仅有4个寄存器能够用 &qu ...

  2. 汇编入门学习笔记 (九)—— call和ret

    疯狂的暑假学习之  汇编入门学习笔记 (九)--  call和ret 參考: <汇编语言> 王爽 第10章 call和ret都是转移指令. 1. ret和retf ret指令:用栈中的数据 ...

  3. 汇编入门学习笔记 (十二)—— int指令、port

    疯狂的暑假学习之  汇编入门学习笔记 (十二)--  int指令.port 參考: <汇编语言> 王爽 第13.14章 一.int指令 1. int指令引发的中断 int n指令,相当于引 ...

  4. 29-ESP8266 SDK开发基础入门篇--编写TCP 客户端程序(Lwip RAW模式,非RTOS版,精简入门)

    https://www.cnblogs.com/yangfengwu/p/11456667.html 由于上一节的源码长时间以后会自动断开,所以再做这一版非RTOS版的,咱直接用lua源码里面别人写的 ...

  5. 寄存器理解 及 X86汇编入门

    本文整理自多材料源,感谢原址分享,请查看末尾Url I, 汇编语言分类: 汇编语言和CPU息息相关,但是不能把汇编语言完全等同于CPU的机器指令.不同架构的CPU指令并不相同,如x86,powerpc ...

  6. Windows X64汇编入门(1)

    最近断断续续接触了些64位汇编的知识,这里小结一下,一是阶段学习的回顾,二是希望对64位汇编新手有所帮助.我也是刚接触这方面知识,文中肯定有错误之处,大家多指正.文章的标题包含了本文的四方面主要内容: ...

  7. 到底该不该用RTOS——rtos的优点

    我现在要不要学习RTOS? 学习RTOS有什么好处? 我的项目要不要跑RTOS? ······等等一些关于RTOS的问题,其实归根结底还是你对RTOS了解的不够,项目开发的经验还不足等. 针对这部分朋 ...

  8. GCC内联汇编入门

    原文为GCC-Inline-Assembly-HOWTO,在google上可以找到原文,欢迎指出翻译错误. 中文版说明 由于译者水平有限,故译文出错之处,还请见谅.C语言的关键字不译,一些单词或词组( ...

  9. 汇编入门——使用DOSBox写一个HelloWorld以及相关软件安装

    0.0.0) 在D盘建立一个ASM文件夹 0.0.1) 放入所需要的文件 1所标示的红色框为必须要存在的文件,要处理汇编文件.百度网盘中下载. 2自己编写的汇编(asm)文件. 3编译汇编自己生成的文 ...

  10. 汇编入门基础与helloworld

    一个存储器拥有128个存储单元,可存储128个byte(字节),一个bite则又是由8个二进制位即bit(比特)组成,bit是计算机的最小信息单位. 总线分为地址总线,控制总线,数据总线 一个cpu有 ...

随机推荐

  1. 9月23日内容总结——pycharm的安装与使用、python语法规范与注释、变量和常量、索引取值以及部分数据类型简介

    今日内容总结 目录 今日内容总结 一.pycharm的安装 1.软件介绍 2.正版安装 1.下载软件 2.安装软件 3.其他方法安装(需要先下载相关资源) ①无限试用法 ②傻瓜式激活法 ③淘宝购买 二 ...

  2. 解析sensor_msgs::PointCloud2 ROS点云数据

    1.一个仿真的点云数据 header: seq: 2116 stamp: secs: 1586919439 nsecs: 448866652 frame_id: "LidarSensor1& ...

  3. Ubuntu18.04 下使用Flatpak稳定安装TIM、微信、迅雷和百度云

    https://gitee.com/wszqkzqk/deepin-wine-for-ubuntu git clone https://gitee.com/wszqkzqk/deepin-wine-c ...

  4. 使用 DirectSound 播放 WAV 文件

    使用 DirectSound 播放 WAV 文件 本文需要的前置知识可以在之前的这两篇文章找到. WAVE音频文件格式及其64位扩展格式的简要介绍 读写wav格式文件 基于本文介绍的方法,我们也可以用 ...

  5. ORACLE数据库起不来

    由于意外导致数据库无法启动 首先切换到oracle用户,查看profile文件. su - oracle cat .bash_profile 然后进入数据库,查看挂载上 sqlplus "/ ...

  6. 从 B 站出发,用 Chrome devTools performance 分析页面如何渲染

    页面是如何渲染的?通常会得到"解析 HTML.css 合成 Render Tree,就可以渲染了"的回答.但是具体都做了些什么,却很少有人细说,我们今天就从 Chrome 的性能工 ...

  7. 使用flex布局(多行,一行三个),换行后最后一行左右对齐问题

    <html> <head> <style> html, body, ul { margin: 0; padding: 0; } ul { width: 100%; ...

  8. MapboxGL基础

    1. 概述 Mapbox GL 是一套开源库,用于在 Web.移动和桌面应用程序中嵌入可自定义且响应迅速的客户端地图.Mapbox GL 贴图以高帧速率呈现.缩写"GL"来自行业标 ...

  9. Spring Boot如何自定义监控指标

    1.创建项目 pom.xml引入相关依赖 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi=" ...

  10. Nginx 同一个域名自动识别 pc h5

    首先设置环境变量 我们先设置变量,通过判断来改变变量的值(注: 我写在server中) set $is_mobile false; # 初始值 if ( $http_cookie ~* "A ...