Files
Operating-System/Experiment/asm-exp/实验六/实验六-3_宏嵌套调用.asm
2026-06-25 00:09:09 +08:00

54 lines
802 B
NASM

; 实验六-3: 宏嵌套调用 - 多个宏配合使用
; 功能: 定义多个宏,实现复杂的输出功能
DATAS SEGMENT
MSG DB 'Test$'
DATAS ENDS
STACKS SEGMENT
DB 64 DUP(?)
STACKS ENDS
CODES SEGMENT
ASSUME CS:CODES, DS:DATAS, SS:STACKS
; 宏定义:输出字符
PRINT_CHAR MACRO CHAR
MOV DL, CHAR
MOV AH, 02H
INT 21H
ENDM
; 宏定义:换行
NEWLINE MACRO
MOV DL, 0AH
MOV AH, 02H
INT 21H
MOV DL, 0DH
MOV AH, 02H
INT 21H
ENDM
; 宏定义:显示字符串
PRINT_STR MACRO STR
LEA DX, STR
MOV AH, 09H
INT 21H
ENDM
START:
MOV AX, DATAS
MOV DS, AX
PRINT_CHAR 'H'
PRINT_CHAR 'e'
PRINT_CHAR 'l'
PRINT_CHAR 'l'
PRINT_CHAR 'o'
NEWLINE
PRINT_STR MSG
MOV AH, 4CH
INT 21H
CODES ENDS
END START