例7.14
宏定义:
;定义并调用宏--g7_2
;-------------------------------------------
initz macro ;宏定义开始
mov ax,@data ;初始化段寄存器
mov ds,ax ;
mov es,ax
endm ;宏定义结束
;
prompt macro messge ;宏定义开始
; 本宏定义功能是显示某一条信息
; ;产生用于返回DOS的代码
mov ah,09h ;ah中的功能号9表示要显示一串字符
lea dx,messge ;dx存放要显示的字符串首地址
int 21h ;调用DOS
endm ;宏定义结束
;
finish macro ;宏定义开始
mov ax,4c00h ;ah中的功能号4ch表示要返回DOS,al中的00表示无错
int 21h
endm ;宏定义结束
;------------------------------------------------------------
.model small
.386
.stack 200h ;定义堆栈段
.data ;定义数据段
messg1 db 'Customer name?',13,10,'$'
messg2 db 'Customer address?',13,10,'$'
;------------------------------------------------------------
.code ;定义代码段
begin proc far
.sall
initz
.xall
prompt messg1
.lall
prompt messg2
.xall
finish
begin endp
;--------------------------------------------------------------
end begin
;定义并调用宏--g7_2
;---------------------------------------------------------------
initz macro ;宏定义开始
mov ax,@data ;初始化段寄存器
mov es,ax
endm ;宏定义结束
;
prompt macro messge ;宏定义开始
; 本宏定义功能是显示某一条信息
;; 产生用于返回DOS的代码
mov ah,09h ;ah中的功能号9表示要显示一串字符
lea dx,messge ;dx存放要显示的字符串首地址
int 21h ;调用DOS
endm ;宏定义结束
;
finish macro ;宏定义开始
mov ax,4c00h ;ah中的功能号4ch表示要返回DOS,al中的00表示无错
int 21h
endm ;宏定义结束
;--------------------------------------------------------------
.model small
.386
0200 .stack 200h ;定义堆栈段
0000 .data ;定义数据段
0000 43 75 73 74 6F 6D 65 messg1 db 'Customer name?',13,10,'$'
72 20 6E 61 6D 65 3F
0D 0A 24
0011 43 75 73 74 6F 6D 65 messg2 db 'Customer address?',13,10,'$'
72 20 61 64 64 72 65
73 73 3F 0D 0A 24
;--------------------------------------------------------------
0000 .code ;定义代码段
0000 begin proc far
.sall
initz
.xall
prompt messg1
0007 B4 09 1 mov ah,09h ;ah中的功能号9表示要显示一串字符
0009 8D 16 0000 R 1 lea dx,messg1 ;dx存放要显示的字符串首地址
000D CD 21 1 int 21h ;调用DOS
.lall
prompt messg2
1 ; 本宏定义功能是显示某一条信息
1 ;
000F B4 09 1 mov ah,09h ;ah中的功能号9表示要显示一串字符
0011 8D 16 0011 R 1 lea dx,messg2 ;dx存放要显示的字符串首地址
0015 CD 21 1 int 21h ;调用DOS
.xall
finish
0017 B8 4C00 1 mov ax,4c00h ;ah中的功能号4ch表示要返回DOS,al中的00表示无错
001A CD 21 1 int 21h
001C begin endp
;-------------------------------------------------------------
001C end begin