jueves, 16 de enero de 2014

Cuestion D

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