section .data
msg db "Oi!", 0xA, 0
len equ $-msg
section .text
global _start
_start:
mov rax, 1 ; número da chamada do sistema para escrever
mov rdi, 1 ; identificador de saída padrão (stdout)
mov rsi, msg ; endereço da mensagem
mov rdx, len ; comprimento da mensagem
syscall ; chamada do sistema para escrever
mov rax, 60 ; número da chamada do sistema para sair
xor rdi, rdi ; código de saída 0
syscall ; chamada do sistema para sair
c2VjdGlvbiAuZGF0YQogICAgbXNnIGRiICJPaSEiLCAweEEsIDAKICAgIGxlbiBlcXUgJC1tc2cKCnNlY3Rpb24gLnRleHQKICAgIGdsb2JhbCBfc3RhcnQKCl9zdGFydDoKICAgIG1vdiByYXgsIDEgICAgICAgICA7IG7Dum1lcm8gZGEgY2hhbWFkYSBkbyBzaXN0ZW1hIHBhcmEgZXNjcmV2ZXIKICAgIG1vdiByZGksIDEgICAgICAgICA7IGlkZW50aWZpY2Fkb3IgZGUgc2HDrWRhIHBhZHLDo28gKHN0ZG91dCkKICAgIG1vdiByc2ksIG1zZyAgICAgICA7IGVuZGVyZcOnbyBkYSBtZW5zYWdlbQogICAgbW92IHJkeCwgbGVuICAgICAgIDsgY29tcHJpbWVudG8gZGEgbWVuc2FnZW0KICAgIHN5c2NhbGwgICAgICAgICAgICA7IGNoYW1hZGEgZG8gc2lzdGVtYSBwYXJhIGVzY3JldmVyCgogICAgbW92IHJheCwgNjAgICAgICAgIDsgbsO6bWVybyBkYSBjaGFtYWRhIGRvIHNpc3RlbWEgcGFyYSBzYWlyCiAgICB4b3IgcmRpLCByZGkgICAgICAgOyBjw7NkaWdvIGRlIHNhw61kYSAwCiAgICBzeXNjYWxsICAgICAgICAgICAgOyBjaGFtYWRhIGRvIHNpc3RlbWEgcGFyYSBzYWlyCg==