当前位置: 首页 > news >正文

汇编的伪指令

一、介绍

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

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

二、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博客

相关文章:

  • Vue3 模板引用:打破数据驱动的次元壁(附高阶玩法)
  • openwrt路由系统------lua、uci的关系
  • SAP HANA Merge
  • 【C++设计模式】第十六篇:迭代器模式(Iterator)
  • mysql进阶(五)
  • Windows控制台函数:控制台读取输入函数ReadConsoleA()
  • STM32中输入/输出有无默认电平
  • C++的内存管理
  • 单片机项目复刻需要的准备工作
  • SpringBoot参数校验:@Valid 与 @Validated 详解
  • nginx反向代理功能
  • LeetCode1871 跳跃游戏VII
  • 江协科技/江科大-51单片机入门教程——P[5-1] 模块化编程 P[5-2] LCD1602调试工具
  • 用Python写一个算24点的小程序
  • 在【k8s】中部署Jenkins的实践指南
  • CTFHub-FastCGI协议/Redis协议
  • 最新版本WebContext构造函数-避坑
  • 推理大模型的后训练增强技术-强化学习篇
  • LeetCode 哈希章节
  • Unity入门学习笔记(Day01)
  • 男子入户强奸高龄独居妇女致其死亡,法院:属实,已执行死刑
  • 习近平举行仪式欢迎巴西总统卢拉访华
  • 字母哥动了离开的心思,他和雄鹿队的缘分早就到了头
  • 济南市委副秘书长吕英伟已任历下区领导
  • 5年建成强化城市核心功能新引擎,上海北外滩“风景文化都是顶流”
  • 解放军仪仗分队参加白俄罗斯纪念苏联伟大卫国战争胜利80周年阅兵活动