Instalación Ensamblador X86
Primeros pasos en el mundo del bajo nivel …
Para programar en Ensamblador necesitamos un programa que convierta nuestros archivos de texto a un conjunto de ceros y unos, este programa es conocido como ensamblador.
Existen varios programas ensalmador en el mercado, podemos encontrar desde el TASM (Turbo Assembler), el MASM (Microsoft Assembler), el GAS (GNU Assembler) hasta el NASM (Netwide Assembler) y muchos otros más. En este caso particular veremos cómo poder realizar la instalación de NASM.
GNU/Linux
En los sistemas operativos GNU/Linux existe una herramienta conocida como manejador de paquetes, la cual permite instalar software desde la línea de comandos y se incluye por defecto en el sistema operativo por lo que no hace falta instalar ni configurar nada más.
Se listaran los comandos para instalar el ensamblador NASM mediante los manejadores de paquetes en los distintos sistemas operativos GNU/Linux más conocidos, ya que cada uno posee un manejador distinto y por lo tanto el comando de instalación es diferente.
- Arch
Existen varias distribuciones que se derivan de Arch, por lo tanto en todas ellas el comando de instalación es el mismo.
sudo pacman -S nasm
- Debian
Las distribuciones que se derivan de Debian presentan el mismo comando de instalación.
sudo apt-get install nasm build-essential
- Alpine
Es una de las distribuciones más ligeras que existen y se encuentra orientada a la seguridad.
sudo apk add nasm
Windows
Existen diferentes formas en las que es posible ejecutar los programas escritos en ensamblador en el sistema operativo Windows.
- Máquina virtual
Utilizando un manejador de máquinas virtuales como por ejemplo VMware o VirtualBox, es posible instalar en ellos un sistema operativo como Ubuntu, Arch o Fedora donde es posible ensamblar, enlazar y ejecutar los programas hechos en NASM. - Subsistema Windows para Linux
WSL (Windows Subsystem for Linux) integra un entorno GNU/Linux completamente funcional sobre Windows 10. Ofrece la posibilidad de instalar una distribución completa o básica para tareas o desarrollos que solo requieren del shell y poco más. Para que esto funcione no se hace uso de la virtualización si no que se traducen en tiempo real las llamadas al sistema. Se implementa la API del kernel Linux usando la API nativa de Windows NT. Se considera que de esta manera funciona de forma nativa, aunque existen algunas limitaciones. - Docker
Debido al alcance de este texto, se dirá que la tecnología de contenedores Docker es una variante de las máquinas virtuales. Existen dos formas de instalar Docker dependiendo de la versión de Windows que se esté utilizando, si emplea Windows 10 encontrara las instrucciones de instalación en la siguiente dirección electrónica
https://docs.docker.com/docker-for-windows/install/#start-docker-for-windows
en cambio sí tiene instalado Windows 7 o versiones anteriores puede consultar el siguiente enlace
https://docs.docker.com/toolbox/toolbox_install_ windows/.
Una vez se haya instalado Docker en la computadora, es necesario definir una carpeta donde se guardaran los archivos de código ensamblador con los que se estarán trabajado, de preferencia se recomienda crear esta carpeta en la sección de documentos, para utilizar la imagen de Docker con NASM se empleara la siguiente instrucción en la terminal o consola de comandos.
docker run — rm -it -v C:\Ruta\carpeta:/code codeneomatrix/nasm sh
Si es la primera vez que se ejecuta el comando, de forma automática comenzara la descarga y ejecución de la imagen, la imagen de NASM que se descarga se encuentra alojada en Docker Hub (https://hub.docker.com/r/codeneomatrix/nasm/), una vez haya concluido el proceso la terminal de Windows cambiara a la terminal de una distribución de GNU/Linux ya que se estará ejecutando la máquina virtual, por lo que se podrán usar los comandos de ensamblado, ligado y ejecución de NASM en GNU/Linux desde Windows.
Si ha disfrutado de este artículo y siente que ha aprendido algo valioso, por favor compártalo.