%macro WRITE 2
    mov rax, 01
    mov rdi, 01
    mov rsi, %1
    mov rdx, %2
    syscall
%endmacro

%macro READ 2
    mov rax, 00
    mov rdi, 00
    mov rsi, %1
    mov rdx, %2
    syscall
%endmacro

%macro EXIT 0
    mov rax, 60
    mov rdi, 00
    syscall
%endmacro

section .data

msg1 db "Enter 2 numbers", 10
len1 equ $-msg1

msg2 db "Addition is: "
len2 equ $-msg2

section .bss

a resb 1
b resb 1
c resb 1

section .text
global _start

_start:

    WRITE msg1, len1

    READ a, 1
    sub byte [a], 30H

    READ b, 1
    sub byte [b], 30H

    mov bl, byte [a]
    add bl, byte [b]

    add bl, 30H
    mov byte [c], bl

    WRITE msg2, len2
    WRITE c, 1

    EXIT