📄 ifdef.asm
字号:
; 第五章 高级汇编语言技术
; 实验三 条件伪指令的使用
;一.实验目的:
; 条件伪指令提供了要测试的条件,使汇编依测试结果有选择地处理源程序
; 段.它可用在源程序的任何地方.
;二.实验内容:
; 对于 DOS 功能调用,所有的功能调用都需要在 AH 寄存器中存放功能码,
; 而其中有一些功能需要在 DX 中放一个值.试定义宏指令 DOS21,要求只有在
; 程序中定义了缓冲区时, 汇编为:
; MOV AH, DOSFUNC
; MOV DX, OFFSET BUFF
; INT 21H
; 否则,无MOV DX, OFFSET BUFF 指令.
;三.程序清单:
;***************************************************************************
dos21 macro dosfun, buff ;宏定义
mov ah, dosfun
ifdef buff ;如果buff存在, 则
mov dx, offset buff
else ;否则
mov ah, dosfun
endif
int 21h
endm ;宏定义结束
data segment
ipfield db 'Hello!', 13, 10, '$'
data ends
code segment
assume cs: code, ds: data
main proc far
push ds
mov ax, 0
push ax
mov ax, data
mov ds, ax
dos21 09h, ipfield ;显示'Hello!'
dos21 01h ;等待按键
ret
main endp
code ends
end main
;***************************************************************************
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -