article

Un ensamblador es una aplicación de sistema que se encarga de traducir un fichero fuente escrito en un lenguaje ensamblador, a un fichero objeto que contiene código máquina, ejecutable directamente por la máquina para la que se ha generado.

Tipos de ensambladores


Podemos distinguir entre tres tipos de ensambladores:

  • Ensambladores básicos. Son de muy bajo nivel, y su tarea consiste básicamente en ofrecer nombres simbólicos a las distintas instrucciones (u OpCodes) de la máquina apropiada, además de ofrecer un formato de escritura cómodo para expresar los parámetros y cosas tales como los modos de direccionamiento. Además, reconoce una serie de directivas (o meta instrucciones) que indican ciertos parámetros de funcionamiento del ensamblador.

  • Ensambladores modulares, o macro ensambladores. Descendientes de los ensambladores básicos, fueron muy populares en las décadas de los 50 y los 60, antes de la generalización de los lenguajes de alto nivel. Hacen todo lo que puede hacer un ensamblador, y además proporcionan una serie de directivas para definir e invocar macro instrucciones (o simplemente, macros). Cuando invocamos a una macro, ésta se expande al cuerpo que hayamos definido. Véase X86.

  • Ensambladores modulares 32-bits. Pueden ser de alto y bajo nivel, pero solo emulado en 32-bits. Microsoft aún está reproduciendo el Microsoft Macro Assembler, es reproducido por un paquete preparado. El ml 6.14 emula poderosos compilados en 32-bits, su sintaxis es mezcla de; C API, ensamblador, y macros. HLA High-Level Assembler, es un lenguaje poderoso que soporta de bajo y alto-nivel pero solo en 32-bits. High-Level Assembler traducido a "Ensamblador de Nivel-Alto. Tiene un libro popular llamado "AOA" Art of Assembly Language traducido a "Arte del Lenguaje Ensamblador". También tiene fama de usar macros como los de masm. Otros ensambladores populares de 32-bits que emulan casi lo mismo aunque puden soportar programar en 16-bits también llamados registros de segmento.

Básicamemnte existen tantos lenguajes de ensamblador como diferentes modelos de procesadores, desde un procesador de un reloj digital o de una calculadora hasta procesadores para computadoras MAC o PC que los hace Intel; cada procesador usa un lenguaje asembler diferente, pero a pesar de ésta diferencia, todos los procesadores básicamente mueven valores binarios desde una posición de memoria a otra, Por Ejemplo:

Add AX, 01 Mov BX, AX

Ésto quiere decir que en la primera línea o instrucción de código ensamblador, suma un 1(uno) en el registro principal llamado AX, que no es nada más que una memoria interna del procesador, y en la segunda instrucción mueve ese valor a otro registro o posición de memoria del procesador llamado BX. Cada lenguaje de programación se usó en su momento para desarrollar programas cada vez más complicados por ello en los primeros años de la computación se usaron tarjetas perforadas que significaban 1's (unos) y 0's (ceros) para sumar y restar con las computadoras y luego se usó el ensamblador para hacer programas como el CPM, D.O.S, o el lenguaje "C", luego con éste último lenguaje se hizo el Windows 3.0, Unix y el C++ y con éste último se hizo Windows 98, Linux, Etc...

Enlaces externos


  • http://masm32.com/
  • http://webster.cs.ucr.edu/
  • http://godevtool.com/
  • http://flatassembler.net/
  • http://nasm.sourceforge.net/wakka.php?wakka=HomePage
  • http://betov.free.fr/RosAsm.html
  • http://luxasm.sourceforge.net/
  • http://eji.com/a86/
  • http://nasm.sourceforge.net/

Herramientas de programación

Assembler_(Informatik) | Assembler | Programme Assembleur | אסמבלר | Assembler (Informatik) | Assembler | Ассемблер | Assembler

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Ensamblador".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld