Ensamblador SPARC

Páginas: 14 (3461 palabras) Publicado: 24 de mayo de 2015
B
INTRODUCCIÓN AL LENGUAJE
ENSAMBLADOR DE SPARC

B.1.

Introducción

En este apéndice se estudiarán las características específicas del lenguaje ensamblador para
los procesadores con arquitectura SPARC.
Aunque este ensamblador se asemeja mucho a otros, tiene algunas características específicas; por ejemplo, en el ensamblador de SPARC las constantes inmediatas no requieren ningún
símbolo específico ylas referencias a memoria van entre corchetes, tanto si provienen de etiquetas como de registros.

B.2.

Símbolos y expresiones

Se denominan símbolos a los nombres que representan a diversas entidades. Estos nombres
se materializan en cadenas de caracteres con las limitaciones usuales en otros lenguajes de
programación (no comenzar por un número, no contener ciertos caracteres especiales,etc.).
Según una primera clasificación, los símbolos pueden ser:
Permanentes: son símbolos que representan en todos los programas a las mismas entidades. De
este tipo son los nombres de los registros y los operadores, estos símbolos se caracterizan
por comenzar por el carácter %.
Definidos por el usuario: son símbolos que tienen una significación específica en cada programa: constantes, direcciones, nombresde procedimientos, etc.
Los símbolos definidos por el usuario toman valor cuando el programa se compila y en el
momento de la ejecución quedan sustituidos por el valor al que representan que es inalterable.
La forma de asignar valores a los símbolos se efectúa de forma distinta en función de lo que
representen:
231

Introducción al lenguaje ensamblador de SPARC

232

1. Pueden ponerse como unaetiqueta en algún punto del programa, en este caso el símbolo
representa la dirección de la instrucción o dato que vaya a continuación. Las etiquetas se
caracterizan por ir al principio de la línea y seguidas por dos puntos (:).
Para asignar valor a este tipo de símbolos el ensamblador lleva una variable interna denominada location counter (LC) (contador de dirección). Este contador se inicializa a0
al comenzar la compilación y se incrementa por el número de bytes necesarios para cada
instrucción máquina traducida o cada área reservada para datos. Dicho de otra forma, el
LC lleva un control de la dirección de memoria de cada dato o instrucción pero relativa
al principio del programa. Cuando aparece una etiqueta el compilador le asigna el valor
que tenga LC en ese momento. Este valor seráuna referencia, ya que el valor real de la
dirección representada por las etiquetas será el valor del LC en el momento de compilar
esa línea más la dirección de comienzo de programa. A los símbolos asignados de esta
forma se les denomina símbolos relocalizables.
2. Pueden asignarse también mediante el signo =, en este caso el símbolo toma el valor de lo
que haya a la derecha del signo = que debe serconstante. Después del signo = puede haber
algo más que una simple constante numérica, es decir, puede aparecer una expresión.
Una expresión en una combinación de constantes y símbolos relacionados mediante operadores aritméticos entre los cuales los más usuales son: +, -, *, / (división entera). También
existen, como operadores unitarios, el - y los siguientes:

✪✉❤✐: Extrae los bits 63 a 42 delargumento
✪✉❧♦: Extrae los bits 41 a 32 del argumento
✪❤✐: Extrae los bits 31 a 10 del argumento
✪❧♦: Extrae los bits 9 a 0 del argumento
Para estos operadores el argumento se pone entre paréntesis. Estos operandos son especialmente
útiles para la instrucción s❡t❤✐ que sirve para cargar los 22 bits más altos de un registro.
Uno de los términos que pueden aparecer en las expresiones es el valordel LC en el momento de compilarse la expresión que se representa por un punto (.). Esto es muy habitual cuando
se quiere tener en una constante la longitud de una cadena ya que se toma el valor del LC después de reservar su espacio y se le resta el símbolo que represente la dirección de comienzo de
la cadena. La base en que se interpretan las constantes sigue las mismas convenciones que el...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • Sparc
  • Ensamble
  • ensamble
  • Procesadores sparc
  • Ensamblador
  • Ensambles
  • Ensamblado
  • ENSAMBLE

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS