4.7.2 宏结构举例

4.7.2 宏结构举例

【例4-24】 程序经常需要用DOS的2号功能调用显示一个字符,用3条语句编写成一个宏结构。

DISPCHARMACRO CHAR ;定义宏,宏名DISPCHAR,带有形;参CHAR

MOV AH,02H

MOV DL,CHAR;宏定义中使用参数

INT 21H

ENDM;宏定义结束

【例4-25】 设计一个将十六进制数的ASCII码值转换为对应一位十六进制数的宏。假设转换前的ASCII值在AL中,转换后的十六进制数也在AL中,不进行错误检测。

ASCTON MACRO

CMP AL,′9′

JBE LP1

CMP AL,′a′

JB LP2

SUB AL,20H

LP2:SUB AL,7

LP1:SUB AL,30H

ENDM

【例4-26】 设计将一位十六进制数转换为ASCII码显示的宏。假设转换前十六进制数值在AL中。

TONASC MACRO

AND AL,0FH

CMP AL,′9′

JB LP

ADD AL,07H

LP:ADD AL,30H

MOV DL,AL

MOV AH,02H

INT 21H

ENDM