Cześć, może mi ktoś pomóc wskazać błędy w tym niedziałającym programie?

global main

section .data

liczba1 dq 1
liczba2 dq 1
wynik dq 1

section .bss


section .text

main:

	mov rax, 3
	mov rbx, 0
	mov rcx, liczba1
	mov rdx, 4
	int 80h

	mov rax, 3
	mov rbx, 0
	mov rcx, liczba2
	mov rdx, 4
	int 80h

	sub qword [liczba1], 48
	sub qword [liczba2], 48
	
	mov rdx, 0
	mov rax, [liczba1]
	mov rbx, [liczba2]
	div rbx
	
	mov [wynik], rax
	
	add qword [wynik], 48
	
	mov rax, 4
	mov rbx, 1
	mov rcx, wynik
	mov rdx, 1
	int 80h

;******************************
;	usuwajac: sub qword [liczba1], 48
;	
;	mov rax, 4
;	mov rbx, 1
;	mov rcx, liczba1
;	mov rdx, 1
;	int 80h
;	i wówczas jak wpisze 65 to zamiast pokazywania "A" wypisuje mi 65?
;       dlaczego tak jest?
;******************************
	mov rax, 1
	mov rbx, 0
	int 80h

Niestety nikt nie odpowiedział i musiałem się męczyć sam, ale dałem radę. Polecam debugger'a - SASM. Dla potomnych:

global main

section .data

number1 dq 1 
number2 dq 1
result dq 1
newline dq 1

section .bss


section .text

main:
    mov rbp, rsp; for correct debugging

mov rax, 3
mov rbx, 0
mov rcx, number1
mov rdx, 1
int 80h

mov rax, 3
mov rbx, 0
mov rcx, newline
mov rdx, 1
int 80h


mov rax, 3
mov rbx, 0
mov rcx, number2
mov rdx, 1
int 80h



mov rdx, 0
mov rax, [number1]
sub rax, 48
mov rbx, [number2]
sub rbx, 48
div rbx
add rax, 48
mov [result], rax



mov rax, 4
mov rbx, 1
mov rcx, result
mov rdx, 1
int 80h


mov rax, 1
mov rbx, 0
int 80h