1

"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
Durgesh Chaudhary
  • 1,075
  • 2
  • 12
  • 31
Vineel
  • 436
  • 6
  • 12

0 Answers0