Instruction Operands

Operand Description
reg An 8-, 16-, or 32-bit general register
reg8, reg16, reg32 A general register, identified by its number of bits
segreg A 16-bit segment register
mem A memory operand, using any of the standard memory addressing modes
mem8, mem16, mem32 A memory operand, identified by its number of bits
accum , , or
immed An immediate operand
immed8, immed16, immed32 An immediate operand, identified by its number of bits
An Immediate Operand A Memory Operand Dereference

 INCLUDE Irvine32.inc
 .data
  dummy  SDWORD  ?
 .code 
 main PROC
  mov   eax, -5000h
  call  WriteHex
  exit
 main ENDP
 END main

 INCLUDE Irvine32.inc
 .data
  X  SDWORD  -5000h 
 .code
 main PROC 
  mov   eax, X
  call  WriteHex
  exit
 main ENDP
 END main

 INCLUDE Irvine32.inc 
 .data
  X  SDWORD  -5000h 
 .code
 main PROC 
  mov   eax, [X]
  call  WriteHex
  exit
 main ENDP
 END main
 
Output Output Output

 

 

 

 

 

 

Offset Dereference Offset then Dereference
 INCLUDE Irvine32.inc
 .data
  X  SDWORD  -5000h
 .code
 main PROC
  mov   eax, offset X 
  call  WriteHex
  exit
 main ENDP
 END main
 INCLUDE Irvine32.inc 
 .data
  X  SDWORD  -5000h 
 .code
 main PROC 
  mov   eax, [offset X]
  call  WriteHex
  exit
 main ENDP
 END main

 INCLUDE Irvine32.inc 
 .data
  X  SDWORD  -5000h
 .code
 main PROC
  mov   ebx, offset X
  mov   eax, [ebx]
  call  WriteHex
  exit
 main ENDP
 END main
 
Output Output Output

 

 

 

 

 

 




      “I am so clever that sometimes I don’t understand    
      a single word of what I am saying.”    
      — Oscar Wilde