Ver el código de Depurando tus programas en ensamblador

Para ello escribiremos un hola mundo en ensamblador usando MADS, a continuación, el código fuente del programa:
%%(code)
        org $600

inicio
	lda #0
	sta 710
	lda #15
	sta 709
	ldx # < mensaje
	ldy # > mensaje
	jsr $c642
ciclo
	jmp ciclo
	
mensaje
	dta c"Hola Mundo",$9b
	
	run inicio
%%
Lo ensamblamos usando unos parámetros necesarios para generar 2 archivos más que son tabla de etiquetas **.lab** y el listado del ensamblador **.lst** usando el siguiente comando :
%%(code)mads holamundo.asm -o:holamundo.xex -l:holamundo.lst -t:holamundo.lab
%%
Veras que ahora se crearan los archivos desde el código fuente que ensamblaste, ahora usaremos Altirra para abrir automáticamente en modo depurador e poder detectar más fácil nuestras etiquetas programadas.
%%(code)"C:\Program Files\Altirra-4.10\altirra64.exe" /singleinstance /run holamundo.xex /debug /debugcmd:.loadsym
%%
Importante que los 3 archivos **.xex**, **.lab** y **.lst** estén en el mismo directorio y además tener el mismo nombre (pero con distinta extensión), al presionar **F8** y ver el debugger veras tus etiquetas en él.
((https://www.atariware.cl/archivos/altirra/debuglabel.jpg align=center))

===Comandos automáticos para depurador===

En Altirra puedes configurar de forma automática algún punto de interrupción en el programa al iniciar este. Para eso debes crear un archivo con extensión **.atdbg** para este ejemplo se debe llamarse **holamundo.atdbg**.

En este archivo debes agregar las siguientes instrucciones :
%%(code)
bp $602
bp $60A
%%

Eso hará que al ejecutar **holamundo.xex** aparezca un mensaje de error en Altirra lo cual es normal porque tiene punto de interrupción al inicio del programa.
((https://www.atariware.cl/archivos/altirra/debugerror.jpg align=center))
Haz clic en el botón **Debug** y Altirra te mostrará con colores rojo los puntos de interrupción.

((https://www.atariware.cl/archivos/altirra/debugbp.jpg align=center))

  * **F8 :** Es para reanudar la ejecución. (hasta el siguiente breakpoint)
  * **F10 :** Continua con la siguiente instrucción, pero si encuentra un JSR lo ignora.
  * **F11 :** Continua con la siguiente instrucción, pero si encuentra un JSR se va a la subrutina hasta encontrar un RTS. (a veces llega hasta el OS)