section .data
msg db 'Valor de rcx: ', 0
section .bss
num resb 2 ; Reservando 2 bytes para armazenar o valor convertido (para valores de 0 a 9)
section .text
global _start
_start:
mov rax, 5 ; Move o valor 5 para o registrador rax
mov rbx, 3 ; Move o valor 3 para o registrador rbx
cmp rax, rbx ; Compara rax com rbx
jz iguais ; Se rax for igual a rbx, salta para "iguais"
mov rcx, 9 ; Se não forem iguais, move o valor 9 para rcx
jmp fim ; Salta para o rótulo "fim"
iguais:
mov rcx, 0 ; Se forem iguais, move 0 para rcx
fim:
; Imprimir a mensagem
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, 14 ; Tamanho da mensagem
syscall ; Chama o sistema para escrever
; Converter o valor de rcx para um caractere ASCII de 0 a 9
add rcx, '0' ; Converte o número para o caractere ASCII correspondente
mov [num], rcx ; Armazena o caractere convertido no buffer 'num'
; Agora imprimir o valor de rcx como caractere
mov rax, 1 ; Número da chamada do sistema para escrever
mov rdi, 1 ; Identificador de saída padrão (stdout)
mov rsi, num ; Endereço do valor convertido em 'num'
mov rdx, 1 ; Comprimento de 1 byte
syscall ; Chama o sistema para escrever
; Finaliza o programa
mov rax, 60 ; Número da chamada do sistema para sair
xor rdi, rdi ; Código de saída 0
syscall ; Chama o sistema para sair
c2VjdGlvbiAuZGF0YQogICAgbXNnIGRiICdWYWxvciBkZSByY3g6ICcsIDAKCnNlY3Rpb24gLmJzcwogICAgbnVtIHJlc2IgMiAgICAgICAgICA7IFJlc2VydmFuZG8gMiBieXRlcyBwYXJhIGFybWF6ZW5hciBvIHZhbG9yIGNvbnZlcnRpZG8gKHBhcmEgdmFsb3JlcyBkZSAwIGEgOSkKCnNlY3Rpb24gLnRleHQKICAgIGdsb2JhbCBfc3RhcnQKCl9zdGFydDoKICAgIG1vdiByYXgsIDUgICAgICAgICAgOyBNb3ZlIG8gdmFsb3IgNSBwYXJhIG8gcmVnaXN0cmFkb3IgcmF4CiAgICBtb3YgcmJ4LCAzICAgICAgICAgIDsgTW92ZSBvIHZhbG9yIDMgcGFyYSBvIHJlZ2lzdHJhZG9yIHJieAogICAgY21wIHJheCwgcmJ4ICAgICAgICA7IENvbXBhcmEgcmF4IGNvbSByYngKICAgIGp6IGlndWFpcyAgICAgICAgICAgOyBTZSByYXggZm9yIGlndWFsIGEgcmJ4LCBzYWx0YSBwYXJhICJpZ3VhaXMiCiAgICBtb3YgcmN4LCA5ICAgICAgICAgIDsgU2UgbsOjbyBmb3JlbSBpZ3VhaXMsIG1vdmUgbyB2YWxvciA5IHBhcmEgcmN4CiAgICBqbXAgZmltICAgICAgICAgICAgIDsgU2FsdGEgcGFyYSBvIHLDs3R1bG8gImZpbSIKCmlndWFpczoKICAgIG1vdiByY3gsIDAgICAgICAgICAgOyBTZSBmb3JlbSBpZ3VhaXMsIG1vdmUgMCBwYXJhIHJjeAoKZmltOgogICAgOyBJbXByaW1pciBhIG1lbnNhZ2VtCiAgICBtb3YgcmF4LCAxICAgICAgICAgIDsgTsO6bWVybyBkYSBjaGFtYWRhIGRvIHNpc3RlbWEgcGFyYSBlc2NyZXZlcgogICAgbW92IHJkaSwgMSAgICAgICAgICA7IElkZW50aWZpY2Fkb3IgZGUgc2HDrWRhIHBhZHLDo28gKHN0ZG91dCkKICAgIG1vdiByc2ksIG1zZyAgICAgICAgOyBFbmRlcmXDp28gZGEgbWVuc2FnZW0KICAgIG1vdiByZHgsIDE0ICAgICAgICAgOyBUYW1hbmhvIGRhIG1lbnNhZ2VtCiAgICBzeXNjYWxsICAgICAgICAgICAgIDsgQ2hhbWEgbyBzaXN0ZW1hIHBhcmEgZXNjcmV2ZXIKCiAgICA7IENvbnZlcnRlciBvIHZhbG9yIGRlIHJjeCBwYXJhIHVtIGNhcmFjdGVyZSBBU0NJSSBkZSAwIGEgOQogICAgYWRkIHJjeCwgJzAnICAgICAgICA7IENvbnZlcnRlIG8gbsO6bWVybyBwYXJhIG8gY2FyYWN0ZXJlIEFTQ0lJIGNvcnJlc3BvbmRlbnRlCiAgICBtb3YgW251bV0sIHJjeCAgICAgIDsgQXJtYXplbmEgbyBjYXJhY3RlcmUgY29udmVydGlkbyBubyBidWZmZXIgJ251bScKCiAgICA7IEFnb3JhIGltcHJpbWlyIG8gdmFsb3IgZGUgcmN4IGNvbW8gY2FyYWN0ZXJlCiAgICBtb3YgcmF4LCAxICAgICAgICAgIDsgTsO6bWVybyBkYSBjaGFtYWRhIGRvIHNpc3RlbWEgcGFyYSBlc2NyZXZlcgogICAgbW92IHJkaSwgMSAgICAgICAgICA7IElkZW50aWZpY2Fkb3IgZGUgc2HDrWRhIHBhZHLDo28gKHN0ZG91dCkKICAgIG1vdiByc2ksIG51bSAgICAgICAgOyBFbmRlcmXDp28gZG8gdmFsb3IgY29udmVydGlkbyBlbSAnbnVtJwogICAgbW92IHJkeCwgMSAgICAgICAgICA7IENvbXByaW1lbnRvIGRlIDEgYnl0ZQogICAgc3lzY2FsbCAgICAgICAgICAgICA7IENoYW1hIG8gc2lzdGVtYSBwYXJhIGVzY3JldmVyCgogICAgOyBGaW5hbGl6YSBvIHByb2dyYW1hCiAgICBtb3YgcmF4LCA2MCAgICAgICAgIDsgTsO6bWVybyBkYSBjaGFtYWRhIGRvIHNpc3RlbWEgcGFyYSBzYWlyCiAgICB4b3IgcmRpLCByZGkgICAgICAgIDsgQ8OzZGlnbyBkZSBzYcOtZGEgMAogICAgc3lzY2FsbCAgICAgICAgICAgICA7IENoYW1hIG8gc2lzdGVtYSBwYXJhIHNhaXIK