что-то я не так явно делаю. Нужно конвертнуть строку в десятичное число, всё это выполняется в загрузчике, вот, что я настряпал:
ascii_to_dec:
mov si, testnum
xor ax, ax
xor dx, dx
mov cx, 1
mov bx, 10
.atd_begin:
mov dx, [si]
cmp dx, 0
je .atd_done
sub dx, '0'
mul cx
add dx, ax
mov ax, cx
mul bx
mov cx, ax
mov ax, dx
inc si
jmp .atd_begin
.atd_done:
mov [number], ax
ret
подозреваю, что это неправильное использование регистров или ещё что-то... времени нет совершенно уже разбираться, и да это курсач.