Posted by : Unknown lunes, 29 de abril de 2013


1) ¿Qué es el lenguaje ensamblador?

Es un lenguaje de programación de bajo nivel. Representa simbólicamente la codificación binaria del computador (lenguaje máquina).

El lenguaje ensamblador juega dos papeles:

   -Es el lenguaje de salida de los compiladores. Un compilador traduce un programa escrito en lenguaje de alto nivel (P.e: C++) en un programa equivalente escrito en lenguaje ensamblador (lenguaje objeto).

   -Es un lenguaje más con el que escribir programas en los que la velocidad o tamaños son críticos o para explotar las características hardware que no tienen análogos en lenguajes de alto nivel.

2) ¿Qué función tiene un ensamblador?

Es el que se encarga de traducir de lenguaje ensamblador a lenguaje máquina.

El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los códigos nemónicos que aparecen, por su código de operación correspondiente en sistema binario (produciendo un archivo objeto) para la plataforma que se eligió como destino en las opciones específicas del ensamblador.

3) ¿Qué son los códigos nemónicos?

Un nemónico es un dato simbólico que identifica un comando generalmente numérico (binario, octal, hexadecimal) de una forma mas sencilla que su numeración original, lo cual facilita radicalmente la memorización de este comando para el programador.

Un ejemplo de este código es:


4) ¿Qué son las pseudoinstrucciones?

Es una forma que tiene el ensamblador de incrementarle el número de instrucciones disponibles a los compiladores. Son instrucciones del lenguaje ensamblador que no necesitan ser implementadas en hardware.

El ensamblador MIPS maneja pseudoinstrucciones reservando $1 para su uso como registro temporal.

5) ¿Qué software necesito para empezar a programar en ensamblador?

El software a descargar será el MARS, el cual es libre y gratuito, con una interfaz sencilla y fácil de usar para editar y desarrollar nuestro programa.

Puedes conseguirlo en el campus virtual de la UCA, si no es posible, también lo encontrarás en este link: http://courses.missouristate.edu/KenVollmar/MARS/

6) ¿Qué tipo de Sistema Operativo soporta MARS y de donde lo puedo descargar?

MARS soporta tanto Windows como Linux y se puede descargar desde la siguiente página: http://www.oracle.com/technetwork/java/javase/downloads/index.html.

7) Ayuda en MARS.

Este software nos ofrece un apartado de ayuda dónde podremos consultar sobre instrucciones MIPS, llamadas al sistema, directivas, pseudoinstrucciones, etc. Para acceder a dicho apartado o bien pinchamos en la pestaña “Help” , o bien pulsamos F1.

8) ¿Todos los registros son preservados en llamada?

No, los registros preservados durante una llamada son aquellos que (por convenio) no serán modificados por una llamada de sistema o a un procedimiento o función, por esta razón algunos si están preservados y otros no.

Como vemos en la siguiente tabla algunos registros son preservados y otros no; para mayor ampliación de información en dicha tabla también aparecen el nombre, número, y uso de los registros que citan.

Registros


9) ¿Que son, para que sirven y como utilizo las llamadas al sistemas a la hora de programar en MIPS?

Las llamadas al sistema en la programación MIPS son un recurso del que dispone el programador para indicarle al sistema que tiene que realizar una operación de entrada o salida, o bien tiene que realizar alguna tarea como cerrar el programa. Para que se efectúen dichos servicios se debe usar la instrucción syscall.

Los registros para los argumentos son $a0, $a1 o $f12, y el registro reservado para guardar el código de llamada al sistema es $v0. Según el contenido de dicho registro, al ejecutar syscall, se producirá una cosa u otra. Dicho código podemos encontrarlo en los apuntes (Guía de referencia del ensamblador del MIPS 32).

10) ¿Es posible escribir comentarios en MARS? ¿Cómo?

Efectivamente, se pueden escribir comentarios en cada línea, poniendo “#” antes de comenzar cada  frase. En ensamblador, es muy recomendable comentar cada instrucción, para facilitar su comprensión y legibilidad.

Es decir, que para poner comentarios de varias lineas es necesario poner delante de cada linea # ya que no es como lenguaje c

Leave a Reply

Subscribe to Posts | Subscribe to Comments

- Copyright © 2025 Fec -