首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

转移伪指令GOTO

转移伪指令GOTO

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

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

该伪指令的功能是使汇编程序转移到“标号”处汇编,它只能在宏定义MACRO、REPEAT、WHILE、FOR和FORC等语句块内使用,该标号也只在该语句块内有效。
9.6.7宏扩充的举例
例9.17:编写一个给任意寄存器或存储单元清零的宏定义。
解:
Clearlist : VARARG
FORdata:REQ, <List>
Movdata, 0
ENDM
ENDM
有了上面的宏定义,下面的二个宏引用都是正确的,尽管宏引用时所带的参数个数是不同的。这正是参数属性VARARG的作用所在。
Clear Ax, Bx
……
Clear Si, Cl, MemVar, Edx;MemVar是内存变量,任意类型都可以
这二个宏引用展开时所得到的指令如下:
Movax, 0
Movbx, 0
……
Movsi, 0
Movcl, 0
MovMemVar, 0
Movedx, 0
返回列表