汇编控制伪操作之二

来源:本站
导读:目前正在解读《汇编控制伪操作之二》的相关信息,《汇编控制伪操作之二》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《汇编控制伪操作之二》的详细说明。
简介: 本文是关于汇编控制伪操作。

(1) MACRO、MEND及MEXIT

MACRO伪操作标识宏定义的开始,MEND标识宏定义的结束。MERIT用于从宏中跳转出去。用MACRO和MEND定义的一段代码,成为宏定义体,这样在程序中就可通过宏名多次调用该代码段来完成相应的功能。

语法格式

MACRO ;宏定义开始

$lable jump ;宏的名称为jump,有2个参数a1和a2

$lable.loop1 ;$lable.loopl为宏体的内部标号

BGE $lable.loop1

$lable.loop2 ;$lable.loop2为宏体的内部标号

BL $a1 ;参数$a1为一个子程序的名称

BGT $lable.loop2

ADR $a2

MEND

在程序中调用该宏:

exam jump sub,det ;调用宏jump,宏的标号为exam

;参数1为sub,参数2为det

程序被汇编后,宏展开的结果:

examloop1 ;用exam代替$lable构成标号

;examloop1

examloop2

BL sub ;参数1的实际值为sub

BGT examloop2

ADR det ;参数2的实际值为det

示例27 用宏伪操作完成测试-跳转操作举例

在ARM中完成测试-跳转操作需要2条指令,下面定义一条宏指令完成测试-跳转操作。

MACRO ;宏定义开始

$lable TestAndBranch$ds,$re,$aa ;宏的名称为TestAndBranch

;有3个参数

$lable CMP$re,#0

B$aa $ds

MEND ;宏定义结束

在程序中调用该宏:

testTestAndBranch nzero,R0,NE ;调用宏

程序被汇编后,宏展开的结果是:

test CMP R0,#0

BNE nzero

提醒:《汇编控制伪操作之二》最后刷新时间 2024-03-14 01:00:57,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《汇编控制伪操作之二》该内容的真实性请自行鉴别。