汇编的伪指令

一、介绍

伪指令是用于对汇编过程进行控制的指令,该类指令并不是可执行指令,没有对应机器码,只用于汇编过程中为汇编程序提供汇编信息,帮助编译器编译。当汇编结束时,伪指令的使命也就结束了。伪操作可以实现如下功能:

  • 符号定义;
  • 数据定义和对齐;
  • 汇编控制;
  • 汇编宏;
  • 段描述;

二、ARM常用的伪指令

数据定义伪指令

  • .align :用来对齐或者填充数据等。
  • .byte:把 8 位数当成数据插入汇编代码中。
  • .hword 和.short:把 16 位数当成数据插入汇编代码中。
  • .long 和.int:这两个伪指令的作用相同,都把 32 位数当成数据插入汇编代码中。
  • .word:把 32 位数当成数据插入汇编代码中。
  • .quad:把 64 位数当成数据插入汇编代码中。
  • .float:把浮点数当成数据插入汇编代码中。
  • .ascii 和.string:把 string 当作数据插入汇编代码中,对于 ascii 伪操作定义的字符串,需要自行添加结尾字符'\0'。
  • .asciz:类似于 ascii,在 string 后面自动插入一个结尾字符'\0'。
  • .rept 和.endr:重复执行伪操作。
  • .equ:给符号赋值。

与函数相关的伪指令

.global:定义一个全局的符号,可以是函数的符号,也可以是全局变量的符号。

.include:引用头文件。

.if, .else, .endif:控制语句。

.ifdef symbol:判断 symbol 是否定义。

.ifndef symbol:判断 symbol 是否没有定义。

.ifc string1,string2:判断字符串 string1 和 string2 是否相等。

.ifeq expression:判断 expression 的值是否为 0。

.ifeqs string1,string2:等同于.ifc。

.ifge expression:判断 expression 的值是否大于或等于 0。

.ifle expression:判断 expression 的值是否小于或等于 0。

.ifne expression:判断 expression 的值是否不为 0。

与段相关的伪指令

.section name, "flags

与宏相关的伪指令

.macro macname macargs ...

参考:

汇编语言伪指令概览-CSDN博客

汇编五、伪指令与汇编程序结构_51单片机伪指令-CSDN博客

相关推荐
硅农程序猿7 小时前
从需求到硅片| 一文讲清数字芯片设计流程
arm开发·硬件架构·risc-v
秋田君10 小时前
QT_网络编程体系
网络·arm开发·qt
zlinear数据采集卡1 天前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
振南的单片机世界1 天前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
北京盛世宏博1 天前
以太网温湿度传感器星型组网三种供电布线技术对比文档
arm开发·以太网·原理·传感器·温湿度·原来
zlinear数据采集卡1 天前
D223 ADC数据处理流水线:从原始采样值到工程单位的完整转换链
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
数智大号1 天前
从“芯“出发,筑牢文印安全防线——联想至像以全链路自主可控回应国家安全之问
arm开发·安全
小绫网络安全1 天前
Wireshark抓包完全入门教程:从零开始掌握网络分析
arm开发·测试工具·wireshark
Chief_fly2 天前
【Windows 下载 ARM64 deb 包 麒麟 ARM 离线安装】
arm开发·windows
zlinear数据采集卡2 天前
D223的PWM电机控制:6路独立脉冲+加减速算法深度解析
arm开发·stm32·嵌入式硬件·算法·fpga开发·架构