Add some more protability macros

svn path=/trunk/; revision=52151
This commit is contained in:
Timo Kreuzer 2011-06-08 19:06:01 +00:00
parent 57490e06f6
commit 7c2030f619

View file

@ -47,15 +47,16 @@ ENDM
.ASCII MACRO text .ASCII MACRO text
DB text DB text
ENDM ENDM
.ascii MACRO text
DB text
ENDM
/* MASM doesn't have an ASCIZ macro */ /* MASM doesn't have an ASCIZ macro */
.ASCIZ MACRO text .ASCIZ MACRO text
DB text, 0 DB text, 0
ENDM ENDM
#define asciz ASCIZ .asciz MACRO text
DB text, 0
ljmp MACRO segment, offset
DB 0
ENDM ENDM
.code64 MACRO .code64 MACRO
@ -69,11 +70,12 @@ ENDM
.code16 MACRO .code16 MACRO
ASSUME nothing ASSUME nothing
.text16 SEGMENT use16 .text SEGMENT use16
.586
ENDM ENDM
.endcode16 MACRO .endcode16 MACRO
.text16 ENDS .text ENDS
ENDM ENDM
.bss MACRO .bss MACRO
@ -144,6 +146,16 @@ ENDM
UNIMPLEMENTED MACRO name UNIMPLEMENTED MACRO name
ENDM ENDM
absolute MACRO address
__absolute__address__ = address
ENDM
resb MACRO name, size
name = __absolute__address__
__absolute__address__ = __absolute__address__ + size
ENDM
/* We need this to distinguish repeat from macros */ /* We need this to distinguish repeat from macros */
#define ENDR ENDM #define ENDR ENDM
@ -262,6 +274,15 @@ code = 1
.macro .endprolog .macro .endprolog
.endm .endm
.macro absolute address
__absolute__address__ = \address
ENDM
.macro resb name, size
\name = __absolute__address__
__absolute__address__ = __absolute__address__ + \size
ENDM
.macro UNIMPLEMENTED2 file, line, func .macro UNIMPLEMENTED2 file, line, func
jmp 3f jmp 3f