Operands Inline assembler operands are expressions that consist of constants, registers, symbols, and operators.
Within operands, the following reserved words have predefined meanings:
Built-in assembler reserved words AH
CL
DX
ESP
mm4
SHL
WORD
AL
CS
EAX FS
mm5
SHR
xmm0
AND
CX
EBP GS
mm6
SI
xmm1
AX
DH
EBX HIGH
mm7
SMALL
xmm2
BH
DI
ECX LARGE MOD
SP
xmm3
BL
DL
EDI LOW
NOT
SS
xmm4
BP
CL
EDX mm0
OFFSET ST
xmm5
BX
DMTINDEX EIP mm1
OR
TBYTE
xmm6
BYTE DS
ES
mm2
PTR
TYPE
xmm7
CH
DWORD
ESI mm3
QWORD VMTOFFSET XOR
Reserved words always take precedence over user-defined identifiers. For example,
var
Ch: Char;
.
.
.
asm
MOV CH, 1
end;
loads 1 into the CH register, not into the Ch variable. To access a user-defined symbol with the same name as a
reserved word, you must use the ampersand (&) override operator:
MOV&Ch, 1
It is best to avoid user-defined identifiers with the same names as built-in assembler reserved words.
232