#define MACRO(name, ...) name MACRO __VA_ARGS__
/* To avoid reverse syntax we provide a new macro .PROC, replacing PROC... */
-.PROC MACRO namex
- namex PROC FRAME
+.PROC MACRO name
+ name PROC FRAME
+ _name:
ENDM
/* ... and .ENDP, replacing ENDP */
DB text, 0
ENDM
+.text MACRO
+ENDM
+
+.code64 MACRO
+ .code
+ENDM
+
+UNIMPLEMENTED MACRO name
+ENDM
+
/* We need this to distinguish repeat from macros */
#define ENDR ENDM
.endm
/* MASM compatible PUBLIC */
-#define PUBLIC .global
+.macro PUBLIC symbol
+ .global \symbol
+.endm
/* MASM compatible ALIGN */
#define ALIGN .align
lea rdx, 1b[rip]
lea r8, 2b[rip]
mov r9, \line
- call _DbgPrint
+ call DbgPrint
add rsp, 0x20
.endm
#define UNIMPLEMENTED UNIMPLEMENTED2 __FILE__, __LINE__,