Appendix A. JWasm Reserved Words
Reserved Words are case-insensitive. Besides the items listed below all
instruction mnemonics are also Reserved Words.
Registers 16- and 32-bit Modes
8-bit registers |
AL |
CL |
DL |
BL |
AH |
CH |
DH |
BH |
16-bit registers |
AX |
CX |
DX |
BX |
SP |
BP |
SI |
DI |
32-bit registers |
EAX |
ECX |
EDX |
EBX |
ESP |
EBP |
ESI |
EDI |
Segment registers |
ES |
CS |
SS |
DS |
FS |
GS |
|
|
Floating-point registers |
ST |
ST(1) |
ST(2) |
ST(3) |
ST(4) |
ST(5) |
ST(6) |
ST(7) |
MMX registers |
MM0 |
MM1 |
MM2 |
MM3 |
MM4 |
MM5 |
MM6 |
MM7 |
SSE registers |
XMM0 |
XMM1 |
XMM2 |
XMM3 |
XMM4 |
XMM5 |
XMM6 |
XMM7 |
AVX registers |
YMM0 |
YMM1 |
YMM2 |
YMM3 |
YMM4 |
YMM5 |
YMM6 |
YMM7 |
Control registers |
CR0 |
|
CR2 |
CR3 |
CR4 |
|
|
|
Debug registers |
DR0 |
DR1 |
DR2 |
DR3 |
|
|
DR6 |
DR7 |
Test registers[1] |
|
|
|
TR3 |
TR4 |
TR5 |
TR6 |
TR7 |
|
[1]: invalid in 64-bit mode.
Additional Registers in 64-bit Mode
8-bit registers |
|
|
|
|
SPL |
BPL |
SIL |
DIL |
|
R8B |
R9B |
R10B |
R11B |
R12B |
R13B |
R14B |
R15B |
16-bit registers |
R8W |
R9W |
R10W |
R11W |
R12W |
R13W |
R14W |
R15W |
32-bit registers |
R8D |
R9D |
R10D |
R11D |
R12D |
R13D |
R14D |
R15D |
64-bit registers |
RAX |
RCX |
RDX |
RBX |
RSP |
RBP |
RSI |
RDI |
|
R8 |
R9 |
R10 |
R11 |
R12 |
R13 |
R14 |
R15 |
SSE registers |
XMM8 |
XMM9 |
XMM10 |
XMM11 |
XMM12 |
XMM13 |
XMM14 |
XMM15 |
AVX registers |
YMM8 |
YMM9 |
YMM10 |
YMM11 |
YMM12 |
YMM13 |
YMM14 |
YMM15 |
Control registers |
CR8 |
|
|
|
|
|
|
|
|
Types
BYTE |
SBYTE |
WORD |
SWORD |
DWORD |
SDWORD |
REAL4 |
FWORD |
QWORD |
SQWORD |
REAL8 |
TBYTE |
REAL10 |
OWORD |
YMMWORD |
NEAR |
FAR |
NEAR16 |
NEAR32 |
FAR16 |
FAR32 |
MMWORD |
XMMWORD |
|
Unary Operators
.TYPE |
HIGH |
HIGH32 |
HIGHWORD |
IMAGEREL[1] |
LENGTH |
LENGTHOF |
LOW |
LOW32 |
LOWWORD |
LROFFSET |
MASK |
OFFSET |
OPATTR |
SECTIONREL[1] |
SEG |
SHORT |
SIZE |
SIZEOF |
THIS |
TYPE |
WIDTH |
|
[1]: not for OMF output format.
Binary Operators
EQ |
NE |
GE |
GT |
LE |
LT |
MOD |
PTR |
DUP |
SHL[1] |
SHR[1] |
AND[1] |
OR[1] |
XOR[1] |
|
[1]: these keywords are also instructions.
Directives
.8086 |
.186 |
.286 |
.286C |
.286P |
.386 |
.386C |
.386P |
.486 |
.486P |
.586 |
.586P |
.686 |
.686P |
.K3D |
.MMX |
.XMM |
.X64 |
.X64P |
.8087 |
.287 |
.387 |
.NO87 |
.CREF |
.LIST |
.LISTALL |
.LISTIF, .LFCOND |
.NOCREF, .XCREF |
.NOLIST, .XLIST |
.NOLISTIF, .SFCOND |
.TFCOND |
PAGE |
SUBTITLE, SUBTTL |
TITLE |
.LISTMACRO, .XALL |
.LISTMACROALL, .LALL |
.NOLISTMACRO, .SALL |
.ALPHA |
.DOSSEG, DOSSEG |
.SEQ |
.CODE |
.STACK |
.DATA |
.DATA? |
.FARDATA |
.FARDATA? |
.CONST |
.IF |
.REPEAT |
.WHILE |
.BREAK |
.CONTINUE |
.ELSE |
.ELSEIF |
.ENDIF |
.ENDW |
.UNTIL |
.UNTILCXZ |
.EXIT |
.STARTUP |
.MODEL |
.RADIX |
.SAFESEH |
.ERR |
.ERR1 |
.ERR2 |
.ERRE |
.ERRNZ |
.ERRDIF |
.ERRDIFI |
.ERRIDN |
.ERRIDNI |
.ERRB |
.ERRNB |
.ERRDEF |
.ERRNDEF |
COMMENT |
IF |
IFE |
IF1 |
IF2 |
IFDIF |
IFDIFI |
IFIDN |
IFIDNI |
IFB |
IFNB |
IFDEF |
IFNDEF |
ELSE |
ELSEIF |
ELSEIFE |
ELSEIF1 |
ELSEIF2 |
ELSEIFDIF |
ELSEIFDIFI |
ELSEIFIDN |
ELSEIFIDNI |
ELSEIFB |
ELSEIFNB |
ELSEIFDEF |
ELSEIFNDEF |
ENDIF |
FOR, IRP |
FORC, IRPC |
REPEAT, REPT |
WHILE |
MACRO |
EXITM |
ENDM |
GOTO |
PURGE |
INCLUDE |
TEXTEQU |
CATSTR |
SUBSTR |
INSTR |
SIZESTR |
DB |
DW |
DD |
DF |
DQ |
DT |
STRUCT, STRUC |
UNION |
TYPEDEF |
RECORD |
COMM |
EXTERN, EXTRN |
EXTERNDEF |
PUBLIC |
PROTO |
PROC |
ENDP |
LOCAL |
LABEL |
INVOKE |
ORG |
ALIGN |
EVEN |
SEGMENT |
ENDS |
GROUP |
ASSUME |
ALIAS |
ECHO, %OUT |
END |
EQU |
INCBIN |
INCLUDELIB |
NAME |
OPTION |
POPCONTEXT |
PUSHCONTEXT |
|
Additional Directives in 64-bit Mode
.ALLOCSTACK |
.ENDPROLOG |
.PUSHFRAME |
.PUSHREG |
.SAVEREG |
.SAVEXMM128 |
.SETFRAME |
|
Other Reserved Words
ADDR |
FLAT |
VARARG |
FRAME[1] |
C |
SYSCALL[2] |
STDCALL |
PASCAL |
FORTRAN |
BASIC |
FASTCALL |
|
[1]: in 64-bit mode only.
[2]: in 64-bit, calling convention SYSCALL is renamed to SYSCALL_, since
in this mode there exists a SYSCALL instruction.