Anda di halaman 1dari 3

Tarea 2

Lenguaje de Ensamblador.
Sistemas Computacionales 549 170
Prof. Rosa Figueroa. Ay: Jaime Jimnez Ruiz
Fecha Entrega: 02 de diciembre, 17:00 hrs.

Objetivo: Utilizar lenguaje de ensamblador a partir de un cdigo en C. Uso de macros de


lectura y escritura. Utilizar y describir traspaso de argumentos a travs de registros y la pila.
Entrega: Esta tarea se puede realizar en grupo mximo de dos personas. Se deber
entregar un documento breve detallando sus resultados, en secretara de Ing. Civil
Biomdica, en la fecha indicada. La portada de este informe debe contener: nombre
completo, carrera, nmero de tarea, asignatura. Adems de sus cdigos a travs de la
plataforma classroom.
Fecha de Entrega: 12 de diciembre hasta las 17:00 hrs. En caso de identificarse copias
en los informes, estos sern calificados con nota mnima a todos sus involucrados.
Los informes entregados despus de las 17:00 hrs de la fecha de entrega, sern
considerados como informes atrasados y se descontar 0.5 puntos de su puntaje total.
Tareas atrasadas tendrn un descuento de 0.5 puntos por da de atraso. En caso de no
presentar este informe, el alumno ser calificado como NCR.
Desarrollo
Se pide desarrollar los siguientes puntos. Se requiere captura de pantalla de los comandos
ingresados en la lnea de comandos y de los resultados entregados al ejecutar el programa
(0.5 pto.). Adems, de entregar los archivos en formato *.s, a travs de la plataforma
classroom (o va mail).
1. (2.0 pts.) Se le entrega un cdigo en C, en el cul es definida una ristra o string
Winter is coming. La funcin imprime_salto(), recibe como argumento un
puntero a string, imprime cada carcter del mismo junto a un salto de lnea y retorna
un entero de tipo long int, con el valor del nmero de caracteres del string.
(1.5 pts. i-iv)
i. Se le solicita que escriba un cdigo en assembly que implemente el cdigo
anterior. El valor entero retornado por imprime_salto, debe ser retornado para
visualizar con el comando echo. Se espera, a modo de ejemplo, que su
programa se ejecute y visualice como se observa en Fig. 1
ii. El cdigo debe estar correctamente comentado, adems de permitir su
ensamblaje y enlace.
iii. La funcin imprime_salto, debe ingresar su argumento mediante registros.
iv. El cdigo se puede implementar tanto en x64, como en x32 bits, de acuerdo a
su versin de Ubuntu.
v. (0.5 pto.) Identifique tres peligros potenciales en su cdigo, considerando un
pipeline de acuerdo al visto en clases. Indique la lnea, instruccin, tipo de
peligro y cuntas Burbujas son necesarias para solucionar el peligro y/o las
etapas involucradas en el caso de Redireccin (Forwarding).
2. (2.5 pts) Se le entrega un cdigo en C, el cual solicita una ristra ingresada por el
usuario. La funcin imprime_salto_rec(), es de tipo recursiva (se llama a s misma)
recibe como argumento un puntero a string e imprime cada carcter del mismo junto
a un salto de lnea, adems de retornar un entero de tipo long int, con el valor del
nmero de caracteres del string.
(2.0 pts. i-iv)
i. Se le solicita que escriba un cdigo en assembly que implemente el cdigo
anterior. El valor entero retornado por imprime_salto, debe ser retornado para
visualizar con el comando echo. Se espera, a modo de ejemplo, que su
programa se ejecute y visualice como se observa en Fig. 2.
ii. El cdigo debe estar correctamente comentado, adems de permitir su
ensamblaje y enlace.
iii. La funcin imprime_salto, debe ingresar su argumento mediante el uso de la
pila.
iv. El cdigo se puede implementar tanto en x64, como en x32 bits, de acuerdo a
su versin de Ubuntu.
v. (0.5 pto.) Calcule el CPI de su cdigo, considerando las penalidades por
burbujas en los tres tipos de peligros vistos en clases, mediante (1).
Considerando que el usuario ingres el string .
= . + + + ()

lp: penalidad por peligros de lectura y uso


mp: penalidad por prediccin errada
rp: penalidad por instrucciones de retorno

3. (1 pto.) Explique, mediante un esquema, dibujo, o diagrama, el funcionamiento de


la pila, el traspaso de argumentos, marco de activacin, e instrucciones de retorno.
Para el cdigo desarrollado en 2. Considerando que l usuario ingres el string xD

Fig. 1. Captura ejercicio 1.


Fig. 2. Captura ejercicio 2.

Anda mungkin juga menyukai