Red de conocimiento informático - Conocimiento sistemático - Ensamblaje: escriba un programa que convierta números binarios de 16 bits en códigos BCD. Se requieren comentarios.

Ensamblaje: escriba un programa que convierta números binarios de 16 bits en códigos BCD. Se requieren comentarios.

; Parámetros de entrada

; AX: código binario de 16 bits

; DI: la primera dirección de la unidad preparada para código BCD

;Exportar parámetros

; NONE

BIN2BCD PROC

PUSH AX

PUSH BX

PUSH CX

p>

PUSH DX

PUSH DI; Protección en sitio

MOV CX,3; Se necesitan hasta 3 bytes para convertir código binario de 16 bits. en código BCD comprimido

RE: SUB DX,DX ;borrar dx

DIV WORD PTR 0AH ;AX se divide por 10, el cociente puede cruzar el límite, por lo que DX-AX son se usan juntos, por lo que 0AH se convierte en una palabra

MOV BL,DL ;Guarde el resto porque DL==DX

SUB DX,DX ;Borrar dx

DIV WORD PTR 0AH ;Igual que arriba

SHL DL,4 ;Mover a posición alta

OR BL,DL ;Comprimir código BCD

MOV [DI ],BL ;Guardar código BCD comprimido

INC DI ;Preparar para guardar el siguiente

DEC CX ;Contar

JNE RE ;Repetir

POP DI ;Recuperación en vivo

POP DX

POP CX

POP BX

POP AX

RET

BIN2BCD ENDP