⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ifdef.asm

📁 suanfa de shiyan xw dui gan xingqu de pengyou you bangzhu
💻 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 + -