section .bss
msg resb 1 ; reserva 1 byte para um caractere
section .data
traco db '-'
contador dd 1
section .text
global _start
_start:
; Lê 1 caractere do teclado
mov eax, 3 ; sys_read
mov ebx, 0 ; stdin
mov ecx, msg ; onde armazenar
mov edx, 1 ; quantos bytes
int 0x80 ; chamada de sistema
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, msg ; endereço da string
mov edx, 1 ; tamanho da string (8 chars + newline)
int 0x80 ; chamada de sistema
mov eax, 4 ; sys_write
mov ebx, 1 ; stdout
mov ecx, msg+1 ; endereço da string
mov edx, 1
int 0x80 ; chamada de s…
exit:
mov eax, 1 ; sys_exit
mov ebx, 0
int 0x80
c2VjdGlvbiAuYnNzCiBtc2cgcmVzYiAxIDsgcmVzZXJ2YSAxIGJ5dGUgcGFyYSB1bSBjYXJhY3RlcmUKIApzZWN0aW9uIC5kYXRhCiB0cmFjbyBkYiAnLScKIGNvbnRhZG9yIGRkIDEKIApzZWN0aW9uIC50ZXh0CiBnbG9iYWwgX3N0YXJ0CiAKX3N0YXJ0Ogo7IEzDqiAxIGNhcmFjdGVyZSBkbyB0ZWNsYWRvCiBtb3YgZWF4LCAzIDsgc3lzX3JlYWQKIG1vdiBlYngsIDAgOyBzdGRpbgogbW92IGVjeCwgbXNnIDsgb25kZSBhcm1hemVuYXIKIG1vdiBlZHgsIDEgOyBxdWFudG9zIGJ5dGVzCiBpbnQgMHg4MCA7IGNoYW1hZGEgZGUgc2lzdGVtYQogbW92IGVheCwgNCA7IHN5c193cml0ZQogbW92IGVieCwgMSA7IHN0ZG91dAogbW92IGVjeCwgbXNnIDsgZW5kZXJlw6dvIGRhIHN0cmluZwogbW92IGVkeCwgMSA7IHRhbWFuaG8gZGEgc3RyaW5nICg4IGNoYXJzICsgbmV3bGluZSkKIAogaW50IDB4ODAgOyBjaGFtYWRhIGRlIHNpc3RlbWEKIG1vdiBlYXgsIDQgOyBzeXNfd3JpdGUKIG1vdiBlYngsIDEgOyBzdGRvdXQKIG1vdiBlY3gsIG1zZysxIDsgZW5kZXJlw6dvIGRhIHN0cmluZwogbW92IGVkeCwgMQogaW50IDB4ODAgOyBjaGFtYWRhIGRlIHPigKYKIAogZXhpdDoKIG1vdiBlYXgsIDEgOyBzeXNfZXhpdAogbW92IGVieCwgMAogaW50IDB4ODA=