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 começa aqui
mov rax, 4 ; Move o valor 4 para o registrador rax
mov rbx, 4 ; Move o valor 4 para o registrador rbx
cmp rax, rbx ; Compara rax com rbx
jz iguais ; Se rax for igual a rbx, salta para "iguais"
mov rcx, 2 ; Se não forem iguais, move o valor 2 para rcx
jmp fim ; Salta para o rótulo "fim"
iguais:
mov rcx, 7 ; Se forem iguais, move 7 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, 1 ; Código de syscall para escrever
mov rdi, 1 ; 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, 1 ; Código de syscall para escrever
mov rdi, 1 ; 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
c2VjdGlvbiAuZGF0YQogICAgbXNnIGRiICdWYWxvciBkZSByY3g6ICcsIDAKCnNlY3Rpb24gLmJzcwogICAgbnVtIHJlc2IgMiAgICAgICAgICA7IFJlc2VydmFuZG8gMiBieXRlcyBwYXJhIGFybWF6ZW5hciBvIHZhbG9yIGNvbnZlcnRpZG8gKHBhcmEgdmFsb3JlcyBkZSAwIGEgOSkKCnNlY3Rpb24gLnRleHQKICAgIGdsb2JhbCBfc3RhcnQKCl9zdGFydDoKCjtxMiBjb21lw6dhIGFxdWkKICAgIG1vdiByYXgsIDQgICAgICAgICAgOyBNb3ZlIG8gdmFsb3IgNCBwYXJhIG8gcmVnaXN0cmFkb3IgcmF4CiAgICBtb3YgcmJ4LCA0ICAgICAgICAgIDsgTW92ZSBvIHZhbG9yIDQgcGFyYSBvIHJlZ2lzdHJhZG9yIHJieAogICAgY21wIHJheCwgcmJ4ICAgICAgICA7IENvbXBhcmEgcmF4IGNvbSByYngKICAgIGp6IGlndWFpcyAgICAgICAgICAgOyBTZSByYXggZm9yIGlndWFsIGEgcmJ4LCBzYWx0YSBwYXJhICJpZ3VhaXMiCiAgICBtb3YgcmN4LCAyICAgICAgICAgIDsgU2UgbsOjbyBmb3JlbSBpZ3VhaXMsIG1vdmUgbyB2YWxvciAyIHBhcmEgcmN4CiAgICBqbXAgZmltICAgICAgICAgICAgIDsgU2FsdGEgcGFyYSBvIHLDs3R1bG8gImZpbSIKCmlndWFpczoKICAgIG1vdiByY3gsIDcgICAgICAgICAgOyBTZSBmb3JlbSBpZ3VhaXMsIG1vdmUgNyBwYXJhIHJjeAoKZmltOgo7cTIgZmluYWxpemEgYXF1aQogICAgOyBFeGliZSBvIHZhbG9yIGRlIHJjeAogICAgOyBBcXVpIHZhbW9zIGltcHJpbWlyIG8gdmFsb3IgZGUgcmN4IGNvbW8gdW0gbsO6bWVybyBBU0NJSSAoMC05KQogICAgYWRkIHJjeCwgJzAnICAgICAgICA7IENvbnZlcnRlIG8gdmFsb3IgbnVtw6lyaWNvIHBhcmEgc2V1IGVxdWl2YWxlbnRlIEFTQ0lJCiAgICBtb3YgW251bV0sIHJjeCAgICAgIDsgQXJtYXplbmEgbyB2YWxvciBjb252ZXJ0aWRvIGVtIG51bQoKICAgIDsgQ8OzZGlnbyBwYXJhIGltcHJpbWlyIGEgbWVuc2FnZW0KICAgIG1vdiByc2ksIG1zZyAgICAgICAgOyBFbmRlcmXDp28gZGEgbWVuc2FnZW0KICAgIG1vdiByZHgsIDE0ICAgICAgICAgOyBUYW1hbmhvIGRhIG1lbnNhZ2VtCiAgICBtb3YgcmF4LCAxICAgICAgICAgIDsgQ8OzZGlnbyBkZSBzeXNjYWxsIHBhcmEgZXNjcmV2ZXIKICAgIG1vdiByZGksIDEgICAgICAgICAgOyBEZXNjcml0b3IgZGUgYXJxdWl2byAoc3Rkb3V0KQogICAgc3lzY2FsbAoKICAgIDsgQ8OzZGlnbyBwYXJhIGltcHJpbWlyIG8gbsO6bWVybwogICAgbW92IHJzaSwgbnVtICAgICAgICA7IEVuZGVyZcOnbyBkbyBuw7ptZXJvIGEgc2VyIGltcHJlc3NvCiAgICBtb3YgcmR4LCAxICAgICAgICAgIDsgVGFtYW5obyBkbyBuw7ptZXJvICgxIGJ5dGUpCiAgICBtb3YgcmF4LCAxICAgICAgICAgIDsgQ8OzZGlnbyBkZSBzeXNjYWxsIHBhcmEgZXNjcmV2ZXIKICAgIG1vdiByZGksIDEgICAgICAgICAgOyBEZXNjcml0b3IgZGUgYXJxdWl2byAoc3Rkb3V0KQogICAgc3lzY2FsbAoKICAgIDsgRmluYWxpemEgbyBwcm9ncmFtYQogICAgbW92IHJheCwgNjAgICAgICAgICA7IEPDs2RpZ28gZGUgc3lzY2FsbCBwYXJhIHNhaXIKICAgIHhvciByZGksIHJkaSAgICAgICAgOyBDw7NkaWdvIGRlIHNhw61kYSAwCiAgICBzeXNjYWxsCg==