Construya un programa que permita multiplicar dos números de 8 bits. Los números se proporcionan en formato decimal y se encuentran disponibles en las localizaciones de memoria 4150 y 4151 y se requiere que el resultado se almacene en la posición 4153
lo trate de hacer pero no se si estará bien, acá les pongo mi resolución, para ver si alguien que se maneje en el Intel 8085 me pueda ayudar
Código:
LXI B, 4150H // Apuntar registro BC direccion de memoria 4150
LXI H, 4151H // Apuntar registro HL direccion de memoria 4151
MOV E, M // copiar contenido de lo que apunta el par HL a E
LDAX B // Cargar en memoria contenido de lo que apunta BC al acumalador
LXI H, 4153H // donde se guardara finalmente el resultado
MVI D, 0H //Contador
:loop // etiqueta
CMP D // Comparar D con acumulador
JC bucle // si es menor
JNC end // si es mayor se termina programa
JZ bucle // si es igual
bucle: //etiqueta
INR D //se incrementa contador
MOV A,E // se copia el registro E en el acumulador
ADD E // se suma lo que se tiene en el acumulador con registro E
JNC NC // si no se produce carry
NC: MOV L,A // se guarda en la parte baja
MOV H,A // si hay carry parte alta
LDAX B // Cargar en memoria contenido de lo que apunta BC al acumalador
JMP loop // volver a iterar
END:
HLT //Terminar
Saludos