fork download
  1. section .data
  2. msg db "Enter first number",10 ; Enter first no
  3. len equ $-msg ; length of first number
  4. msg1 db "Enter second number",10 ; Enter second no
  5. len1 equ $-msg1 ; length of second number
  6. msg2 db "The sum is",10
  7. len2 equ $-msg2
  8.  
  9. section .bss
  10. num1 resb 2 ; allocate memory for first number like int num1
  11. num2 resb 2 ; Allocate memory for second number like int num2
  12. sum resb 2 ; Allocate memory for sum like int sum
  13.  
  14. section .text
  15. global _start
  16. _start:
  17. mov rax,1 ; write operation/display first message
  18. mov rdi,1 ; fd value monitor
  19. mov rsi,msg
  20. mov rdx,len
  21. syscall
  22.  
  23. mov rax,0 ; read/input first number
  24. mov rdi,0 ;fd value of the keyboard
  25. mov rsi,num1
  26. mov rdx,2
  27. syscall
  28.  
  29. mov rax,1 ; display second message
  30. mov rdi,1
  31. mov rsi,msg1
  32. mov rdx,len1
  33. syscall
  34.  
  35. mov rax,0 ; input second number
  36. mov rdi,0
  37. mov rsi,num2
  38. mov rdx,2 ;size of num2
  39. syscall
  40.  
  41. mov rax,[num1] ; move first number in rax
  42. sub rax,30h ; convert it in original number
  43. mov rbx,[num2] ; move second number in rbx
  44. sub rbx,30h ; convert it in original number
  45.  
  46. add rax,rbx ; add two numbers
  47. add rax,30h ;convert it in ascii
  48. mov [sum],rax ; mov result in sum
  49.  
  50. mov rax,1 ;display msg2
  51. mov rdi,1
  52. mov rsi,msg2
  53. mov rdx,len2
  54. syscall
  55.  
  56. mov rax,1 ; display sum
  57. mov rdi,1
  58. mov rsi,sum
  59. mov rdx,2
  60. syscall
  61.  
  62.  
  63. mov rax,60
  64. mov rdi,0
  65. syscall
  66.  
Success #stdin #stdout 0s 5320KB
stdin
Standard input is empty
stdout
Enter first number
Enter second number
The sum is
�