循环伪指令FOR与9.4.2节中伪指令IRP在功能上完全一致,设置该伪指令的原因也是为了保证与先前版本的兼容性。
伪指令FOR的使用方式如下:
FOR parameter[:REQ|:=<default>], <argument [, argument]...> 语句序列 ;被重复的汇编语言语句 ENDM
其中各参数的说明如下:
parameter
一个合法的标识符,它依次取后面参数表中的值。在指令序列中,该变量的每次出现都用其值所替换;
:REQ
说明该变量的取值不能为空;
:=<default>
指定该变量的缺省值,若后面的参数表缺省某个参数(用连续的逗号),这时,该循环变量将取其缺省值;
Argument
参数表中可含有文本、符号、字符串或数值常量,每个参数之间要用逗号分割。
例如:
FOR data:=< ?>, <"123", , 21, 0> DB data ENDM …… FOR reg:REQ, < ax, bx, dx> push reg ENDM
该语句在宏展开时,将得到下列语句:
DB "123" DB ? DB 21 DB 0 …… push ax push bx push dx