经典汇编语言教程:9.5 条件汇编伪指令
4115 点击·0 回帖
![]() | ![]() | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | 条件汇编伪指令是告诉汇编程序:根据某种条件确定一组程序段是否加入到目标程序中。使用条件汇编伪指令的主要目的是:同一个源程序能根据不同的汇编条件生成不同功能的目标程序,增强宏定义的使用范围。 条件汇编伪指令与高级语言(如:C/C++)的条件编译语句在书写形式上相似,在所起作用方面是完全一致的。 9.5.1 条件汇编伪指令的功能 条件汇编伪指令的一般格式如下:
其中:IFnnnn是表9.2中的伪指令,“[…]”内的语句是可选的。 条件汇编伪指令是在汇编程序把源程序转换成目标程序时起作用,其一般含义是:若条件汇编伪指令后面的“条件表达式”为真,那么,语句组1将被汇编;否则,语句组2将被汇编(如果含有ELSE伪指令)。 语句组1或语句组2内还可以包有条件汇编伪指令,这时,就形成了嵌套的条件汇编伪指令。一个嵌套的ELSE伪指令总是与最近的、还没有与其它ELSE伪指令相比配的IFnnnn伪指令相比配。 每条条件汇编伪指令的具体含义如表9.3所示。 表9.3 条件汇编伪指令及其功能一览表
9.5.2条件汇编伪指令的举例 例9.14 编写一个可用DOS或Bios功能调用输入字符的宏定义。
在引用宏INPUT时,汇编程序会根据DOS是否为0来生成调用不同输入功能的程序段。
在引用宏INPUT时,汇编程序会根据符号DOS是否已定义来生成调用不同输入功能的程序段。 例9.15 编写一个可用功能调用输入字符的宏定义。
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
![]() | ![]() |