Tutorial de Lenguaje Ensamblador

image

Este documento es conocido también como MLTUTSP: Machine Language Tutorial Spanish. MLTUTSP es un documento para calculadoras Hewlett-Packard de la serie 49 y está inspirado en un documento similar escrito por Peter Geelhoed, pensado en programadores SysRPL que deseen aprender Ensamblador.

Escrito y editado por
Gustavo Portales

El documento originalmente es descrito para el chip Saturn de la HP49G. En las máquinas modernas como la hp50g se reemplazó el chip Saturn por un chip ARM pero internamente ARM se encuentran emulando al chip Saturn, lo que hace que el ensamblador sea compatible en ambas máquinas. Es por eso que el contenido de este documento se enfoca en una completa compatibilidad con las máquinas de la serie 49: HP49G  hp48gII  hp49g+  hp50g... salvo se indique lo contrario.

Asumiremos en todo momento la sintaxis MASD de la calculadora en modo SysRPL. Note que programaremos directamente en la calculadora y no nos referimos a otros entornos de programación como Debug4x por ejemplo.
Para habilitar la sintaxis MASD en modo SysRPL ejecutaremos -92 SF. Obviamente usaremos el modo RPN para el ingreso de datos, para nada usaremos el modo Algebraico. En este nivel se asume que ya entiende a la perfección qué es RPN.

image

Para poder empezar a programar en assembler necesitamos algunas herramientas que son muy útiles para programar en la calculadora.

Recuerde:
Toda calculadora de la serie 49 posee una versión de ROM que viene a ser el sistema operativo actual de la máquina. Las versiones de ROM soportadas para este documento son desde la 1.19-6 y superiores, lo que abarca a las recientes como la versión 2.15 en la hp50g

Las siguientes herramientas son muy útiles para programación en la calculadora, virtualmente indispensables: Extable, Nosy, Emacs.

A pesar de que los ejemplos proporcionados en este documento no fallarán ni ocasionarán errores en su calculadora, es recomendable que realice un respaldo (backup) a la memoria de su máquina.

Recuerde:
En algunas ocasiones cuando un código falla en su ejecución, paraliza la máquina y ésta no obedece a ningún tipo de escape, excepto al de retirar las baterías. Nunca por nunca invierta la polaridad de las baterías para escapar de un problema de esta naturaleza!.

Agradecimientos a toda la gente que de una u otra manera hizo posible que yo adquiriera los conocimientos necesarios para poder publicar este documento, en especial a Peter Geelhoed, Eric Rechlin, F.H. Gilbert, Carsten Dominik.

Novedades Recientes

La historia de mi hp50g

La historia de mi calculadora hp50g narrada después de varios años. Muchas gracias a Edwin Córdoba y Joe Horn. Leer más...

Assembler HP

Se acaba de inaugurar este nuevo sitio creado exclusivamente para futuros programadores assembler. Leer más...

Gaak.org sigue creciendo

El sitio sigue creciendo y debido a eso se han adquirido nuevos planes de alojamiento que incluye muchos subdominios. Leer más...

Etiquetas del Blog

Hemos estructurado el blog para que haya un orden en el índice del contenido. Espero sea del agrado suficiente. Leer más...