Ввод, который вы получаете от использования функции DOS 01h, является символом. Вы должны преобразовать это в цифру, что это обозначает. например, "2" преобразуется в значение 2. Мы просто отнимаем 48 , чтобы сделать это.
Умножение mul bl
является правильным (AL
* BL
). Продукт будет в AX
, но оба входа ограничены 9, поэтому продукт никогда не будет больше 81.
Перед печатью вам необходимо преобразовать значение продукта обратно в символ путем добавления 48 . Это может работать, только если продукт был не выше 9, потому что в противном случае потребовалось бы более 1 символа .
mov ah,1
int 21h
SUB AL, 48
mov bl,al
MOV AH, 01h
int 21h
SUB AL, 48
mul bl
mov ah,2
mov dl,al
ADD DL,48
int 21h
Если вы введете «2» и «3», вы получите «6».