section .text global _start ;must be declared for linker (ld) _start: ;tell linker entry point mov edx,_is mov ecx,_in mov ebx,0 ; stdin mov eax,3 ; sys_read int 0x80 ; call push ecx mov edx,len mov ecx,msg call escreve pop ecx cmp byte [ecx],'1' ; ve se o conteudo e' 1 je um jne dois um: mov edx,l1 mov ecx,_um call escreve jmp sair dois: mov edx,l2 mov ecx,_dois call escreve jmp sair escreve: ;mete-se o tamanho da string em edx, e a string em ecx mov ebx,1 ;file descriptor (stdout) mov eax,4 ;system call number (sys_write) int 0x80 ;call kernel ret sair: mov eax,1 ;system call number (sys_exit) int 0x80 ;call kernel section .data msg db 'Malandro, carregaste ',0x14 ;our dear string len equ $ - msg ;length of our dear string _um db 'um',0x2 l1 equ $ - _um _dois db 'dois',0x4 l2 equ $ - _dois _in db '',0x0 _is equ $ - _in