fork download
  1. section .data
  2. msg db 'Valor de rcx: ', 0
  3.  
  4. section .text
  5. global _start
  6.  
  7. _start:
  8. mov rax, 5 ; Move o valor 5 para o registrador rax
  9. mov rbx, 3 ; Move o valor 3 para o registrador rbx
  10. cmp rax, rbx ; Compara rax com rbx
  11. jz iguais ; Se rax for igual a rbx, salta para "iguais"
  12. mov rcx, 9 ; Se não forem iguais, move o valor 9 para rcx
  13. jmp fim ; Salta para o rótulo "fim"
  14.  
  15. iguais:
  16. mov rcx, 0 ; Se forem iguais, move 0 para rcx
  17.  
  18. fim:
  19. ; Imprimir a mensagem
  20. mov rax, 1 ; Número da chamada do sistema para escrever
  21. mov rdi, 1 ; Identificador de saída padrão (stdout)
  22. mov rsi, msg ; Endereço da mensagem
  23. mov rdx, 14 ; Tamanho da mensagem
  24. syscall ; Chama o sistema para escrever
  25.  
  26. ; Agora converte o número de rcx para seu caractere ASCII
  27. add rcx, '0' ; Converte o número para o caractere ASCII correspondente
  28.  
  29. ; Imprimir o valor de rcx como caractere
  30. mov rax, 1 ; Número da chamada do sistema para escrever
  31. mov rdi, 1 ; Identificador de saída padrão (stdout)
  32. mov rsi, rcx ; Endereço do valor em rcx (caractere)
  33. mov rdx, 1 ; Comprimento de 1 byte
  34. syscall ; Chama o sistema para escrever
  35.  
  36. ; Finaliza o programa
  37. mov rax, 60 ; Número da chamada do sistema para sair
  38. xor rdi, rdi ; Código de saída 0
  39. syscall ; Chama o sistema para sair
  40.  
Success #stdin #stdout 0.01s 5292KB
stdin
Standard input is empty
stdout
Valor de rcx: