Ir al contenido principal

Estructura de un Archivo Ensamblador Arm

Los archivos en lenguaje ensamblador para los procesadores Arm terminan en “.s”, esta es su extensión con la cual son creados los archivos para su posterior compilación, los archivos como en todo lenguaje llevan una estructura, a continuación se explica la estructura y algunas características comúnmente presentes en estos archivos.

Las directivas: Son fácilmente reconocibles, ya que son las que empiezan por un “.”, estas son muy importantes dentro del archivo de ensamblador, esto debido a que permite definir las secciones de data y texto como “.data” y “.text” respectivamente, las directivas son palabras reservadas que el compilador entiende y le dan estructura para que sea posible interpretar el código en el archivo.
Las Etiquetas: Son muy utilizadas y tambien muy importantes, las etiquetas empiezan al comienzo de una linea y estas deben finalizar con el carácter “:”, no pueden iniciar con numeros. Son muy importantes, ya que sirven para hacer referencia a esa parte de codigo que contiene la etiqueta, el programa de ensamblador guarda la posicion o direccion de memoria para poder referenciarlo posteriormente.
Las Pseudo-Instrucciones: Son instrucciones propias del lenguaje ensamblador y que no están soportadas por el conjunto de instrucciones maquina. En el momento que el ensamblador encuentra una pseudo-instrucción, la sustituye automáticamente por la instrucción o secuencia de instrucciones maquina que realicen la función indicada en la pseudo-instrucción. Esto facilita al programador, ya que se ahorra tiempo al escribir código.
Los comentarios: Estos son muy útiles en los lenguajes de programación en general y en ensamblador son aun mas importantes, permite anotar mensajes que facilitan la compresión de una linea y todo el código en general. Los comentarios en una linea comienzan con un “@”. Cuando el ensamblador identifica este carácter ignora todo el codigo siguiente hasta el final de la linea, también es posible comentarios de mas de una linea para eso se utiliza los caracteres “/* “ y “*/” el primero para abrir y el segundo para cerrar los comentarios.

En la siguiente imagen podemos ver estos componentes:

Directivas: .text .global .extern
Etiquetas: main
Comentarios: comienzan con "@"


Como se han mencionado los lenguajes de programación y en especial el ensamblador necesitan una estructura para definir sus componentes para poder ejecutar el archivo(“.s”), es importante utilizar también las facilidades y herramientas que brinda el lenguaje como los comentarios en código o los ya mencionados pseudo-instrucciones, de esta forma el archivo(“.s”) tendrá la estructura correcta para poder usarse correctamente.

Referencias:

Comentarios

Entradas populares de este blog

Ciclo Fetch Decode Execute

El encargado de ejecutar un programa en una computadora u otro sistema computacional es el CPU, lo realiza siguiendo el llamado ciclo Fetch Decode Execute, con este ciclo se ejecutan todas las tareas que una computadora puede realizar. Este ciclo tiene algunas variantes y conforme ha avanzado el tiempo y la tecnología ha sufrido algunos cambios, pero el ciclo básico se conforma de las siguientes etapas: Traer la instrucción: Se obtiene la instrucción desde memoria y se almacena en el registro del CPU para instrucciones. Decodificar la instrucción: Se identifica el modo de direccionamiento de la instrucción y la ubicación de los datos a tratar, ya sea de memoria, registro o instrucción directamente. Carga de Parámetros: Se ejecuta la lectura, cargando todos los datos identificados en el paso anterior. Ejecutar: Se ejecuta la instrucción ya configurada, realiza la tarea indicada, ya sea una suma, resta, almacenar información, extraer información etc. Almacenar: Se almacen...

Importancia de los Sistemas Numéricos en la Computación

Un sistema de numeración se define como un conjunto de símbolos y reglas que permiten representar datos numéricos. Además, los sistemas numéricos modernos se caracterizan por ser posicionales, ya que un símbolo tiene un peso según en la posición que se encuentre en la cifra numérica. Existen distintos sistemas numéricos modernos, los más comunes son: ·          Sistema Decimal : 0-1-2-3-4-5-6-7-8-9, (Diez símbolos) ·          Sistema Binario : 0-1, (Dos símbolos) ·          Sistema Octal : 0-1-2-3-4-5-6-7, (Ocho símbolos) ·          Sistema Hexadecimal : 0-1-2-3-4-5-6-7-8-9-A-B-C-D-E-F, (Dieciséis Símbolos) Todos los sistemas mencionados anteriormente tienen reglas y relaciones que permiten la realización de las operaciones básica que conocemos como la suma, resta, multiplicación, división. L...

Arquitectura RISC y CISC

Cuando se desarrolla una aplicación, se utilizan por lo general lenguajes de programación de alto nivel como JAVA, C++, PYTHON etc. Pero estos lenguajes durante su proceso de compilación se transforman en lenguaje ensamblador, existen casos en los cuales se desarrolla un software directamente en el lenguaje ensamblador, pero para poder realizar esto último se necesita saber la arquitectura del dispositivo. A continuación, se explicarán las arquitecturas RISC y CISC. La arquitectura RISC, su nombre significa en inglés Reduce Instruction Set Computer, y CISC que significa en Complex Instruction set Computer. El primero hace referencia a un conjunto reducido de instrucciones en el procesador, mientras que el segundo se refiere a un conjunto complejo de instrucciones. Estos dos, forman las dos arquitecturas de procesadores que podemos encontrar en los computadores actuales, y cada uno tiene sus usos específicos y particularidades respecto al otro. CISC (Complex Instruction Set Co...