fork download
  1. section .text
  2. global _start
  3.  
  4. _start:
  5. mov rax, 4 ; Coloca 4 em rax
  6. mov rbx, 4 ; Coloca 4 em rbx
  7. cmp rax, rbx ; Compara rax com rbx
  8. jz iguais ; Se forem iguais, salta para 'iguais'
  9.  
  10. mov rcx, 2 ; Se não forem iguais, coloca 2 em rcx
  11. jmp fim ; Salta para 'fim'
  12.  
  13. iguais:
  14. mov rcx, 7 ; Se forem iguais, coloca 7 em rcx
  15.  
  16. fim:
  17. ; Imprime o valor de rcx (que é entre 0 e 9)
  18. add rcx, '0' ; Converte o valor de rcx para o caractere ASCII correspondente
  19.  
  20. ; Exibe o valor de rcx na tela
  21. mov rax, 1 ; Syscall sys_write
  22. mov rdi, 1 ; File descriptor 1 (stdout)
  23. mov rsi, rcx ; Caractere a ser impresso
  24. mov rdx, 1 ; Apenas 1 byte a ser escrito
  25. syscall ; Chama a syscall
  26.  
  27. ; Final do programa
  28. mov rax, 60 ; Syscall sys_exit
  29. xor rdi, rdi ; Código de saída 0 (sucesso)
  30. syscall ; Chama a syscall de saída
  31.  
Success #stdin #stdout 0s 5312KB
stdin
Standard input is empty
stdout
Standard output is empty