bits 64 SECTION .data var1: dd 0x00112233 var2: dd 0x55667788 SECTION .text global _start _start: %include "header.asm.inc" ; interactions between memory and registers mov eax, [var1] ; store content at address `var1` in eax mov eax, var1 ; store address `var1` in eax mov [var1], eax ; store eax at address `var1` ;mov var1, eax ; invalid! ; many more instructions allow to work on operands add eax, [var1] ; add value at address `var1` to eax add [var1], dword 0x42 ; store immediate value at address `var1` ; some combinations are invalid, e.g., two memory operands in arithmetic ops ; (but many others, too!) ; add [var1], [var2] ; invalid! %include "sysexit.asm.inc"