汇编宏伪指令介绍

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

相关推荐
水饺编程6 天前
第2章:Linux 基础,解压缩【.tar.bz2】压缩包文件
linux·c语言·汇编
Zevalin爱灰灰6 天前
Linux入门第二部分(ARM裸机篇) 第二章 Cortex-A7 MPCore架构与ARM汇编基础
linux·汇编·arm开发·嵌入式
Zevalin爱灰灰6 天前
Linux入门第二部分(ARM裸机篇) 第三章 汇编LED驱动实验
linux·汇编·arm开发
水饺编程7 天前
第2章:Linux 基础,制作【.tar.xz】压缩包文件
linux·c语言·汇编
小向是个Der9 天前
嵌入式进阶——编译与链接
汇编·单片机·学习·编译原理·交叉编译
二十七日秋9 天前
算法刷题笔记「Day 1|四道 OJ 入门题里的深坑」
c语言·汇编·数据结构·c++·笔记·python·算法
银河麒麟操作系统9 天前
两案例入选全球计算联盟年度产业应用案例汇编
大数据·汇编·人工智能
abc light9 天前
ARM 裸机开发(2)——ARM 汇编与启动代码
汇编·arm开发
soso196810 天前
Modbus协议开发实战指南
汇编
水饺编程11 天前
第2章:Linux 基础,解压缩【.tar.gz】压缩包
linux·c语言·汇编