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:
;q2 comeca aqui
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:
;q2 finaliza aqui
; Exibe o valor de rcx
; Aqui vamos imprimir o valor de rcx como um número ASCII (0-9)
add rcx, '0' ; Converte o valor numérico para seu equivalente ASCII
mov [num], rcx ; Armazena o valor convertido em num
; Código para imprimir a mensagem
mov rsi, msg ; Endereço da mensagem
mov rdx, 14 ; Tamanho da mensagem
mov rax, 0x1 ; Código de syscall para escrever
mov rdi, 0x1 ; Descritor de arquivo (stdout)
syscall
; Código para imprimir o número
mov rsi, num ; Endereço do número a ser impresso
mov rdx, 1 ; Tamanho do número (1 byte)
mov rax, 0x1 ; Código de syscall para escrever
mov rdi, 0x1 ; Descritor de arquivo (stdout)
syscall
; Finaliza o programa
mov rax, 60 ; Código de syscall para sair
xor rdi, rdi ; Código de saída 0
syscall
c2VjdGlvbiAuZGF0YQogICAgbXNnIGRiICdWYWxvciBkZSByY3g6ICcsIDAKCnNlY3Rpb24gLmJzcwogICAgbnVtIHJlc2IgMiAgICAgICAgICA7IFJlc2VydmFuZG8gMiBieXRlcyBwYXJhIGFybWF6ZW5hciBvIHZhbG9yIGNvbnZlcnRpZG8gKHBhcmEgdmFsb3JlcyBkZSAwIGEgOSkKCnNlY3Rpb24gLnRleHQKICAgIGdsb2JhbCBfc3RhcnQKCl9zdGFydDoKCjtxMiBjb21lY2EgYXF1aQogICAgbW92IHJheCwgNSAgICAgICAgICA7IE1vdmUgbyB2YWxvciA1IHBhcmEgbyByZWdpc3RyYWRvciByYXgKICAgIG1vdiByYngsIDMgICAgICAgICAgOyBNb3ZlIG8gdmFsb3IgMyBwYXJhIG8gcmVnaXN0cmFkb3IgcmJ4CiAgICBjbXAgcmF4LCByYnggICAgICAgIDsgQ29tcGFyYSByYXggY29tIHJieAogICAganogaWd1YWlzICAgICAgICAgICA7IFNlIHJheCBmb3IgaWd1YWwgYSByYngsIHNhbHRhIHBhcmEgImlndWFpcyIKICAgIG1vdiByY3gsIDkgICAgICAgICAgOyBTZSBuw6NvIGZvcmVtIGlndWFpcywgbW92ZSBvIHZhbG9yIDkgcGFyYSByY3gKICAgIGptcCBmaW0gICAgICAgICAgICAgOyBTYWx0YSBwYXJhIG8gcsOzdHVsbyAiZmltIgoKaWd1YWlzOgogICAgbW92IHJjeCwgMCAgICAgICAgICA7IFNlIGZvcmVtIGlndWFpcywgbW92ZSAwIHBhcmEgcmN4CgpmaW06CjtxMiBmaW5hbGl6YSBhcXVpCiAgICA7IEV4aWJlIG8gdmFsb3IgZGUgcmN4CiAgICA7IEFxdWkgdmFtb3MgaW1wcmltaXIgbyB2YWxvciBkZSByY3ggY29tbyB1bSBuw7ptZXJvIEFTQ0lJICgwLTkpCiAgICBhZGQgcmN4LCAnMCcgICAgICAgIDsgQ29udmVydGUgbyB2YWxvciBudW3DqXJpY28gcGFyYSBzZXUgZXF1aXZhbGVudGUgQVNDSUkKICAgIG1vdiBbbnVtXSwgcmN4ICAgICAgOyBBcm1hemVuYSBvIHZhbG9yIGNvbnZlcnRpZG8gZW0gbnVtCgogICAgOyBDw7NkaWdvIHBhcmEgaW1wcmltaXIgYSBtZW5zYWdlbQogICAgbW92IHJzaSwgbXNnICAgICAgICA7IEVuZGVyZcOnbyBkYSBtZW5zYWdlbQogICAgbW92IHJkeCwgMTQgICAgICAgICA7IFRhbWFuaG8gZGEgbWVuc2FnZW0KICAgIG1vdiByYXgsIDB4MSAgICAgICAgOyBDw7NkaWdvIGRlIHN5c2NhbGwgcGFyYSBlc2NyZXZlcgogICAgbW92IHJkaSwgMHgxICAgICAgICA7IERlc2NyaXRvciBkZSBhcnF1aXZvIChzdGRvdXQpCiAgICBzeXNjYWxsCgogICAgOyBDw7NkaWdvIHBhcmEgaW1wcmltaXIgbyBuw7ptZXJvCiAgICBtb3YgcnNpLCBudW0gICAgICAgIDsgRW5kZXJlw6dvIGRvIG7Dum1lcm8gYSBzZXIgaW1wcmVzc28KICAgIG1vdiByZHgsIDEgICAgICAgICAgOyBUYW1hbmhvIGRvIG7Dum1lcm8gKDEgYnl0ZSkKICAgIG1vdiByYXgsIDB4MSAgICAgICAgOyBDw7NkaWdvIGRlIHN5c2NhbGwgcGFyYSBlc2NyZXZlcgogICAgbW92IHJkaSwgMHgxICAgICAgICA7IERlc2NyaXRvciBkZSBhcnF1aXZvIChzdGRvdXQpCiAgICBzeXNjYWxsCgogICAgOyBGaW5hbGl6YSBvIHByb2dyYW1hCiAgICBtb3YgcmF4LCA2MCAgICAgICAgIDsgQ8OzZGlnbyBkZSBzeXNjYWxsIHBhcmEgc2FpcgogICAgeG9yIHJkaSwgcmRpICAgICAgICA7IEPDs2RpZ28gZGUgc2HDrWRhIDAKICAgIHN5c2NhbGwK