fork download
  1. %macro WRITE 2
  2. mov rax, 01
  3. mov rdi, 01
  4. mov rsi, %1
  5. mov rdx, %2
  6. syscall
  7. %endmacro
  8.  
  9. %macro READ 2
  10. mov rax, 00
  11. mov rdi, 00
  12. mov rsi, %1
  13. mov rdx, %2
  14. syscall
  15. %endmacro
  16.  
  17. %macro EXIT 0
  18. mov rax, 60
  19. mov rdi, 00
  20. syscall
  21. %endmacro
  22.  
  23. section .data
  24.  
  25. msg1 db "Enter 2 numbers", 10
  26. len1 equ $-msg1
  27.  
  28. msg2 db "Addition is: "
  29. len2 equ $-msg2
  30.  
  31. section .bss
  32.  
  33. a resb 1
  34. b resb 1
  35. c resb 1
  36.  
  37. section .text
  38. global _start
  39.  
  40. _start:
  41.  
  42. WRITE msg1, len1
  43.  
  44. READ a, 1
  45. sub byte [a], 30H
  46.  
  47. READ b, 1
  48. sub byte [b], 30H
  49.  
  50. mov bl, byte [a]
  51. add bl, byte [b]
  52.  
  53. add bl, 30H
  54. mov byte [c], bl
  55.  
  56. WRITE msg2, len2
  57. WRITE c, 1
  58.  
  59. EXIT
Success #stdin #stdout 0s 5312KB
stdin
52
stdout
Enter 2 numbers
Addition is: 7