Hernandez_Hernandez_Practica web de la sesion 12.pptx
Ensambladores
1. Ensambladores
El término ensamblador (del inglés assembler) se refiere a un tipo de programa informático 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 el microprocesador.
Funcionamiento
El programa lee el fichero escrito en lenguaje ensamblador y sustituye cada uno de los códigos
uno a uno nemotécnicos que aparecen por su código de operación correspondiente en sistema
binario para la plataforma que se eligió como destino en las opciones específicas del
ensamblador.
Tipos de ensambladores
Artículo principal: Ensamblador de alto nivel
Se puede distinguir entre dos 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, parámetros y cosas tales como los modos.
Ensambladores modulares de 32 bits o de alto nivel. Son ensambladores que aparecieron como
respuesta a una nueva arquitectura de procesadores de 32 bits, muchos de ellos teniendo
compatibilidad hacia atrás pudiendo trabajar con programas con estructuras de 16 bits. Además
de realizar la misma tarea que los anteriores, permitiendo también el uso de macros, permiten
utilizar estructuras de programación más complejas propias de los lenguajes de alto nivel.
Microsoft Macro Assembler
El Microsoft Macro Assembler (MASM) es un ensamblador para la familia x86 de
microprocesadores. Fue producido originalmente por Microsoft para el trabajo de desarrollo en
su sistema operativo MS-DOS, y fue durante cierto tiempo el ensamblador más popular
disponible para ese sistema operativo. El MASM soportó una amplia variedad de facilidades para
macros y programación estructurada, incluyendo construcciones de alto nivel para bucles,
llamadas a procedimientos y alternación (por lo tanto, MASM es un ejemplo de un ensamblador
de alto nivel). Versiones posteriores agregaron la capacidad de producir programas para los
sistemas operativos Windows. MASM es una de las pocas herramientas de desarrollo de
Microsoft para las cuales no había versiones separadas de 16 bits y 32 bits.
2. Code::Blocks
Code::Blocks es un entorno de desarrollo integrado de código abierto, que soporta múltiples
compiladores, que incluye GCC, Clang y Visual C++. Se desarrolló en C++ usando wxWidgets
como el kit de herramientas GUI. Utilizando una arquitectura de complemento, sus capacidades
y características están definidas por los complementos proporcionados. A la fecha octubre de
2017, Code::Blocks está orientado hacia C, C++ y Fortran. Tiene un sistema de compilación
personalizado y un soporte de construcción opcional.
Debido a que Dev-C++ es un IDE para los lenguajes C y C++ y está creado en Delphi, surgió la
idea y necesidad de crear un IDE hecho en los lenguajes adecuados: C y C++. Con esta
motivación se creó Code::Blocks.
Code::Blocks está licenciado bajo la Licencia pública general de GNU y está disponible para
Windows, Linux y macOS y ha sido portado a FreeBSD,1 OpenBSD2 y Solaris.3