Author: tkreuzer Date: Sat Jan 30 02:16:42 2010 New Revision: 45332
URL: http://svn.reactos.org/svn/reactos?rev=45332&view=rev Log: More macros and fixes
Modified: branches/ros-amd64-bringup/reactos/include/reactos/asm.h
Modified: branches/ros-amd64-bringup/reactos/include/reactos/asm.h URL: http://svn.reactos.org/svn/reactos/branches/ros-amd64-bringup/reactos/includ... ============================================================================== --- branches/ros-amd64-bringup/reactos/include/reactos/asm.h [iso-8859-1] (original) +++ branches/ros-amd64-bringup/reactos/include/reactos/asm.h [iso-8859-1] Sat Jan 30 02:16:42 2010 @@ -13,6 +13,9 @@
/* Hex numbers need to be in 01ABh format */ #define HEX(x) 0##x##h + +/* Macro values need to be marked */ +#define VAL(x) x
/* MASM/ML doesn't want explicit [rip] addressing */ #define RIP(address) address @@ -47,11 +50,15 @@ /* Hex numbers need to be in 0x1AB format */ #define HEX(x) 0x##x
+/* Macro values need to be marked */ +#define VAL(x) \x + /* GAS needs explicit [rip] addressing */ #define RIP(address) address##[rip]
/* Due to MASM's reverse syntax, we are forced to use a precompiler macro */ -#define MACRO(name, ...) .MACRO name, __VA_ARGS__ +#define MACRO(...) .macro __VA_ARGS__ +#define ENDM .endm
/* To avoid reverse syntax we provide a new macro .PROC, replacing PROC... */ .macro .PROC name @@ -77,6 +84,12 @@ #define REPEAT .rept #define ENDR .endr
+/* MASM compatible EXTERN */ +.macro EXTERN name +.endm + +/* MASM needs an END tag */ +#define END
/* Macros for x64 stack unwind OPs */