Comment coder en ASM avec Devpac 3.10 sur Atari ST

Plus d'informations
31 Oct 2020 14:34 - 01 Nov 2020 16:29 #95 par ZISQUIER
Alors venant de l'assembleur Z80 via l'Amstrad CPC et ne connaissant que çà, je vais pas pouvoir m'empêcher de faire le parallèle avec certaines instructions du 6800 qui auront visiblement la même "logique".

Première chose il faut que je repère un peut les lieux, Devpac je connait pas du tout à l'heure où j'écrit ce sujet, donc je découvre. je ne connait pas non plus comment est organisé la mémoire RAM de l'Atari ST, ni où ce trouve la mémoire écran dans celle-ci. Je ne sais pas non plus où l'on peut loger un programme en mémoire et si comme pour le CPC certaine zone de la RAM sont déjà occupées par un "firmware".







I - UNE FEUILLE DE PROGRAMME

Bon j'ai comprit que dans Devpac on avait une feuille de programme. Visiblement on a des informations concernant les colonnes et lignes pour se repérer. Donc visiblement on peut commenter nos programmes avec les ; et *

Mais on peut aussi mettre des labels qui commence sur la 1ère colonne pour avoir notre code qui commence sur la 2eme colonne. C'est visiblement très important de respecter un décalage d'une colonne entre le nom du label et le code. Sans quoi à l'assemblage on se tape des erreurs.... c'est idiot mais c'est après avoir fait quelques test c'est de cette façon que le soft fonctionne.

II - UN ASSEMBLEUR

On assemble en allant dans le menu Program puis Assemble (on peut aussi directement utiliser les raccourcis clavier ce qui est bien plus rapide donc ici [Alternate] + [A]. Ca assemble directement le programme et çà check en même temps si y'a des erreurs ou non.

Bon ici je n'ai pas eu d'erreur sur ce programme qui ne fait rien, mais comme j'aimerai bien voir ce qui s'est passé en mémoire et OU çà m'a foutu çà. Il me faut un Debugger. Pour alterner les fenêtres de la feuille de programmation et et celle qui check les erreurs c'est [Control]+[V].

III - UN DEBUGGER

Pour accéder au Debugger il ne faut surtout pas fermer la fenêtre apparu juste après l'assemblage sinon çà fonctionne pas. On va soit dans le menu Program puis Debug. Ou alors plus rapide [Alternate] + [D].


Bon là c'est super d'avoir foutu çà en plein écran, on voit clairement les registres dans la fenêtre du haut, notre code avec une flèche qui pointe sur la ligne en cours et le contenu de la mémoire en bas à droite dans une fenêtre un peu plus petite.
De ce que j'ai pu comprendre, on peut naviguer de section en section avec la touche[TAB] et naviguer avec les 4 touches curseurs : [Curseur HAUT], [Curseur BAS], [Curseur GAUCHE], [Curseur DROITE]. Pour passer sur l'une des 3 fenêtres ont peut également faire [Alternate] + [1] ou [2] ou [3].
Mais le plus cool c'est quand on fait [CONTROL] + [Z]. Car on "trace" le programme et on vois ce qui se passe dans les registres.

Tout à l'heure je me posait la question de savoir où était logé mon programme en mémoire, bah là j'ai la réponse : en 091890 (valeur hexadécimal 16bits j'imagine ?). Après je me demande si on peut paramétrer la zone mémoire dans laquelle peut loger notre programme ou bien si le soft le met là et puis un point c'est tout ?.
Pour le moment j'en sait foutre rien. Bon allez [Control] + [C] deux fois pour quitter le debugger.

signé, Zisquier

proverbe de pro-CPC : « çà sert à rien d'avoir des sprites hard et un scroll fluide avec des graph sont dégueu, une palettes moches et un jeu vide»
Pièces jointes :
Dernière édition: 01 Nov 2020 16:29 par ZISQUIER.

Connexion pour participer à la conversation.