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