Преобразование BCD в ASCII

Я знаю, что каждые 4 бита в BCD - это одна цифра в десятичном формате, но у меня есть проблема, например, когда я хочу напечатать значение BCD, хранящееся в CH, я делаю это:

add ch, 30h

но когда значение равно 12, оно печатает "C", я хочу напечатать "12". Как я могу делать операции с 4-битными данными?

1 ответ

mov al,ch      ; if ch has 12h
aam            ; ax will now be 0102h
or ax,3030h    ; converting into ascii - ax will now become 3132h
; you can now print the value in ax
mov cx,ax
mov dl,ch      ; to print on screen
mov ah,02h
int 21h
mov dl,cl
int 21h
ret

8086 AAM Инструкция

8086 INT 21h функция для печати символа

Другие вопросы по тегам