7.4.1 .IF/.ELSEIF/.ELSE/.ENDIF
.IF/.ELSEIF/.ELSE/.ENDIF相当于高级语言中的if,then,else,endif语句。
其格式为:
.IF 表达式1
(汇编语言语句组1)
.ELSEIF 表达式2
(汇编语言语句组2)
.ELSEIF 表达式3
(汇编语言语句组3)
.
.
.ELSE
(汇编语言语句组n)
.ENDIF
其中,汇编程序展开 .IF宏指令时,产生一条比较指令cmp,用来完成其后的表达式所指定的操作,且当该表达式的值为真时(比较结果相等)执行跟在
.IF后的汇编语言语句组。如果在 .IF后还存在 .ELSEIF或 .ELSE指令,则在执行完这组语句后,还要产生一条转移指令,转移到
.ENDIF之后的第一条指令去执行。如果表达式的值为假(比较结果不等),则产生一条转移指令,转移到紧跟在 .IF之后的宏指令(可能是
.ELSEIF,也可能是 .ELSE或 .ENDIF)去执行。汇编程序对 .ELSEIF的处理和 .IF相类似。对 .ELSE和
.ENDIF的处理则比较简单,.ELSE只需产生其后跟着的汇编语言语句组,.ENDIF则为 .IF语句的结束。
|