# Intel x86 assembler

### syntax:

Decimal “integers begin with a non-zero digit followed by zero or more decimal digits (0–9)”

Binary “integers begin with “0b” or “0B” followed by zero or more binary digits (0, 1)”

Octal “integers begin with zero (0) followed by zero or more octal digits (0–7)”

Hexadecimal “integers begin with “0x” or “0X” followed by one or more hexadecimal digits (0–9, A–F)”

mov BYTE PTR [ebx], 2 “Move 2 into the single byte at the address stored in EBX”

mov WORD PTR [ebx], 2 “Move the 16-bit integer representation of 2 into the 2 bytes starting at the address in EBX”

mov DWORD PTR [ebx], 2 “Move the 32-bit integer representation of 2 into the 4 bytes starting at the address in EBX”

<reg32> “Any 32-bit register (EAX, EBX, ECX, EDX, ESI, EDI, ESP, or EBP)”

<reg16> “Any 16-bit register (AX, BX, CX, or DX)”

<reg8> “Any 8-bit register (AH, BH, CH, DH, AL, BL, CL, or DL)”

<reg> “Any register”

<mem> “A memory address (e.g., [eax], [var + 4], or dword ptr [eax+ebx])”

<con32> “Any 32-bit constant”

<con16> “Any 16-bit constant”

<con8> “Any 8-bit constant”

<con>, <const> “Any 8-, 16-, or 32-bit constant”