汇编语言实例:封装器

现在创建一个简短的程序 Wraps.asm 来展示之前已介绍的作为过程封装器的宏。由于每个宏都隐含了大量繁琐的参数传递,因此程序出奇得紧凑。假设这里所有的宏当前都在 Macros.inc 文件内:
  1. ; 过程封装器宏 (Wraps.asm)
  2. ; 本程序演示宏作为库过程的封装器。
  3. ; 内容: mGotoxy, mWrite, mWriteString, mReadString, 和 mDumpMem.
  4. INCLUDE Irvine32.inc
  5. INCLUDE Macros.inc ; 宏定义
  6.  
  7. .data
  8. array DWORD 1,2,3,4,5,6,7,8
  9. firstName BYTE 31 DUP(?)
  10. lastName BYTE 31 DUP(?)
  11.  
  12. .code
  13. main PROC
  14. mGotoxy 0,0
  15. mWrite <"Sample Macro Program",0dh,0ah>
  16.  
  17. ; 输入用户名
  18. mGotoxy 0,5
  19. mWrite "Please enter your first name: "
  20. mReadString firstName
  21. call Crlf
  22.  
  23. mWrite "Please enter your last name: "
  24. mReadString lastName
  25. call Crlf
  26.  
  27. ; 显示用户名
  28. mWrite "Your name is "
  29. mWriteString firstName
  30. mWriteSpace
  31. mWriteString lastName
  32. call Crlf
  33.  
  34. ; 显示整数数组
  35. mDumpMem OFFSET array,LENGTHOF array, TYPE array
  36. exit
  37. main ENDP
  38. END main
程序输出 程序输出的示例如下: