汇编宏伪指令介绍

1、汇编宏伪指令介绍

c 复制代码
.macro macname macargs 
···
.endm

(1)".macro "和".endm "表示宏定义的开始和结束;

(2) ".macro"后面接着宏定义的名字,然后是参数,参数后面的宏定义的实现;

(3)在宏定义中使用参数,需要添加前缀"";

2、汇编宏举例分析

c 复制代码
//实现两个数相加并把结果保存到a1寄存器的宏
.macro add_data p1=0 p2:req
mv a5, \p1
mv a6, \p2
add a1, a5, a6
.endm
关键字 含义
p1=0 第一个参数用"=0"修饰,表示该参数在使用宏时可以省略,如果省略则默认值是0
p2:req 第二个参数用":req"修饰,表示 在调用宏时必须传递一个值,不能省略,否则编译会报错

3、宏的特殊字符

c 复制代码
//在宏定义中想把两个参数作为字符拼接到一起
.macro opcode base length
\base\().\length
.endm

opcode store.l
//等同于下面
store.l

需要用"\()"来告诉汇编器参数什么时候结束,不能直接写成"\base.\length";

相关推荐
weixin_470740361 天前
某算法的python执行汇编
汇编·python·算法
small_wh1te_coder9 天前
GCC深度剖析:从编译原理到嵌入式底层实战
汇编·c++·面试·嵌入式·状态模式·c
白书宇9 天前
5.从零开始写LINUX内核--从实模式到保护模式的过渡实现
linux·汇编·数据库·开源
浩浩测试一下10 天前
02高级语言逻辑结构到汇编语言之逻辑结构转换 if (...) {...} else {...} 结构
汇编·数据结构·数据库·redis·安全·网络安全·缓存
蚰蜒螟11 天前
JVM安全点轮询汇编函数解析
汇编·jvm·安全
要记得喝水15 天前
汇编中常用寄存器介绍
开发语言·汇编·windows·c#·.net
技术领导力17 天前
华为开源CANN,再次释放“昇腾转向”信号
汇编
DONG91321 天前
Python 中的可迭代、迭代器与生成器——从协议到实现再到最佳实践
开发语言·汇编·数据结构·python·算法·青少年编程·排序算法
embrace9924 天前
【C语言学习】scanf函数
c语言·开发语言·汇编·学习·青少年编程·c#·编辑器
麦兜*24 天前
【算法】十大排序算法超深度解析,从数学原理到汇编级优化,涵盖 15个核心维度
java·汇编·jvm·算法·spring cloud·ai·排序算法