mirror of
https://github.com/reactos/reactos.git
synced 2025-02-22 08:25:03 +00:00
[ASM]
Add ljmp16 .fill and .space macros svn path=/branches/cmake-bringup/; revision=50696
This commit is contained in:
parent
e274013c30
commit
0c69202021
1 changed files with 32 additions and 5 deletions
|
@ -11,10 +11,12 @@
|
|||
/* Allow ".name" identifiers */
|
||||
OPTION DOTNAME
|
||||
|
||||
#ifdef _M_IX86
|
||||
.686P
|
||||
.XMM
|
||||
.MODEL FLAT
|
||||
ASSUME CS:NOTHING, DS:NOTHING, ES:NOTHING, FS:NOTHING, GS:NOTHING
|
||||
#endif
|
||||
|
||||
/* Hex numbers need to be in 01ABh format */
|
||||
#define HEX(x) 0##x##h
|
||||
|
@ -68,11 +70,11 @@ ENDM
|
|||
|
||||
.code16 MACRO
|
||||
ASSUME nothing
|
||||
.text SEGMENT use16
|
||||
.text16 SEGMENT use16
|
||||
ENDM
|
||||
|
||||
.endcode16 MACRO
|
||||
.text ENDS
|
||||
.text16 ENDS
|
||||
ENDM
|
||||
|
||||
.bss MACRO
|
||||
|
@ -111,12 +113,33 @@ ENDM
|
|||
ORG value
|
||||
ENDM
|
||||
|
||||
.fill MACRO repeat, size, value
|
||||
// FIXME
|
||||
.fill MACRO count, size, value
|
||||
REPEAT count
|
||||
if (size == 1)
|
||||
DB value
|
||||
elseif (size == 2)
|
||||
DW value
|
||||
elseif (size == 4)
|
||||
DD value
|
||||
else
|
||||
endif
|
||||
ENDM
|
||||
ENDM
|
||||
|
||||
.space MACRO count
|
||||
DB 0 DUP (count)
|
||||
ENDM
|
||||
|
||||
ljmp MACRO segment, offset
|
||||
// FIXME
|
||||
DB 0EAh
|
||||
DD offset
|
||||
DW segment
|
||||
ENDM
|
||||
|
||||
ljmp16 MACRO segment, offset
|
||||
DB 0EAh
|
||||
DW offset
|
||||
DW segment
|
||||
ENDM
|
||||
|
||||
UNIMPLEMENTED MACRO name
|
||||
|
@ -180,6 +203,10 @@ ENDM
|
|||
jmp far ptr \segment:\offset
|
||||
.endm
|
||||
|
||||
.macro ljmp16 segment, offset
|
||||
jmp far ptr \segment:\offset
|
||||
.endm
|
||||
|
||||
/* MASM compatible EXTERN */
|
||||
.macro EXTERN name
|
||||
.endm
|
||||
|
|
Loading…
Reference in a new issue