[ASM] macamd64.inc: Fix up entry point macros a bit

This is the minimal version to be compatible with GAS. Code segment and NoPad could probably be added later, but they are not strictly required.
This commit is contained in:
Timo Kreuzer 2024-10-22 11:09:00 +03:00
parent 72aed01dbd
commit 901cd2704c
2 changed files with 28 additions and 27 deletions

View file

@ -317,6 +317,7 @@ ENDM
/* MASM compatible ALIGN */ /* MASM compatible ALIGN */
#define ALIGN .align #define ALIGN .align
#define align .align
/* MASM compatible REPEAT, additional ENDR */ /* MASM compatible REPEAT, additional ENDR */
#define REPEAT .rept #define REPEAT .rept

View file

@ -75,52 +75,52 @@ MACRO(BEGIN_EPILOGUE)
ENDM ENDM
MACRO(LEAF_ENTRY, Name, Section, NoPad) MACRO(LEAF_ENTRY, Name, Section, NoPad)
Section segment para 'CODE' //Section segment para 'CODE'
ifb <NoPad> //ifb <NoPad>
db 6 dup HEX(CC) // db 6 dup (0cch)
endif //endif
align 16 align 16
public Name public Name
Name proc frame .PROC Name
END_PROLOGUE END_PROLOGUE
ENDM ENDM
MACRO(LEAF_ENTRY_ARG1, Name, Section, Arg1, NoPad) MACRO(LEAF_ENTRY_ARG1, Name, Section, Arg1, NoPad)
Section segment para 'CODE' //Section segment para 'CODE'
ifb <NoPad> //ifb <NoPad>
db 6 dup HEX(CC) // db 6 dup (0cch)
endif //endif
align 16 align 16
public Name public Name
Name proc frame .PROC Name
END_PROLOGUE END_PROLOGUE
ENDM ENDM
MACRO(LEAF_ENTRY_ARG2, Name, Section, Arg1, Arg2, NoPad) MACRO(LEAF_ENTRY_ARG2, Name, Section, Arg1, Arg2, NoPad)
Section segment para 'CODE' //Section segment para 'CODE'
ifb <NoPad> //ifb <NoPad>
db 6 dup HEX(CC) // db 6 dup (0cch)
endif //endif
align 16 align 16
public Name public Name
Name proc frame .PROC Name
END_PROLOGUE END_PROLOGUE
ENDM ENDM
MACRO(LEAF_ENTRY_ARG3, Name, Section, Arg1, Arg2, Arg3, NoPad) MACRO(LEAF_ENTRY_ARG3, Name, Section, Arg1, Arg2, Arg3, NoPad)
Section segment para 'CODE' //Section segment para 'CODE'
ifb <NoPad> //ifb <NoPad>
db 6 dup HEX(CC) // db 6 dup (0cch)
endif //endif
align 16 align 16
public Name public Name
Name proc frame .PROC Name
END_PROLOGUE END_PROLOGUE
ENDM ENDM
MACRO(LEAF_END, Name, section) MACRO(LEAF_END, Name, Section)
Name endp .ENDP
Section ends //Section ends
ENDM ENDM
MACRO(NESTED_ENTR, Name, Section, Handler, NoPad) MACRO(NESTED_ENTR, Name, Section, Handler, NoPad)