; exportar label de inicio do programa global _start section .data ; seccao data - dados inicializados ; variaveis de 32 bits x: dd 2 y: dd 2 res: dd 0 section .text ; seccao text - codigo _start: nop ; dummy ; if (x<100) mov eax, [x] ; guardar o X em eax cmp eax, 100 ; compara eax com 100 jae else ; salta para else se for maior ou igual a 100 sub [res], eax ; subtrai eax a res jmp end ; salta para end else: mov eax, [y] ; guarda o y em eax add [res], eax ; soma eax a res end: ; chamada ao sistema para terminar o programa mov eax, 1 ; codigo de "exit" mov ebx, 0 ; valor retornado ao sistema int 0x80 ; chamada ao sistema