本段代码使用了带参宏,演示了他们是如何使用的。以及当传入的字符串有多个的时候应当如何处理。可以看到宏的使用与此前所介绍的函数的使用有很大的不同,这一点尤其体现在参数的传递上。
;过程封装器宏 (Wraps.asm)
;本程序演示宏作为库的过程的封装器
;内容:mGotoxy,mWrite,mWriteString,mReadString,mDumpMem
include irvine32.inc
include macros.inc
.data
array WORD 1,2,3,4,5,6,7,8
firstname BYTE 31 DUP(?)
lastname BYTE 31 DUP(?)
.code
main PROC
mGotoxy 0,0
mWrite <"Sample Macro Program",0dh,0ah>
;输入用户名
mGotoxy 0,5
mWrite "Please enter your first name:"
mReadString firstname
call Crlf
;显示用户名
mWrite "Your name is:"
mWriteString firstname
mWriteSpace
mWriteString lastname
call Crlf
;显示整数数组
mDumpMem OFFSET array,LENGTHOF array,BYTE
call WaitMsg
exit
main ENDP
END main