; File: twopass.asm ; ; Demonstrating a two-pass assembler section .data x: db 87h y: dw 1492h zalias equ $ z: dd 17762001h calc equ (x-y)*2 x4 equ x+1 section .text global _start _start: mov eax, [zalias] mov bx, [y] mov cx, [x4] cmp bx, cx jne error OK: add ax, bx mov [x], al mov ebx, 0 ; 0=normal exit done: mov eax, 1 ; syscall number for exit int 080h error: mov ebx, 17 ; abnormal exit jmp done