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