"phase error between passes error" is reported when I try to assemble my program using 8086 macro assembler. I have defened various macros in macros.asm file and wrote a test.asm file to test my program. When execute masm test.asm; command, phase error between passes is reported. I have included my macro.asm file before "end main" and after "main endp". These are the two files.
TEST.ASM
TITLE PG1:TEST
.MODEL SMALL
.STACK 100H
.DATA
A DW 5 DUP (0)
.CODE
MAIN PROC
MOV AX,@DATA
MOV DS,AX
MOV ES,AX
NEWLINE
MOV BX,2
PRINT_CONTENT BX
DOS_EXIT
MAIN ENDP
INCLUDE C:\MASM\11M20005\MACROS.ASM
END MAIN
MACROS.ASM
NEWLINE MACRO
PUSH AX
PUSH DX
MOV AH,2
MOV DL,0DH
INT 21H
MOV DL,0AH
INT 21H
POP DX
POP AX
ENDM
DOS_EXIT MACRO
MOV AH,4CH
INT 21H
ENDM
RESTORE_REGS MACRO REGS
IRP D,<REGS>
POP D
ENDM
ENDM
SAVE_REGS MACRO REGS
IRP D,<REGS>
PUSH D
ENDM
ENDM
PRINT_CONTENT MACRO REG
PUSH AX
PUSH DX
MOV DX,REG
MOV AH,2
INT 21H
POP DX
POP AX
ENDM