Foro de elhacker.net

Programación => ASM => Mensaje iniciado por: asaranblin en 27 Octubre 2012, 20:59 pm



Título: ASM Intel 8085
Publicado por: asaranblin en 27 Octubre 2012, 20:59 pm
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

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


Título: Re: ASM Intel 8085
Publicado por: kasiko en 30 Octubre 2012, 23:29 pm
esto es una tarea de clase  >:D


Título: Re: ASM Intel 8085
Publicado por: asaranblin en 2 Noviembre 2012, 04:36 am
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