Red de conocimiento informático - Material del sitio web - ¿Cómo convertir un número binario de cuatro bytes en código BCD usando ensamblador?

¿Cómo convertir un número binario de cuatro bytes en código BCD usando ensamblador?

;Existe una matriz llamada BUF que almacena una cadena de caracteres.

;Ahora es necesario convertir cada carácter al código BCD correspondiente y guardarlo en una matriz denominada BCD

DATA SEGMENT

BUF DB '5792'

BCD DB 4 DUP(?)

EXTREMOS DE DATOS

SEGMENTO DE PILA

DB 200 DUP(0)

p >

EXTREMOS DE LA PILA

SEGMENTO DE CÓDIGO

ASUMIR DS:DATA,SS:STACK,CS:CODE

INICIO:

MOV AX,DATA

MOV DS,AX ;La dirección del segmento de datos se envía a DX

MOV CX,4 ;El número de ciclos se envía a CX

LEA SI,BUF ; SI guarda la primera dirección del array BUF

LEA DI,BCD+3; DI guarda la última dirección del array BCD

LOOP1:

MOV AL,[SI] ;Elimina un carácter, (AL)=(DS:SI)

AND AL,0FH ;Borra los 4 bits superiores de AL y conserva los 4 bits bajos

MOV [DI],AL ;Guarda el resultado de la operación, (DS:DI)=(AL)

INC SI ;Modifica el puntero para que SI apunte al siguiente byte de la matriz BUF

DEC DI ;Haga que DI apunte al byte anterior de la matriz BCD

DEC CX Disminuya el número de control del bucle en 1

JNZ LOOP1; Determine si se debe finalizar el bucle

MOV AH,4CH

INT 21H

CODE FINDS

END START