 
    MASM Reserved Words
    This appendix lists the reserved words recognized by MASM.
    They are divided primarily by their use in the language. The
    primary categories are:
      
  
      - Operands and symbols
- Registers
- Operators and directives
- Processor instructions
- Coprocessor instructions
Reserved words in MASM 6.1 are reserved under all CPU modes.
    Words enabled in .8086 mode, the default, can be used in
    all higher CPU modes. To use words from subcategories such as
    "Special Operands for the 80386" (later in this appendix)
    requires .386 mode or higher.
    You can disable the recognition of any reserved word
    specified in this appendix by setting the NOKEYWORD
    option for the OPTION directive. Once disabled, the word
    can be used in any way as a user-defined symbol (provided the
    word is a valid identifier). If you want to remove the 
    STR instruction, the MASK operator, and the 
    NAME directive, for instance, from the set of words MASM
    recognizes as reserved, add this statement to your program:
OPTION NOKEYWORD:<STR MASK NAME>
    Words in this appendix identified with an asterisk (*) are
    new since MASM 5.1.
    Operands and Symbols
    The words on the two lists in this section are the operands
    to certain directives. They have special meaning to the
    assembler. The words on the first list are not reserved words.
    They can be used in every way as normal identifiers, without
    affecting their use as operands to directives. The assembler
    interprets their use from context.
    Even though the words on the first list are not reserved,
    they should not be defined to be text macros or text macro
    functions. If they are, they will not be recognized in their
    special contexts. The assembler does not give a warning if such
    a redefinition occurs.
    
      - ABS
- ALL
- ASSUMES
- AT
- CASEMAP*
- COMMON
- COMPACT
- CPU*
- DOTNAME*
- EMULATOR*
- EPILOGUE*
- ERROR*
- EXPORT*
- EXPR16*
- EXPR32*
- FARSTACK*
- FLAT
- FORCEFRAME
- HUGE
- LANGUAGE*
- LARGE
- LISTING*
- LJMP*
- LOADDS*
- M510*
- MEDIUM
- MEMORY
- NEARSTACK*
- NODOTNAME*
- NOEMULATOR*
- NOKEYWORD*
- NOLJMP*
- NOM510*
- NONE
- NONUNIQUE*
- NOOLDMACROS*
- NOOLDSTRUCTS*
- NOREADONLY*
- NOSCOPED*
- NOSIGNEXTEND*
- NOTHING
- NOTPUBLIC*
- OLDMACROS*
- OLDSTRUCTS*
- OS_DOS*
- PARA
- PRIVATE*
- PROLOGUE*
- RADIX*
- READONLY*
- REQ*
- SCOPED*
- SETIF2*
- SMALL
- STACK
- TINY
- USE16
- USE32
- USES
These operands are reserved words. Reserved words are not
    case sensitive.
    
      - $
- ?
- @B
- @F
- ADDR*
- BASIC
- BYTE
- C
- CARRY?*
- DWORD
- FAR
- FAR16*
- FORTRAN
- FWORD
- NEAR
- NEAR16*
- OVERFLOW?*
- PARITY?*
- PASCAL
- QWORD
- REAL4*
- REAL8*
- REAL10*
- SBYTE*
- SDWORD*
- SIGN?*
- STDCALL*
- SWORD*
- SYSCALL*
- TBYTE
- VARARG*
- WORD
- ZERO?*
Special Operands for the 80386/486
    
    Predefined Symbols
    Unlike most MASM reserved words, predefined symbols are case
    sensitive.
    
      - @CatStr*
- @code
- @CodeSize
- @Cpu
- @CurSeg
- @data
- @DataSize
- @Date*
- @Environ*
- @fardata
- @fardata?
- @FileCur*
- @FileName
- @InStr*
- @Interface*
- @Line*
- @Model*
- @SizeStr*
- @stack*
- @SubStr*
- @Time*
- @Version
- @WordSize
Registers
    
      - AH
- AL
- AX
- BH
- BL
- BP
- BX
- CH
- CL
- CR0
- CR2
- CR3
- CS
- CX
- DH
- DI
- DL
- DR0
- DR1
- DR2
- DR3
- DR6
- DR7
- DS
- DX
- EAX
- EBP
- EBX
- ECX
- EDI
- EDX
- ES
- ESI
- ESP
- FS
- GS
- SI
- SP
- SS
- ST
- TR3*
- TR4*
- TR5*
- TR6
- TR7
 
    Operators and Directives
    
      - .186
- .286
- .286C
- .286P
- .287
- .386
- .386C
- .386P
- .387
- .486*
- .486P*
- .8086
- .8087
- .ALPHA
- .BREAK*
- .CODE
- .CONST
- .CONTINUE*
- .CREF
- .DATA
- .DATA?
- .DOSSEG*
- .ELSE*
- .ELSEIF*
- .ENDIF*
- .ENDW*
- .ERR
- .ERR1
- .ERR2
- .ERRB
- .ERRDEF
- .ERRDIF
- .ERRDIFI
- .ERRE
- .ERRIDN
- .ERRIDNI
- .ERRNB
- .ERRNDEF
- .ERRNZ
- .EXIT*
- .FARDATA
- .FARDATA?
- .IF*
- .LALL
- .LFCOND
- .LIST
- .LISTALL*
- .LISTIF*
- .LISTMACRO*
- .LISTMACROALL*
- .MODEL
- .NO87*
- .NOCREF*
- .NOLIST*
- .NOLISTIF*
- .NOLISTMACRO*
- .RADIX
- .REPEAT*
- .SALL
- .SEQ
- .SFCOND
- .STACK
- .STARTUP*
- .TFCOND
- .TYPE
- .UNTIL*
- .UNTILCXZ*
- .WHILE*
- .XALL
- .XCREF
- .XLIST
- ALIAS*
- ALIGN
- ASSUME
- CATSTR
- COMM
- COMMENT
- DB
- DD
- DF
- DOSSEG
- DQ
- DT
- DUP
- DW
- ECHO*
- ELSE
- ELSEIF
- ELSEIF1
- ELSEIF2
- ELSEIFB
- ELSEIFDEF
- ELSEIFDIF
- ELSEIFDIFI
- ELSEIFE
- ELSEIFIDN
- ELSEIFIDNI
- ELSEIFNB
- ELSEIFNDEF
- END
- ENDIF
- ENDM
- ENDP
- ENDS
- EQ
- EQU
- EVEN
- EXITM
- EXTERN*
- EXTERNDEF*
- EXTRN
- FOR*
- FORC*
- GE
- GOTO*
- GROUP
- GT
- HIGH
- HIGHWORD*
- IF
- IF1
- IF2
- IFB
- IFDEF
- IFDIF
- IFDIFI
- IFE
- IFIDN
- IFIDNI
- IFNB
- IFNDEF
- INCLUDE
- INCLUDELIB
- INSTR
- INVOKE*
- IRP
- IRPC
- LABEL
- LE
- LENGTH
- LENGTHOF*
- LOCAL
- LOW
- LOWWORD*
- LROFFSET*
- LT
- MACRO
- MASK
- MOD
- .MSFLOAT
- NAME
- NE
- OFFSET
- OPATTR*
- OPTION*
- ORG
- %OUT
- PAGE
- POPCONTEXT*
- PROC
- PROTO*
- PTR
- PUBLIC
- PURGE
- PUSHCONTEXT*
- RECORD
- REPEAT*
- REPT
- SEG
- SEGMENT
- SHORT
- SIZE
- SIZEOF*
- SIZESTR
- STRUC
- STRUCT*
- SUBSTR
- SUBTITLE*
- SUBTTL
- TEXTEQU*
- THIS
- TITLE
- TYPE
- TYPEDEF*
- UNION*
- WHILE*
- WIDTH
Processor Instructions
    Processor instructions are not case sensitive.
    8086/8088 Processor Instructions
    
      - AAA
- AAD
- AAM
- AAS
- ADC
- ADD
- AND
- CALL
- CBW
- CLC
- CLD
- CLI
- CMC
- CMP
- CMPS
- CMPSB
- CMPSW
- CWD
- DAA
- DAS
- DEC
- DIV
- ESC
- HLT
- IDIV
- IMUL
- IN
- INC
- INT
- INTO
- IRET
- JA
- JAE
- JB
- JBE
- JC
- JCXZ
- JE
- JG
- JGE
- JL
- JLE
- JMP
- JNA
- JNAE
- JNB
- JNBE
- JNC
- JNE
- JNG
- JNGE
- JNL
- JNLE
- JNO
- JNP
- JNS
- JNZ
- JO
- JP
- JPE
- JPO
- JS
- JZ
- LAHF
- LDS
- LEA
- LES
- LODS
- LODSB
- LODSW
- LOOP
- LOOPE
- LOOPEW*
- LOOPNE
- LOOPNEW*
- LOOPNZ
- LOOPNZW*
- LOOPW*
- LOOPZ
- LOOPZW*
- MOV
- MOVS
- MOVSB
- MOVSW
- MUL
- NEG
- NOP
- NOT
- OR
- OUT
- POP
- POPF
- PUSH
- PUSHF
- RCL
- RCR
- RET
- RETF
- RETN
- ROL
- ROR
- SAHF
- SAL
- SAR
- SBB
- SCAS
- SCASB
- SCASW
- SHL
- SHR
- STC
- STD
- STI
- STOS
- STOSB
- STOSW
- SUB
- TEST
- WAIT
- XCHG
- XLAT
- XLATB
- XOR
80186 Processor Instructions
    
      - BOUND
- ENTER
- INS
- INSB
- INSW
- LEAVE
- OUTS
- OUTSB
- OUTSW
- POPA
- PUSHA
- PUSHW*
80286 Processor Instructions
    
      - ARPL
- LAR
- LSL
- SGDT
- SIDT
- SLDT
- SMSW
- STR
- VERR
- VERW
80286 and 80386 Privileged-Mode Instructions
    
      - CLTS
- LGDT
- LIDT
- LLDT
- LMSW
- LTR
80386 Processor Instructions
    
      - BSF
- BSR
- BT
- BTC
- BTR
- BTS
- CDQ
- CMPSD
- CWDE
- INSD
- IRETD
- IRETDF*
- IRETF*
- JECXZ
- LFS
- LGS
- LODSD
- LOOPD*
- LOOPED*
- LOOPNED*
- LOOPNZD*
- LOOPZD*
- LSS
- MOVSD
- MOVSX
- MOVZX
- OUTSD
- POPAD
- POPFD
- PUSHAD
- PUSHD*
- PUSHFD
- SCASD
- SETA
- SETAE
- SETB
- SETBE
- SETC
- SETE
- SETG
- SETGE
- SETL
- SETLE
- SETNA
- SETNAE
- SETNB
- SETNBE
- SETNC
- SETNE
- SETNG
- SETNGE
- SETNL
- SETNLE
- SETNO
- SETNP
- SETNS
- SETNZ
- SETO
- SETP
- SETPE
- SETPO
- SETS
- SETZ
- SHLD
- SHRD
- STOSD
80486 Processor Instructions
    BSWAP*
    CMPXCHG*
    INVD*
    INVLPG*
    WBINVD*
    XADD*
    Instruction Prefixes
    LOCK
    REP
    REPE
    REPNE
    REPNZ
    REPZ
    Coprocessor Instructions
    Coprocessor instructions are not case sensitive.
    8087 Coprocessor Instructions
    
      - F2XM1
- FABS
- FADD
- FADDP
- FBLD
- FBSTP
- FCHS
- FCLEX
- FCOM
- FCOMP
- FCOMPP
- FDECSTP
- FDISI
- FDIV
- FDIVP
- FDIVR
- FDIVRP
- FENI
- FFREE
- FIADD
- FICOM
- FICOMP
- FIDIV
- FIDIVR
- FILD
- FIMUL
- FINCSTP
- FINIT
- FIST
- FISTP
- FISUB
- FISUBR
- FLD
- FLD1
- FLDCW
- FLDENV
- FLDENVW*
- FLDL2E
- FLDL2T
- FLDLG2
- FLDLN2
- FLDPI
- FLDZ
- FMUL
- FMULP
- FNCLEX
- FNDISI
- FNENI
- FNINIT
- FNOP
- FNSAVE
- FNSAVEW*
- FNSTCW
- FNSTENV
- FNSTENVW*
- FNSTSW
- FPATAN
- FPREM
- FPTAN
- FRNDINT
- FRSTOR
- FRSTORW*
- FSAVE
- FSAVEW*
- FSCALE
- FSQRT
- FST
- FSTCW
- FSTENV
- FSTENVW*
- FSTP
- FSTSW
- FSUB
- FSUBP
- FSUBR
- FSUBRP
- FTST
- FWAIT
- FXAM
- FXCH
- FXTRACT
- FYL2X
- FYL2XP1
80287 Privileged-Mode Instruction
    
    80387 Instructions
    
      - FCOS
- FLDENVD*
- FNSAVED*
- FNSTENVD*
- FPREM1
- FRSTORD*
- FSAVED*
- FSIN
- FSINCOS
- FSTENVD*
- FUCOM
- FUCOMP
- FUCOMPP
| file: /Techref/language/masm/masmAPD.htm, 19KB, , updated: 2005/10/13 12:51, local time: 2025/10/31 11:57, 
 
216.73.216.87,10-2-37-96:LOG IN | 
|  | ©2025 These pages are served without commercial sponsorship. (No popup ads, etc...).Bandwidth abuse increases hosting cost forcing sponsorship or shutdown. This server aggressively defends against automated copying for any reason including offline viewing, duplication, etc... Please respect this requirement and DO NOT RIP THIS SITE. Questions? <A HREF="http://www.piclist.com/techref/language/masm/masmAPD.htm"> APPENDIX D</A>
 | 
| Did you find what you needed? | 
 
|  | Welcome to www.piclist.com! | 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
.