mpl9
mpl9
data
section .bss
num resb 03
num1 resb 01
result resb 04
cho resb 2
section .text
global _start
_start:
; Display menu
mov rax, 1
mov rdi, 1
mov rsi, choice
mov rdx, choice_len
syscall
jmp exit
a:
call Succe_addition
jmp _start
b:
call Add_shift
jmp _start
exit:
mov rax, 60
mov rdi, 0
syscall
mov rcx, 02
mov rsi, num
up1:
rol bl, 04
mov al, [rsi]
cmp al, 39h
jbe p1
sub al, 07h
jmp p2
p1:
sub al, 30h
p2:
add bl, al
inc rsi
loop up1
ret
mov rax, 1
mov rdi, 1
mov rsi, result
mov rdx, 4
syscall
ret
mov rax, 0
mov rdi, 0
mov rsi, num
mov rdx, 3
syscall
call convert
mov [num1], bl ; Store first number
mov rax, 0
mov rdi, 0
mov rsi, num
mov rdx, 3
syscall
call convert
xor rcx, rcx
xor rax, rax
mov rax, [num1] ; First number
repet:
add rcx, rax ; Add first number to sum
dec bl
jnz repet ; Loop until second number is exhausted