系列文章内容
Linux嵌入式学习之Ubuntu入门(一)基本命令、软件安装、文件结构、编辑器介绍
Linux嵌入式学习之Ubuntu入门(二)磁盘文件介绍及分区、格式化等
Linux嵌入式学习之Ubuntu入门(三)用户、用户组及文件权限
Linux嵌入式学习之Ubuntu入门(四)Makefile
Linux嵌入式学习之Ubuntu入门(六)shell脚本详解
文章目录
前言
嵌入式的汇编涉及到堆栈,SP指针,以及DDR初始化。
GNU汇编语法
学stm32的时候有一个startup_stm32f10x_hd.s的启动文件,在keil MDK和IAR两个软件下,语法有不同。
ARM汇编编译使用的是GCC编译器,要符合GNU语法。
基本格式
格式:
label: instruction @ comment
- label 即标号,表示地址位置,可以通过这个标号得到指令的地址。任何以“:”结尾的标识符都会被识别为一个标号。
- instruction 即指令,也就是汇编指令或伪指令。
- @符号,表示后面的是注释,也可以使用“/ * ”和 “ * / ”来注释。
- comment 是注释内容。
指令、伪指令、伪操作、寄存器名可以大写或小写,但不能混用
段定义
系统预定义了一些段名:
- .text 表示代码段。
- .data 初始化的数据段。
- .bss 未初始化的数据段。
- .rodata 只读数据段。
自己使用.section伪操作定义:
该系列文章介绍了Linux嵌入式学习的基础,从Ubuntu的基本操作到汇编语法,包括指令、段定义、函数、数据传输和跳转指令。特别强调了GNU汇编语法在ARM平台上的应用,以及在STM32开发中的上下文。
订阅专栏 解锁全文
9万+

被折叠的 条评论
为什么被折叠?



