section .data
msg db 'Valor de rcx: ', 0
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
; Agora converte o número de rcx para seu caractere ASCII
add rcx, '0' ; Converte o número para o caractere ASCII correspondente
; 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, rcx ; Endereço do valor em rcx (caractere)
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
c2VjdGlvbiAuZGF0YQogICAgbXNnIGRiICdWYWxvciBkZSByY3g6ICcsIDAKCnNlY3Rpb24gLnRleHQKICAgIGdsb2JhbCBfc3RhcnQKCl9zdGFydDoKICAgIG1vdiByYXgsIDUgICAgICA7IE1vdmUgbyB2YWxvciA1IHBhcmEgbyByZWdpc3RyYWRvciByYXgKICAgIG1vdiByYngsIDMgICAgICA7IE1vdmUgbyB2YWxvciAzIHBhcmEgbyByZWdpc3RyYWRvciByYngKICAgIGNtcCByYXgsIHJieCAgICA7IENvbXBhcmEgcmF4IGNvbSByYngKICAgIGp6IGlndWFpcyAgICAgICA7IFNlIHJheCBmb3IgaWd1YWwgYSByYngsIHNhbHRhIHBhcmEgImlndWFpcyIKICAgIG1vdiByY3gsIDkgICAgICA7IFNlIG7Do28gZm9yZW0gaWd1YWlzLCBtb3ZlIG8gdmFsb3IgOSBwYXJhIHJjeAogICAgam1wIGZpbSAgICAgICAgIDsgU2FsdGEgcGFyYSBvIHLDs3R1bG8gImZpbSIKCmlndWFpczoKICAgIG1vdiByY3gsIDAgICAgICA7IFNlIGZvcmVtIGlndWFpcywgbW92ZSAwIHBhcmEgcmN4CgpmaW06CiAgICA7IEltcHJpbWlyIGEgbWVuc2FnZW0KICAgIG1vdiByYXgsIDEgICAgICA7IE7Dum1lcm8gZGEgY2hhbWFkYSBkbyBzaXN0ZW1hIHBhcmEgZXNjcmV2ZXIKICAgIG1vdiByZGksIDEgICAgICA7IElkZW50aWZpY2Fkb3IgZGUgc2HDrWRhIHBhZHLDo28gKHN0ZG91dCkKICAgIG1vdiByc2ksIG1zZyAgICA7IEVuZGVyZcOnbyBkYSBtZW5zYWdlbQogICAgbW92IHJkeCwgMTQgICAgIDsgVGFtYW5obyBkYSBtZW5zYWdlbQogICAgc3lzY2FsbCAgICAgICAgIDsgQ2hhbWEgbyBzaXN0ZW1hIHBhcmEgZXNjcmV2ZXIKCiAgICA7IEFnb3JhIGNvbnZlcnRlIG8gbsO6bWVybyBkZSByY3ggcGFyYSBzZXUgY2FyYWN0ZXJlIEFTQ0lJCiAgICBhZGQgcmN4LCAnMCcgICAgOyBDb252ZXJ0ZSBvIG7Dum1lcm8gcGFyYSBvIGNhcmFjdGVyZSBBU0NJSSBjb3JyZXNwb25kZW50ZQoKICAgIDsgSW1wcmltaXIgbyB2YWxvciBkZSByY3ggY29tbyBjYXJhY3RlcmUKICAgIG1vdiByYXgsIDEgICAgICA7IE7Dum1lcm8gZGEgY2hhbWFkYSBkbyBzaXN0ZW1hIHBhcmEgZXNjcmV2ZXIKICAgIG1vdiByZGksIDEgICAgICA7IElkZW50aWZpY2Fkb3IgZGUgc2HDrWRhIHBhZHLDo28gKHN0ZG91dCkKICAgIG1vdiByc2ksIHJjeCAgICA7IEVuZGVyZcOnbyBkbyB2YWxvciBlbSByY3ggKGNhcmFjdGVyZSkKICAgIG1vdiByZHgsIDEgICAgICA7IENvbXByaW1lbnRvIGRlIDEgYnl0ZQogICAgc3lzY2FsbCAgICAgICAgIDsgQ2hhbWEgbyBzaXN0ZW1hIHBhcmEgZXNjcmV2ZXIKCiAgICA7IEZpbmFsaXphIG8gcHJvZ3JhbWEKICAgIG1vdiByYXgsIDYwICAgICA7IE7Dum1lcm8gZGEgY2hhbWFkYSBkbyBzaXN0ZW1hIHBhcmEgc2FpcgogICAgeG9yIHJkaSwgcmRpICAgIDsgQ8OzZGlnbyBkZSBzYcOtZGEgMAogICAgc3lzY2FsbCAgICAgICAgIDsgQ2hhbWEgbyBzaXN0ZW1hIHBhcmEgc2Fpcgo=