End each MACRO, REPEAT/REPT, FOR/IRP, and FORC/IRPC directive with the ENDM directive.
Syntax
ENDMRemarks
If the ENDM directive is not used with the MACRO, REPEAT/REPT, FOR/IRP, and FORC/IRPC directives, an error occurs. An unmatched ENDM also causes an error.
If the assembler produces an error message stating that it found the end-of-file on the source and cannot find an END statement when there was an END, the likely cause is a missing ENDM or ENDIF statement. Without ENDM, the assembler treats the rest of the source as part of the MACRO definition.
Note: The name field is not allowed. Do not confuse the ENDM directive with other ending directives that do require the name of the block being ended, such as ENDP or ENDS.
addup MACRO ad1,ad2,ad3
MOV AX,ad1 ;;first parameter in AX
ADD AX,ad2 ;;add next two parameters
ADD AX,ad3 ;;leave sum in AX
ENDM