Atariware Wiki: Depurando tus programas en ensamblador

https://www.atariware.cl/wiki     Versión: 9 (18.08.2024 23:42)

Depurando tus programas en ensamblador


1. Introducción


Para ello escribiremos un hola mundo en ensamblador usando MADS, a continuación el código fuente del programa:
        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	

2. Ensamblando con depuración


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 :
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.
"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.

3. 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 :
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.

Haz clic en el botón Debug y Altirra te mostrará con colores rojo los puntos de interrupción.



4. Desactivar PM


Para desactivar los PM por un momento hasta el próximo VBlank de la pantalla. Escriba en la consola lo siguiente :
e d000 0 0 0 0 0 0 0 0