经典汇编语言教程:9.6 宏的扩展——GOTO

9.6 宏的扩展——GOTO

转移伪指令GOTO用于实现宏定义体内的转移功能,其使用方式如下:

GOTO 标号

:标号 ;标号后不能写指令,但可写注释

该伪指令的功能是使汇编程序转移到“标号”处汇编,它只能在宏定义MACRO、REPEAT、WHILE、FOR和FORC等语句块内使用,该标号也只在该语句块内有效。

9.6.7宏扩充的举例

例9.17:编写一个给任意寄存器或存储单元清零的宏定义。

解:

Clearlist : VARARG
FORdata:REQ, <list>
mov data, 0
ENDM
ENDM

有了上面的宏定义,下面的二个宏引用都是正确的,尽管宏引用时所带的参数个数是不同的。这正是参数属性VARARG的作用所在。

Clear   ax, bx
……
Clear   si, cl, MemVar, edx ;MemVar是内存变量,任意类型都可以

这二个宏引用展开时所得到的指令如下:

mov ax, 0
mov bx, 0
……
mov si, 0
mov cl, 0
mov MemVar, 0
mov edx, 0

上页:上一课 下页:下一课

经典汇编语言教程·相关目录

第1章 汇编语言的由来,数据类型第2章 CPU资源和存储器
第3章 操作数的寻址方式第4章 标识符和表达式
第5章 微机CPU的指令系统第6章 程序的基本结构
第7章 子程序和库第8章 输入输出和中断
第9章 宏第10章 应用程序设计
第11章 数值运算协处理器第12章 汇编语言和C语言
汇编语言重要附录Windows API函数大全
版权所有 © 中山市飞娥软件工作室 证书:粤ICP备09170368号