; 实验六-4: 宏与子程序比较 ; 功能: 对比宏与子程序的区别和各自适用场景 DATAS SEGMENT MSG1 DB 'Macro Test$' MSG2 DB 'Subroutine Test$' DATAS ENDS STACKS SEGMENT DB 64 DUP(?) STACKS ENDS CODES SEGMENT ASSUME CS:CODES, DS:DATAS, SS:STACKS ; 宏定义 PRINT_STRING MACRO STR LEA DX, STR MOV AH, 09H INT 21H ENDM ; 子程序定义 PRINT_PROC PROC LEA DX, MSG2 MOV AH, 09H INT 21H RET PRINT_PROC ENDP START: MOV AX, DATAS MOV DS, AX ; 使用宏 PRINT_STRING MSG1 MOV DL, 0AH MOV AH, 02H INT 21H ; 使用子程序 CALL PRINT_PROC MOV AH, 4CH INT 21H CODES ENDS END START