ASM Intel 8085

Iniciado por asaranblin, 27 Octubre 2012, 20:59 PM

0 Miembros y 1 Visitante están viendo este tema.

asaranblin

Hola, tengo una duda con ASM, me dieron el siguiente ejercicio:

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

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

kasiko

esto es una tarea de clase  >:D
Nos vemos...


asaranblin

Exactamente, por eso necesitaba orientación/ayuda (mi post no iba a que me resuelvan la tarea), pero ya logre resolverlo, me ayude del emulador GNUsim8085


Saludos