Idear un programa muy sencillo y codificarlo en ARM o x86 (a elegir) para que se ejecute directamente en una máquina
que tenga esa arquitectura (no en un simulador como hemos hecho en las prácticas). Explicar el proceso seguido y las dificultades encontradas.
DOCUMENTACIÓN:
Hemos ideado un programa en x86 porque tiene un cierto
parecido a C, nos resultó algo más sencillo que codificarlo en ARM. En cuanto
al programa, podríamos dividirlo en dos partes, la principal y el inicio del
bucle.
De los registros hemos utilizado:
-Registro ECX: Contador para operaciones de cadena y
bucles.
-Registro EAX: Acumulador de operandos y resultados.
-Registro EBX: Puntero a datos en el registro de
segmento DS.
En
cuanto a instrucciones de transferencia de datos que sirven para mover daos entre
memoria y los registros, hemos utilizado los siguientes:
-MOV:
opdestino, oporigen Mueve datos entre registros, entre memoria y registros e
inmediatos a registros.
De las
instrucciones aritméticas a binario:
-ADD: opdestino,
oporigen Suma oporigen y opdestino y almacena el resultado en opdestino.
-DEC: oporigen
Decrementa oporigen en una unidad
DIFICULTADES ENCONTRADAS:
Realmente no hemos encontrado muchos problemas a la hora de implementar el programa a diferencia de la arquitectura ARM, no obstante hemos encontrado una pequeña dificultad en el tema de las instrucciones y de los registros. En la arquitectura ARM a diferencia de la X86, utiliza mas operaciones, por lo que incrementa el número de instrucciones que se puede dar por ejemplo en una simple suma o resta.

No hay comentarios:
Publicar un comentario