Instalación Ensamblador X86

Josué Acevedo Maldonado
Nabucodonosor Editorial
3 min readApr 22, 2020

Primeros pasos en el mundo del bajo nivel …

Photo by Caspar Camille Rubin on Unsplash

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.

Josue Acevedo Maldonado es ingeniero de software, trabaja actualmente como consultor.

Conectarse en LinkedIn.

¡Gracias por ser parte de la comunidad!
Puede encontrar contenido relacionado en el canal de YouTube, Twitter, Twitch, Spotify, etc, ademas del libro Ensamblador X86.

Si ha disfrutado de este artículo y siente que ha aprendido algo valioso, por favor compártalo.

¡Gracias por leer!

--

--

Josué Acevedo Maldonado
Nabucodonosor Editorial

Amante de la tecnologia y con pasion en resolver problemas interesantes, consultor, y creador del canal de youtube NEOMATRIX. https://linktr.ee/neomatrix