汇编宏伪指令介绍

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";

相关推荐
ComputerInBook2 天前
X64 汇编 MOVSD 的两种用法
汇编·汇编指令·movsd
YangWeiminPHD3 天前
金水32051编译器下的AI8051U单片机入门:从点亮LED到“你好,世界,我来了!”
c语言·汇编·51单片机·编译器
九思十安5 天前
HNU2026-计算机系统-笔记 5 汇编进阶
汇编·笔记
九思十安5 天前
HNU2026-计算机系统-笔记 4 汇编初步
汇编·笔记
这猪好帅6 天前
协程原理与实现
汇编
Byron Loong9 天前
【逆向】AT Hook 与 Inline Hook 对比
c语言·汇编·c++
iCxhust11 天前
微机原理课程设计大综合---计数器
汇编·单片机·嵌入式硬件·课程设计·微机原理
xxjj998a12 天前
PHP与汇编:从Web到硬件的编程差异
开发语言·汇编·php
陈eaten12 天前
汇编使用AES指令集实现AES解密
汇编·python·aes解密·aes指令集
顾鉴行思13 天前
10 字符串常量到底存在哪里?
c语言·汇编·经验分享