¿Qué es el ensamblador?

El ensamblador (en inglés, Assembly, que se suele abreviar como Asm) es un lenguaje de programación de ordenadores de bajo nivel (muy cercano al código máquina), por lo que es específico de cada tipo de ordenador (básicamente, de cada procesador). Es más difícil de aprender que los lenguajes de alto nivel, resulta mucho menos legible, y practicamente no es portable, pero si se domina, es el que dará la mayor velocidad a nuestro programa. Esta página se centra en el ensamblador de los PC (procesador 8086 y superiores).


 

Cursos de Asm

  • Curso de Asm por Francisco Jesús Riquelme (Aesoft), en español, como texto puro (463 K de texto). Comprimido en formato ZIP, en un fichero de 115 K.
  • Curso de Asm por Jon Beltran de Heredia, en español (sólo las 8 primeras lecciones, 102 K de texto) Comprimido en formato ZIP, en un fichero de 40 K. Hasta donde yo sé, no existe ninguna versión posterior, sino que Jon escribió un libro de bolsillo, que publicó en Anaya Multimedia (muy recomendable, por cierto).
  • Curso de Asm en inglés, por Joshua Auerbach, en formato Html (72 K de texto).
  • Introducción al ensamblador, parte de los apuntes de "Periféricos", de la Universidad de Alicante, curso 1995-96, por F.J. Gil-Chica, un único fichero de texto de 34K de tamaño.

Ensambladores

Los "compiladores" que convierten de lenguaje ensamblador a lenguaje máquina se suelen llamar "ensambladores" (en inglés, "assembler"). Dos de ellos que son gratis y se pueden localizar en Internet son:

  • En www.nasm.us/ se puede encontrar NASM (Netwide Assembler), un ensamblador de X86 muy popular, que funciona en Linux, DOS, windows, OS/2. También existe un interesante "fork" creado a partir de él, llamado YASM.
  • vasm es un ensamblador portable y capaz de compilar para múltiples destinos, como x86, Z80, 6502, 68000, ARM, ...
  • Si necesitas ensambladores para otros sistemas, quizá encuentres alguno interesante en www.thefreecountry.com/compilers/assemblers.shtml (página en inglés).

Fuentes en Asm

  • (Ninguno disponible por ahora)

 

Otros enlaces sobre Asm

  • Lista de interrupciones de Ralf Brown (en inglés) es una extensísima lista con todos los servicios (interrupciones) disponibles al programar en Asm para MsDos. También puedes acceder a los ficheros originales.
  • HelpPC es una referencia muy completa que incluye ayuda sobre hardware del Pc, las principales funciones del lenguaje C, ensamblador, interrupciones y órdenes de MsDos. En inglés. Está comprimido en un fichero ZIP de 275 K de tamaño. También puedes consultar una versión HTML y alguna otra.
  • PcGPE es la PC Games Programmer Encyclopedia (enciclopedia del programador de juegos), con información sobre cómo trabajar en modo gráfico, cómo leer el ratón y el joystick o cómo crear muchos efectos, como fuegos, rotaciones, perspectivas, sombreados, etc. La mayoría de los fuentes están en Pascal, con rutinas en ensamblador (incluye una pequeña introducción a este último lenguaje). En inglés. Está comprimido en un fichero ZIP de 720 K de tamaño. También puedes consultar una versión HTML-
  • The hardware book es una referencia sobre conectores, cables, adaptadores y otros aspectos relacionado con el hardware, en inglés, en formato HTML, comprimida en un fichero ZIP de unos 760 Kb de tamaño. También puedes consultar una versión HTML online y una versión PDF.