汇编宏伪指令介绍

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

相关推荐
万法若空21 小时前
8086/8088实模式的内存布局
汇编
浩浩测试一下2 天前
内网---> WriteOwner权限滥用
网络·汇编·windows·安全·microsoft·系统安全
一品人家2 天前
win32汇编使用GDI+入门教程之九
汇编·windows·win32汇编
虚构之人3 天前
二进制漏洞挖掘(WinAFL Fuzzing)Windows篇
汇编·网络安全·信息安全·系统安全
一品人家5 天前
win32汇编使用GDI+入门教程之六
汇编·windows·win32汇编
前端菜鸟日常6 天前
鸿蒙开发实战:100 个项目疑难杂症汇编
汇编·华为·harmonyos
188号安全攻城狮7 天前
【PWN】HappyNewYearCTF_9_ret2syscall
linux·汇编·安全·网络安全·系统安全
万法若空7 天前
Vim常用指令汇编
汇编·编辑器·vim
请输入蚊子8 天前
«操作系统真像还原» 第二章 编写MBR主引导记录
linux·汇编·操作系统·bochs·操作系统真像还原
188号安全攻城狮8 天前
【PWN】HappyNewYearCTF_8_ret2csu
linux·汇编·安全·网络安全·系统安全