Linux嵌入式学习之Ubuntu入门(五)汇编语法学习

该系列文章介绍了Linux嵌入式学习的基础,从Ubuntu的基本操作到汇编语法,包括指令、段定义、函数、数据传输和跳转指令。特别强调了GNU汇编语法在ARM平台上的应用,以及在STM32开发中的上下文。

系列文章内容

Linux嵌入式学习之Ubuntu入门(一)基本命令、软件安装、文件结构、编辑器介绍

Linux嵌入式学习之Ubuntu入门(二)磁盘文件介绍及分区、格式化等

Linux嵌入式学习之Ubuntu入门(三)用户、用户组及文件权限

Linux嵌入式学习之Ubuntu入门(四)Makefile

Linux嵌入式学习之Ubuntu入门(五)汇编语法学习

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伪操作定义:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值