★ CODING ★ AS: ÇA C'EST COOL ★ |
Assembleur ACPC n°14 - AS: ÇA C'EST COOL |
Encore une petite initiation a l'assembleur ! Cela ne va pas tarder a faire un an que nous tirlipotons le Z80 ensemble, et pour le mois prochain, vous aurez un petit train pour changer du train-train mensual. Je voudrais juste que Poum me fasse la musique. Si ça marche, on va danser dans les chaumiènes.Tout le monde connaît le CALL &BB5A, premier vecteur utilise par tous et toutes (mes hommages mesdames et mesdemoiselles). Mais qui connaît vraiment le fonctionnement de cette routine? Comme vous avez dû vous en apercevoir, la mémoire écran est organisée de façon étrange. Si vous ne vous rappelez pas cette disposition des lignes mémoires qui forment l'écran, reportez-vous au courrier des lecteurs de notre bon Franckie, paru il y a quelques mois. Dans tous les cas, et avant tout, nous allons vous rappeler les régles essentielles qui permettent de comprendre l'assembleur et le langage machine. WOUALAUTAI, MAROLPA ! (Septh : "Mais j't'arol pas moi !") Ce furent les paroles du chef après mon explication sur ce qui va suivre (il est con ce chef, et encore, je dis con pour ne pas paraître vulgaire dans le cadre de ce magazine). Si on voulait faire une approche réelle de l'assembleur par le Basic, il faudrait prendre en considération les choses suivantes :
Dans le cas où vous êtes capables de programmer en Basic avec ces seules instructions, aucun problème ne se pose pour vous, et vous avez l'autoroute des logicie1s ouverte devant vous. Dans le cas contraire, essayez déjà de vous faire des petites manipulations d'écrans avec ce type de programmation. Affichages et déplacements peuvent ainsi être analysés et programmés sans risques de plantage, et le contenu d'une variable peut être analyse a tout moment. De plus, et c'est un super avantage, la touche Esc marche, et rien ne plante lamentablement. Bref, il est possible de réaliser un émulateur escargot, simplement conçu pour simplifier l'analyse et la compréhension. Essayez et vous verrez, il n'y a rien de mieux pour bricoler sans s'ennuyer. QUOI DE NEUF : VECTEURS ? Donc, comme promis, voici une petite description du fonctionnement du vecteur &BB5A qui sert autant qu'une paire de chaussures neuves trop petites. Comme vous le savez, il n'est possible d'accéder a l'ecran que par des POKES et des OUT (mais si, on vous l'a dit dans les bidouilles). Donc, le simple fait d'afficher un caractère ne se fera pas en une seule étape. Avant tout, il faut savoir dans quel mode est le CPC, car la mémoire écran ne réagit pas de la même manière selon qu'il est en mode 0, 1 ou 2. Un petit test est nécessaire pour savoir si le caractère doit être affiche ou interprète. Dans le cas d'une interprétation, la routine se branche sur les ordres graphiques correspondants. Ensuite, il faut calculer l'adresse où viendront les points représentant le caractère a positionner, selon les lignes et colonnes désirées. Cela fait, il faut aller chercher en ROM ou en Ram, selon que les matrices de caractères ont été modifiées ou non, les octets contenant les points a afficher. Ces données seront modifiées ou non, selon que le mode 2 est positionne ou pas. Enfin, si aucun scrolling n'est nécessaire, le caractère sera affiche ligne par ligne, avec des calculs pour les sauts dus a l'organisation de la mémoire écran. Pour finir, les variables contenant la ligne et la colonne suivante seront modifiées. La routine reviendra suivre le cours du programme comme si rien ne s'était passe. Bref, vous pouvez vous imaginer qu'avec tout ce qu'il y a a faire, seulement avec des PEEKS, des POKES, des + et des -, il faut commencer a se casser la tête, si on ne veut pas s'embrouiller rapidement. Si je vous ai raconte ça. ce n'est pas pour vous décourager. loin de la mon idée, mais simplement pour que vous entrevoyiez le travail nécessaire a la mise en place d'un programme totalement en assembleur. La seule qualité demandée pour ce genre de programmation est la patience et la persévérance. Que les octets vous protégent ! LE VECTEUR SONNE TOUJOURS DEUX FOIS Dans le cadre de nos initiations a l'assembleur. voici quelques vecteurs offerts gracieusement par toutes les grandes marques de machines a laver. Ces vecteurs sont appelables en assembleur après avoir charge les registres avec les valeurs préconisées.
Voila qui clôt cette liste primaire des vecteurs utilisables en mode texte. Nous verrons les suivants le mois prochain, dans le petit train. EN VOITURE, SIMONE Je veille personnellement a ce que notre petit train parte bien le mois prochain dans les campagnes vidéo de notre fabuleux CPC. En vous souhaitant de passer de bons moments de programmation en machines, je vous salue bien bas, mes seigneurs des temps modernes. Que le silicium magique vous protège. Sined le Miss-tique, ACPC n°14
|