COURS210.TXT/fr: Difference between revisions
Jump to navigation
Jump to search
(Created page with "<pre> ****************************************************************** * * * COURS D'ASSEMBL...") Â |
No edit summary |
||
Line 4: | Line 4: | ||
* COURS D'ASSEMBLEUR 68000 SUR ATARI ST * |
* COURS D'ASSEMBLEUR 68000 SUR ATARI ST * |
||
* * |
* * |
||
− | * par Le |
+ | * par Le F�roce Lapin (from 44E) * |
* * |
* * |
||
− | * Seconde |
+ | * Seconde s�rie * |
* * |
* * |
||
− | * Cours |
+ | * Cours num�ro 10 * |
****************************************************************** |
****************************************************************** |
||
Avant de vous fournir la bibliographie tant attendue, je vais vous |
Avant de vous fournir la bibliographie tant attendue, je vais vous |
||
+ | parler tr�s succinctement des interruptions. Le principe est nor- |
||
− | parler trŠs succinctement des interruptions. Le principe est nor- |
||
− | malement connu (sinon reportez vous au cours |
+ | malement connu (sinon reportez vous au cours num�ro 5 de la pre- |
+ | mi�re s�rie!). Il y a pourtant un sujet qui m�rite un peu plus |
||
− | miŠre s‚rie!). Il y a pourtant un sujet qui m‚rite un peu plus |
||
d'attention: le MFP68901. Il s'agit d'un circuit reconnu par le |
d'attention: le MFP68901. Il s'agit d'un circuit reconnu par le |
||
68000 comme ayant un niveau d'interruption de 6 (voir feuille |
68000 comme ayant un niveau d'interruption de 6 (voir feuille |
||
− | fournie avec le cours 1 et |
+ | fournie avec le cours 1 et intitul�e "TABLEAU DES VECTEURS D'INTER |
RUPTIONS DU 68000 ET DU 68901"). En interne ce circuit est capable |
RUPTIONS DU 68000 ET DU 68901"). En interne ce circuit est capable |
||
+ | de g�rer 16 niveaux d'interruption, avec pour chaque niveau une |
||
− | de g‚rer 16 niveaux d'interruption, avec pour chaque niveau une |
||
+ | adresse associ�e ($100-$13C pour le ST). Voici un petit bout de |
||
− | adresse associ‚e ($100-$13C pour le ST). Voici un petit bout de |
||
+ | listing destin� � vous montrer comment placer sa propre routine |
||
− | listing destin‚ … vous montrer comment placer sa propre routine |
||
dans le Timer A. Il faut d'abord bloquer les interruptions en |
dans le Timer A. Il faut d'abord bloquer les interruptions en |
||
+ | pla�ant le SR � $2700, sauver les registres du MFP, placer sa |
||
− | pla‡ant le SR … $2700, sauver les registres du MFP, placer sa |
||
− | routine et ensuite redescendre le niveau d'interruption |
+ | routine et ensuite redescendre le niveau d'interruption � son ni- |
− | veau habituel sur le ST, c'est |
+ | veau habituel sur le ST, c'est � dire $2300. Ceci se fait bien |
+ | �videmment en mode Superviseur, mode auquel on acc�de avec Gemdos |
||
− | ‚videmment en mode Superviseur, mode auquel on accŠde avec Gemdos |
||
$20. |
$20. |
||
Line 40: | Line 40: | ||
MOVE.L #MY_TIMEA,$134 place nouvelle routine |
MOVE.L #MY_TIMEA,$134 place nouvelle routine |
||
− | CLR.B $FFFFFA09 |
+ | CLR.B $FFFFFA09 emp�che interrupt 0-7 |
CLR.B $FFFFFA15 masque interrupt 0-7 |
CLR.B $FFFFFA15 masque interrupt 0-7 |
||
MOVE.B #%00100000,$FFFA07 OK interrupt 13 (timer A) |
MOVE.B #%00100000,$FFFA07 OK interrupt 13 (timer A) |
||
MOVE.B #%00100000,$FFFA13 OK aussi pour son masque |
MOVE.B #%00100000,$FFFA13 OK aussi pour son masque |
||
− | MOVE.B #7,$FFFFFA19 |
+ | MOVE.B #7,$FFFFFA19 r�gle TACR |
MOVE.B #12,$FFFFFA1F et TADR (1khz) |
MOVE.B #12,$FFFFFA1F et TADR (1khz) |
||
BCLR #3,$FFFFFA17 automatic end of interupt |
BCLR #3,$FFFFFA17 automatic end of interupt |
||
Line 60: | Line 60: | ||
* Ma routine Timer A |
* Ma routine Timer A |
||
− | * Ne pas oublier de sauver les registres qui sont |
+ | * Ne pas oublier de sauver les registres qui sont utilis�s |
* et de terminer par un RTE. |
* et de terminer par un RTE. |
||
Line 81: | Line 81: | ||
− | Je vais simplement vous |
+ | Je vais simplement vous d�crire les registres IERA, IMRA, IPRA |
− | etc... du MFP. Pour de plus amples |
+ | etc... du MFP. Pour de plus amples d�tails, consultez la Bible ST, |
− | le Livre du |
+ | le Livre du D�veloppeur ou la doc officielle ATARI (l'id�al!), le |
− | but de ces cours n' |
+ | but de ces cours n'�tant pas d'�tre une recopie des infos que vous |
pouvez trouver autre part. |
pouvez trouver autre part. |
||
− | Tout d'abord les 16 niveaux du MFP sont |
+ | Tout d'abord les 16 niveaux du MFP sont class�s en 2 groupes. Le A |
− | concerne les niveaux 15 |
+ | concerne les niveaux 15 � 8 et le B les niveaux 7 � 0. Attention, |
− | ici A et B n'ont rien |
+ | ici A et B n'ont rien � voir avec les Timers A et B!!! Pour chaque |
− | groupe (A ou B) on trouve une |
+ | groupe (A ou B) on trouve une s�rie de registres. Dans chacun de |
− | ces registres les interruptions sont |
+ | ces registres les interruptions sont repr�sent�es par un bit. |
Voyons ces registres: |
Voyons ces registres: |
||
IERA ($FFFFFA07) et IERB ($FFFFFA09) |
IERA ($FFFFFA07) et IERB ($FFFFFA09) |
||
Interrupt Enable Register A (ou B) |
Interrupt Enable Register A (ou B) |
||
+ | En pla�ant � 0 le bit correspondant � une interruption, on |
||
− | En pla‡ant … 0 le bit correspondant … une interruption, on |
||
interdit celle-ci. Elle ne sera aucunement prise en compte par le |
interdit celle-ci. Elle ne sera aucunement prise en compte par le |
||
MFP. |
MFP. |
||
Line 102: | Line 102: | ||
IPRA ($FFFFFA0B) et IPRB ($FFFFFA0D) |
IPRA ($FFFFFA0B) et IPRB ($FFFFFA0D) |
||
Interrupt Pending Register A (ou B) |
Interrupt Pending Register A (ou B) |
||
− | Lorsqu'une interruption arrive, le MFP met |
+ | Lorsqu'une interruption arrive, le MFP met � 1 le bit correspon- |
+ | dant � celle-ci dans IPRA (ou IPRB). Cela signale qu'une interrup- |
||
− | dant … celle-ci dans IPRA (ou IPRB). Cela signale qu'une interrup- |
||
− | tion est en attente. En effet |
+ | tion est en attente. En effet � cause du syst�me de priorit�, il |
est possible qu'une interruption de haut niveau soit en cours et |
est possible qu'une interruption de haut niveau soit en cours et |
||
− | que pendant ce temps une interruption plus faible se |
+ | que pendant ce temps une interruption plus faible se d�clenche. Il |
− | faut donc noter cette |
+ | faut donc noter cette volont� de se d�clencher, afin qu'une fois |
fini le traitement de l'interruption prioritaire, le traitement de |
fini le traitement de l'interruption prioritaire, le traitement de |
||
la plus faible puisse s'effectuer. |
la plus faible puisse s'effectuer. |
||
− | Il est bien |
+ | Il est bien s�r possible de lire IPRA et IPRB afin de d�terminer |
si une interruption est en attente. Il est aussi possible de met- |
si une interruption est en attente. Il est aussi possible de met- |
||
+ | tre � 0 le bit d'une interruption en attente, afin que celle-ci ne |
||
− | tre … 0 le bit d'une interruption en attente, afin que celle-ci ne |
||
+ | se d�clenche pas. Par contre, le fait de mettre un bit � 1 dans ce |
||
− | se d‚clenche pas. Par contre, le fait de mettre un bit … 1 dans ce |
||
registre n'a aucun effet. On se rend ainsi compte que les |
registre n'a aucun effet. On se rend ainsi compte que les |
||
+ | possiblit�s deviennent d�j� assez nombreuses. Une interruption |
||
− | possiblit‚s deviennent d‚j… assez nombreuses. Une interruption |
||
− | peut ainsi en scruter une autre de |
+ | peut ainsi en scruter une autre de fa�on � obtenir un cycle |
+ | irr�gulier d'interruption. |
||
− | irr‚gulier d'interruption. |
||
− | Il est en plus possible de laisser une interruption se |
+ | Il est en plus possible de laisser une interruption se d�clencher |
juste 'pour voir'. ceci peut se faire en la laissant valide par |
juste 'pour voir'. ceci peut se faire en la laissant valide par |
||
IERA mais en la masquant avec IMRA. |
IERA mais en la masquant avec IMRA. |
||
Line 128: | Line 128: | ||
Interrupt Mask Register A (et B) |
Interrupt Mask Register A (et B) |
||
− | Le masquage |
+ | Le masquage emp�che une interruption de se d�clencher bien qu'elle |
+ | soit autoris�e par IERA ou IERB. Ceci peut permettre par exemple � |
||
− | soit autoris‚e par IERA ou IERB. Ceci peut permettre par exemple … |
||
− | une interruption de niveau 4 de ne pas |
+ | une interruption de niveau 4 de ne pas �tre g�n�e par une inter- |
ruption de niveau 6. Pour cela, il lui suffit de masquer celle-ci |
ruption de niveau 6. Pour cela, il lui suffit de masquer celle-ci |
||
− | durant son |
+ | durant son ex�cution. |
Line 138: | Line 138: | ||
Vector Register |
Vector Register |
||
− | Cet octet est un peu |
+ | Cet octet est un peu sp�cial. Dans notre cas seul le bit 3 nous |
+ | int�resse, les autres servant au MFP � coder le num�ro de vecteur |
||
− | int‚resse, les autres servant au MFP … coder le num‚ro de vecteur |
||
− | qui correspond |
+ | qui correspond � la source d'interruption. Le bit 3 sert � indi- |
quer au MFP s'il est en mode Software End of Interrupt ou en mode |
quer au MFP s'il est en mode Software End of Interrupt ou en mode |
||
− | Automatic End of Interrupt (mode par |
+ | Automatic End of Interrupt (mode par d�faut). Voyons les explica- |
tions avec les registres suivants: |
tions avec les registres suivants: |
||
Line 149: | Line 149: | ||
Interrupt in Service Register A (ou B) |
Interrupt in Service Register A (ou B) |
||
+ | Un bit � 1 indique que l'interruption est en cours de traitement. |
||
− | Un bit … 1 indique que l'interruption est en cours de traitement. |
||
− | Si nous sommes en mode Software End of Interrupt, c'est |
+ | Si nous sommes en mode Software End of Interrupt, c'est � la fin |
de notre routine en interruption que nous devons indiquer, nous |
de notre routine en interruption que nous devons indiquer, nous |
||
+ | m�me que notre routine est finie. Pour cela il faut mettre � 0 le |
||
− | mˆme que notre routine est finie. Pour cela il faut mettre … 0 le |
||
− | bit correspondant |
+ | bit correspondant � notre interruption, dans ISRA (ou ISRB). Tant |
− | que ce bit est |
+ | que ce bit est � 1, les interruptions moins prioritaires ne peu- |
− | vent pas venir nous |
+ | vent pas venir nous d�ranger. Par contre, d�s que le traitement de |
notre interruption commence, son bit IPRA est remis automatique- |
notre interruption commence, son bit IPRA est remis automatique- |
||
+ | ment � 0, et pendant le traitement de cette interruption, une au- |
||
− | ment … 0, et pendant le traitement de cette interruption, une au- |
||
+ | tre de m�me niveau peut tr�s bien intervenir. Le bit d'IPRA sera |
||
− | tre de mˆme niveau peut trŠs bien intervenir. Le bit d'IPRA sera |
||
− | donc remis |
+ | donc remis � 1, mais cette nouvelle interruption ne sera trait�e |
− | que lorsque la |
+ | que lorsque la premi�re aura remise le bit ISRA � 0. |
− | D'un autre |
+ | D'un autre c�t�, si nous sommes en mode Automatic End of Inter- |
+ | rupt, d�s que notre routine s'ex�cute, le MFP met, bien s�r, son |
||
− | rupt, dŠs que notre routine s'ex‚cute, le MFP met, bien s–r, son |
||
+ | bit d'IPRA � 0 (puisque l'interrupt n'est plus en attente), mais |
||
− | bit d'IPRA … 0 (puisque l'interrupt n'est plus en attente), mais |
||
+ | met �galement son bit ISRA � 0 ! Il est alors possible que d'au- |
||
− | met ‚galement son bit ISRA … 0 ! Il est alors possible que d'au- |
||
− | tres interruptions plus faibles viennent interrompre la |
+ | tres interruptions plus faibles viennent interrompre la premi�re, |
+ | m�me si elle n'est pas termin�e. |
||
− | mˆme si elle n'est pas termin‚e. |
||
− | Vous voyez qu'avec tout ceci, il est possible de jongler |
+ | Vous voyez qu'avec tout ceci, il est possible de jongler all�gre- |
ment en envisageant les cas les plus tordus!!! Concernant les ti- |
ment en envisageant les cas les plus tordus!!! Concernant les ti- |
||
mers A, B, C et D, voici juste les adresses permettant de les |
mers A, B, C et D, voici juste les adresses permettant de les |
||
adresser, les informations fournies dans la bible ou le livre du |
adresser, les informations fournies dans la bible ou le livre du |
||
+ | d�veloppeur �tant largement suffisante. Si par hasard vous �tiez |
||
− | d‚veloppeur ‚tant largement suffisante. Si par hasard vous ‚tiez |
||
− | avides d'informations sur ce circuit, |
+ | avides d'informations sur ce circuit, pr�cipitez vous chez un li- |
+ | braire sp�cialis� dans la "litt�rature" �lectronique et demandez |
||
− | braire sp‚cialis‚ dans la "litt‚rature" ‚lectronique et demandez |
||
un ouvrage sur le MK68901. Passez aussi chez le pharmacien prendre |
un ouvrage sur le MK68901. Passez aussi chez le pharmacien prendre |
||
quelques tubes d'aspirine.... |
quelques tubes d'aspirine.... |
||
Line 181: | Line 181: | ||
Pour terminer ces cours d'assembleur, voici une petite bibliogra- |
Pour terminer ces cours d'assembleur, voici une petite bibliogra- |
||
phie afin que vous puissiez diriger vos recherches vers les sujets |
phie afin que vous puissiez diriger vos recherches vers les sujets |
||
− | qui vous |
+ | qui vous int�ressent. |
Le Langage Machine sur ST (Ed. Micro App). Assez inutile comme |
Le Langage Machine sur ST (Ed. Micro App). Assez inutile comme |
||
+ | bouquin! Tr�s tr�s peu d'informations, non vraiment, ce n'est pas |
||
− | bouquin! TrŠs trŠs peu d'informations, non vraiment, ce n'est pas |
||
un bon achat. |
un bon achat. |
||
La bible ST (Ed. Micro-App). Devenue assez introuvable, dommage! |
La bible ST (Ed. Micro-App). Devenue assez introuvable, dommage! |
||
Pas mal de bonne infos, bien suffisant dans la plupart des cas. A |
Pas mal de bonne infos, bien suffisant dans la plupart des cas. A |
||
+ | �t� remplac� par le Livre du D�veloppeur. |
||
− | ‚t‚ remplac‚ par le Livre du D‚veloppeur. |
||
− | Trucs et Astuces (Ed. Micro-App). A |
+ | Trucs et Astuces (Ed. Micro-App). A �viter absolument! Les pro- |
+ | grammes r�alis�s en suivant ces conseils seront s�rement incompa- |
||
− | grammes r‚alis‚s en suivant ces conseils seront s–rement incompa- |
||
− | tibles |
+ | tibles d�s qu'il y aura changement de TOS. |
− | Le Livre du |
+ | Le Livre du D�veloppeur (Tome 1 et 2) (Ed. Micro App) Si vous |
+ | n'avez pas acc�s � la doc. pour les d�veloppeurs ayant l'agr�ment |
||
− | n'avez pas accŠs … la doc. pour les d‚veloppeurs ayant l'agr‚ment |
||
Atari, c'est le bouquin qu'il vous faut. On peut regretter les di- |
Atari, c'est le bouquin qu'il vous faut. On peut regretter les di- |
||
zaines de pages contenant le listing du BIOS des STF et les autres |
zaines de pages contenant le listing du BIOS des STF et les autres |
||
− | dizaines de pages contenant le BIOS du |
+ | dizaines de pages contenant le BIOS du M�ga ST. Cela fait un peu |
remplissage: soit on a le niveau en assembleur pour y comprendre |
remplissage: soit on a le niveau en assembleur pour y comprendre |
||
quelque chose et alors on a le niveau pour suivre le BIOS avec |
quelque chose et alors on a le niveau pour suivre le BIOS avec |
||
− | MONST, soit, de toute |
+ | MONST, soit, de toute fa�on, on n'y comprend rien et ce n'est pas |
parce qu'on a le listing sous les yeux que cela va changer quelque |
parce qu'on a le listing sous les yeux que cela va changer quelque |
||
chose. Enfin, c'est mon avis, et comme, en plus, le listing n'est |
chose. Enfin, c'est mon avis, et comme, en plus, le listing n'est |
||
− | valable que pour les |
+ | valable que pour les mod�les cit�s, si vous vous y fiez pour |
+ | "d�couvrir" de nouvelles adresses vous risquez fort d'�tre surpris |
||
− | "d‚couvrir" de nouvelles adresses vous risquez fort d'ˆtre surpris |
||
− | avec les machines plus |
+ | avec les machines plus r�centes ... |
Le livre du GEM sur Atari ST (Ed. Micro App). Si vous pensez ap- |
Le livre du GEM sur Atari ST (Ed. Micro App). Si vous pensez ap- |
||
+ | prendre � programmer GEM avec �a, vous courrez � la catastrophe. |
||
− | prendre … programmer GEM avec ‡a, vous courrez … la catastrophe. |
||
+ | Le probl�me du GEM c'est qu'il est utilisable en assembleur � |
||
− | Le problŠme du GEM c'est qu'il est utilisable en assembleur … |
||
condition de se servir des macros, sinon c'est beaucoup trop |
condition de se servir des macros, sinon c'est beaucoup trop |
||
− | lourd. Or dans un livre |
+ | lourd. Or dans un livre commercialis�, il est impossible de se |
+ | borner � un seul assembleur. Ceci fait que les auteurs ont tout |
||
− | borner … un seul assembleur. Ceci fait que les auteurs ont tout |
||
+ | d�cortiqu� avec les appels directs au TRAP #2, et que cela devient |
||
− | d‚cortiqu‚ avec les appels directs au TRAP #2, et que cela devient |
||
− | totalement |
+ | totalement incompr�hensible pour le d�butant. Par contre, les |
− | fonctions y sont relativement bien |
+ | fonctions y sont relativement bien d�taill�es, et, si vous savez |
+ | d�j� ce que vous cherchez, ce livre sera un bon outil. On peut, |
||
− | d‚j… ce que vous cherchez, ce livre sera un bon outil. On peut, |
||
simplement, regretter quelques absence comme les fonctions Escape |
simplement, regretter quelques absence comme les fonctions Escape |
||
du GEM et quelques fonctions de l'AES. A noter que ce livre est |
du GEM et quelques fonctions de l'AES. A noter que ce livre est |
||
− | repris |
+ | repris � 99% dans le Livre du D�veloppeur. |
− | Doc GFA 3.00. |
+ | Doc GFA 3.00. L�, c'est le bon truc! En effet dans les derni�res |
pages de la doc de ce BASIC, vous trouverez la liste de toutes les |
pages de la doc de ce BASIC, vous trouverez la liste de toutes les |
||
fonctions GEMDOS, BIOS et XBIOS (il manque la fonction GEMDOS $20 |
fonctions GEMDOS, BIOS et XBIOS (il manque la fonction GEMDOS $20 |
||
− | permettant de passer en Superviseur, |
+ | permettant de passer en Superviseur, �tant donn� qu'elle est |
inaccessible en GFA), les codes ASCII, les codes clavier et quel- |
inaccessible en GFA), les codes ASCII, les codes clavier et quel- |
||
ques pages avant, une bonne liste des fonctions AES. Je dois |
ques pages avant, une bonne liste des fonctions AES. Je dois |
||
− | avouer que j'ai |
+ | avouer que j'ai photocopi� ces quelques pages et qu'elles me ser- |
vent bien souvent: les informations sont suffisantes dans le plu- |
vent bien souvent: les informations sont suffisantes dans le plu- |
||
− | part des cas, et surtout |
+ | part des cas, et surtout tr�s faciles � trouver, ce qui n'est pas |
− | le cas par exemple du Livre du GEM qui ne comprend |
+ | le cas par exemple du Livre du GEM qui ne comprend m�me pas d'in- |
dex des fonctions !!! |
dex des fonctions !!! |
||
− | A noter que certaines fonctions du GEM existent dans la |
+ | A noter que certaines fonctions du GEM existent dans la biblioth�- |
que interne du GFA mais ne sont pas disponibles dans celle de DEV- |
que interne du GFA mais ne sont pas disponibles dans celle de DEV- |
||
− | PACK. C'est le cas de Form_Button et Form_Keybd. Et c'est |
+ | PACK. C'est le cas de Form_Button et Form_Keybd. Et c'est g�nant! |
− | En effet au |
+ | En effet au d�but Form_do n'existait pas. Les gens de Digital Re- |
− | search ont donc |
+ | search ont donc d�cid� de fabriquer de toutes pi�ces cette fonc- |
+ | tion � partir de Form_Keybd et Fomr_button, et ont diffus� le |
||
− | tion … partir de Form_Keybd et Fomr_button, et ont diffus‚ le |
||
source en C. Au bout d'un moment, les programmeurs n'ont plus uti- |
source en C. Au bout d'un moment, les programmeurs n'ont plus uti- |
||
+ | lis� que Form_Do et nous sommes tomb�s dans la routine de gestion |
||
− | lis‚ que Form_Do et nous sommes tomb‚s dans la routine de gestion |
||
de formulaires que nous connaissons actuellement. |
de formulaires que nous connaissons actuellement. |
||
− | Si vous voulez faire votre propre Form_do, plus |
+ | Si vous voulez faire votre propre Form_do, plus �volu� il "suffit" |
− | de reprendre Form_Keybd et Form_button pour |
+ | de reprendre Form_Keybd et Form_button pour recr�er Form_do. Mal- |
− | heureusement ces deux fonctions sont |
+ | heureusement ces deux fonctions sont tomb�es dans les oubliettes |
et pour les avoir pffuuuuuttt!!! |
et pour les avoir pffuuuuuttt!!! |
||
− | Vous voulez |
+ | Vous voulez conna�tre leur opcode et les param�tres ? Facile comme |
tout! Si vous avez bien suivi ces cours, vous savez plein de chose |
tout! Si vous avez bien suivi ces cours, vous savez plein de chose |
||
− | sur le GEM ( |
+ | sur le GEM (o� se place l'opcode d'une fonction, o� est inscrit le |
+ | nombre de param�tres etc... et bien vous lancez AMonst, puis vous |
||
− | nombre de paramŠtres etc... et bien vous lancez AMonst, puis vous |
||
faites un petit bout de GFA qui appelle Form_keybd en affichant au |
faites un petit bout de GFA qui appelle Form_keybd en affichant au |
||
+ | pr�alable sur l'�cran l'adresse du tableau AES, et qui attend en- |
||
− | pr‚alable sur l'‚cran l'adresse du tableau AES, et qui attend en- |
||
− | suite un appui sur une touche. Tout ceci se passe sous l' |
+ | suite un appui sur une touche. Tout ceci se passe sous l'interpr�- |
− | teur du GFA bien |
+ | teur du GFA bien s�r! D�s que vous �tes sur l'attente d'un appui |
− | touche, vous |
+ | touche, vous d�clenchez AMONST (shift+alternate+help) et hop, la |
− | grande recherche commence. Vous faites de |
+ | grande recherche commence. Vous faites de m�me avec Form_button, |
− | et le tour est |
+ | et le tour est jou�. Courage, ce n'est pas bien dur, et cela fait |
un excellent exercice! |
un excellent exercice! |
||
Mise en oeuvre du 68000 (Ed. Sybex) Excellent bouquin, traitant du |
Mise en oeuvre du 68000 (Ed. Sybex) Excellent bouquin, traitant du |
||
+ | 68000 en g�n�ral. Ne vous attendez pas � y trouver des adresses |
||
− | 68000 en g‚n‚ral. Ne vous attendez pas … y trouver des adresses |
||
+ | syst�me pour votre ST. On parle, ici, cycles d'horloges, modes |
||
− | systŠme pour votre ST. On parle, ici, cycles d'horloges, modes |
||
d'adressage etc... |
d'adressage etc... |
||
Implantation des fonctions usuelles en 68000 (Ed. Masson, par |
Implantation des fonctions usuelles en 68000 (Ed. Masson, par |
||
+ | Fran�ois BRET). Comment faire des sinus, des cosinus, des trans- |
||
− | Fran‡ois BRET). Comment faire des sinus, des cosinus, des trans- |
||
+ | form�es de Fourier etc.. . N'est pas vendu avec l'aspirine ni le |
||
− | form‚es de Fourier etc.. . N'est pas vendu avec l'aspirine ni le |
||
+ | caf�, mais s'av�re indispensable, si vous vous attaquez aux pro- |
||
− | caf‚, mais s'avŠre indispensable, si vous vous attaquez aux pro- |
||
+ | bl�mes de trigo en ASM. Seulement 191Frs, une mis�re! (Merci � |
||
− | blŠmes de trigo en ASM. Seulement 191Frs, une misŠre! (Merci … |
||
− | Shizuka de m'avoir fourni la |
+ | Shizuka de m'avoir fourni la r�f�rence de cet ouvrage!!!!!) |
− | STATION INFORMATIQUE 2 rue |
+ | STATION INFORMATIQUE 2 rue Pi�mont�si 75018 PARIS |
+ | t�l:(1)42.55.14.26 |
||
− | t‚l:(1)42.55.14.26 |
||
− | Excellent catalogue de Dom-Pubs. Avant de chercher |
+ | Excellent catalogue de Dom-Pubs. Avant de chercher � pirater des |
softs divers sans en avoir la doc, jetez un coup d'oeil sur leur |
softs divers sans en avoir la doc, jetez un coup d'oeil sur leur |
||
− | catalogue. De nombreuses petites choses sont |
+ | catalogue. De nombreuses petites choses sont � y d�couvrir (sour- |
− | ces divers en ASM, utilitaires de |
+ | ces divers en ASM, utilitaires de d�buggage etc...) Si vous �tes |
− | un adepte de l' |
+ | un adepte de l'�mulation Mac, dans les dom-pub de cette machine se |
− | trouve le pack Cyclan, un assembleur Mac avec son |
+ | trouve le pack Cyclan, un assembleur Mac avec son �diteur etc... |
− | Bien sympa pour |
+ | Bien sympa pour d�couvrir cette autre machine, �quip�e elle aussi |
d'un 68000. |
d'un 68000. |
||
− | Les ST Mags fourmillaient |
+ | Les ST Mags fourmillaient �galement de trucs divers, en tout cas |
− | surtout dans les anciens |
+ | surtout dans les anciens num�ros � mon avis... |
Voici une petite liste non-limitative... |
Voici une petite liste non-limitative... |
||
+ | Int�gration d'une ressource en GFA (46) |
||
− | Int‚gration d'une ressource en GFA (46) |
||
Form Exdo (46) |
Form Exdo (46) |
||
Echantillons sur ST (27,28,29,30,31,35) (En GFA avec de l'assem- |
Echantillons sur ST (27,28,29,30,31,35) (En GFA avec de l'assem- |
||
bleur, mais le GFA on ne le sent qu'un tout petit peu...) |
bleur, mais le GFA on ne le sent qu'un tout petit peu...) |
||
− | Scrolling en GFA (31 |
+ | Scrolling en GFA (31 � 45 sauf num�ro 37 et 44) M�me remarque que |
pour les digits!!! |
pour les digits!!! |
||
Gestion des disquettes en GFA (13,14,15,16) |
Gestion des disquettes en GFA (13,14,15,16) |
||
− | Programmer GEM (6 |
+ | Programmer GEM (6 � 30 environ) Super! Tout en C mais les appels |
+ | sont les m�mes et la syntaxe identique � celle de la biblio DEV- |
||
− | sont les mˆmes et la syntaxe identique … celle de la biblio DEV- |
||
− | PACK! Faites vite une recherche de vos vieux |
+ | PACK! Faites vite une recherche de vos vieux num�ros de ST Mag car |
pour apprendre le GEM c'est extra!!! |
pour apprendre le GEM c'est extra!!! |
||
Animation en 3D (45,46,49) Pour le moment le dernier article n'est |
Animation en 3D (45,46,49) Pour le moment le dernier article n'est |
||
− | pas sorti... |
+ | pas sorti... Esp�rons que cela ne fera pas comme le listing per- |
− | mettant de booter sur une cartouche....Bien clair, sympa, |
+ | mettant de booter sur une cartouche....Bien clair, sympa, id�al |
pour commencer la 3D. |
pour commencer la 3D. |
||
− | Pour les coprocesseurs, 2 articles dans les |
+ | Pour les coprocesseurs, 2 articles dans les num�ros 31 et 32. |
+ | Dans le d�funt First (1ST) il y avait quelques trucs sympa sur le |
||
− | Dans le d‚funt First (1ST) il y avait quelques trucs sympa sur le |
||
+ | MIDI, le d�compactage des images DEGAS, la cr�ation de ram-disque |
||
− | MIDI, le d‚compactage des images DEGAS, la cr‚ation de ram-disque |
||
et de spooler d'imprimante. |
et de spooler d'imprimante. |
||
Atari Mag revient en force en ce moment. |
Atari Mag revient en force en ce moment. |
||
+ | Tr�s bon articles sur la programmation graphique du STE. Cela per- |
||
− | TrŠs bon articles sur la programmation graphique du STE. Cela per- |
||
− | met de se faire une |
+ | met de se faire une id�e sur le BLITTER, les 4096 couleurs etc... |
C'est en BASIC mais la traduction est facile. (21,22). |
C'est en BASIC mais la traduction est facile. (21,22). |
||
− | Etant dans la confidence, je peux vous informer |
+ | Etant dans la confidence, je peux vous informer �galement que dans |
− | les prochains |
+ | les prochains num�ros d'Atari Mag vous trouverez des articles sur |
+ | diff�rents sujets avec sources en ASM et en GFA et que ce type |
||
− | diff‚rents sujets avec sources en ASM et en GFA et que ce type |
||
d'article devrait durer pas mal de temps. |
d'article devrait durer pas mal de temps. |
||
+ | Bon, en r�sum�, achetez tous les mois ST Mag et Atari Mag. Si be- |
||
− | Bon, en r‚sum‚, achetez tous les mois ST Mag et Atari Mag. Si be- |
||
− | soin est, achetez les |
+ | soin est, achetez les � plusieurs, mais faire un gros tas de tou- |
tes ces revues car c'est une mine d'information importante. Bien |
tes ces revues car c'est une mine d'information importante. Bien |
||
− | souvent les questions qui sont |
+ | souvent les questions qui sont pos�es sur RTEL par exemple trou- |
− | vent leur |
+ | vent leur r�ponse dans une lecture des vieux num�ros! Quelques |
bons classeurs, des intercalaires et vous aurez une documentation |
bons classeurs, des intercalaires et vous aurez une documentation |
||
+ | �norme pour pas tr�s cher. |
||
− | ‚norme pour pas trŠs cher. |
||
Je terminerai ces cours en renouvelant l'avertissement concernant |
Je terminerai ces cours en renouvelant l'avertissement concernant |
||
− | la chasse aux listings! Il est |
+ | la chasse aux listings! Il est pr�f�rable d'avoir quelques bou- |
− | quins et des notes sur papier |
+ | quins et des notes sur papier plut�t que 10 m�gas de sources au- |
− | quel on ne comprend pas grand chose, et qui de, toute |
+ | quel on ne comprend pas grand chose, et qui de, toute fa�on, sont |
− | assez malcommodes |
+ | assez malcommodes � consulter par rapport � des informations |
− | + | �crites! |
|
− | Pour ce qui est des programmes assez gros, |
+ | Pour ce qui est des programmes assez gros, pr�parez quelques |
+ | feuilles � c�t� de vous, pour y noter les noms des routines, des |
||
− | feuilles … c“t‚ de vous, pour y noter les noms des routines, des |
||
labels, des variables etc... vous vous rendrez vite compte que la |
labels, des variables etc... vous vous rendrez vite compte que la |
||
− | principale |
+ | principale difficult� de l'assembleur r�side dans le fait que les |
− | listings sont |
+ | listings sont tr�s tr�s longs et qu'il est difficile de s'y d�pla- |
cer pour chercher quelque chose. Programmez proprement, soyez |
cer pour chercher quelque chose. Programmez proprement, soyez |
||
+ | clairs et �vitez si possible les bidouilles. Commentez abondamment |
||
− | clairs et ‚vitez si possible les bidouilles. Commentez abondamment |
||
vos sources car dans 6 mois lorsqu'il faudra faire une petite mo- |
vos sources car dans 6 mois lorsqu'il faudra faire une petite mo- |
||
− | dification, vous verrez la |
+ | dification, vous verrez la diff�rence entre les sources clairs et |
les autres! |
les autres! |
||
− | Allez, je vous quitte en |
+ | Allez, je vous quitte en esp�rant que ces cours vous auront int�- |
+ | ress�s et qu'ils vous auront donn� go�t � l'assembleur! N'oubliez |
||
− | ress‚s et qu'ils vous auront donn‚ go–t … l'assembleur! N'oubliez |
||
pas que vous pouvez toujours me contacter sur le 3614 RTEL1 (ou |
pas que vous pouvez toujours me contacter sur le 3614 RTEL1 (ou |
||
RTEL2) en bal FEROCE LAPIN, et qu'il y a sur ce serveur une rubri- |
RTEL2) en bal FEROCE LAPIN, et qu'il y a sur ce serveur une rubri- |
||
− | que pour l'assembleur 68000 sur ST, MAC ou AMIGA. Pour |
+ | que pour l'assembleur 68000 sur ST, MAC ou AMIGA. Pour acc�der � |
− | cette rubrique, tapez *MOT et ENVOI. A |
+ | cette rubrique, tapez *MOT et ENVOI. A bient�t! |
</pre> |
</pre> |
||
Back to [[ASM_Tutorial]] |
Back to [[ASM_Tutorial]] |
Revision as of 15:02, 23 November 2023
****************************************************************** * * * COURS D'ASSEMBLEUR 68000 SUR ATARI ST * * * * par Le F�roce Lapin (from 44E) * * * * Seconde s�rie * * * * Cours num�ro 10 * ****************************************************************** Avant de vous fournir la bibliographie tant attendue, je vais vous parler tr�s succinctement des interruptions. Le principe est nor- malement connu (sinon reportez vous au cours num�ro 5 de la pre- mi�re s�rie!). Il y a pourtant un sujet qui m�rite un peu plus d'attention: le MFP68901. Il s'agit d'un circuit reconnu par le 68000 comme ayant un niveau d'interruption de 6 (voir feuille fournie avec le cours 1 et intitul�e "TABLEAU DES VECTEURS D'INTER RUPTIONS DU 68000 ET DU 68901"). En interne ce circuit est capable de g�rer 16 niveaux d'interruption, avec pour chaque niveau une adresse associ�e ($100-$13C pour le ST). Voici un petit bout de listing destin� � vous montrer comment placer sa propre routine dans le Timer A. Il faut d'abord bloquer les interruptions en pla�ant le SR � $2700, sauver les registres du MFP, placer sa routine et ensuite redescendre le niveau d'interruption � son ni- veau habituel sur le ST, c'est � dire $2300. Ceci se fait bien �videmment en mode Superviseur, mode auquel on acc�de avec Gemdos $20. * Pour mettre en place.... MOVE.W #$2700,SR it interdites MOVE.B $FFFFFA07,ANC_IERA sauve les MOVE.B $FFFFFA09,ANC_IERB valeurs du MOVE.B $FFFFFA13,ANC_IMRA MFP 68901 MOVE.B $FFFFFA15,ANC_IMRB MOVE.B $FFFFFA17,ANC_VR MOVE.L $134,ANC_TIMEA sauve Timer A MOVE.L #MY_TIMEA,$134 place nouvelle routine CLR.B $FFFFFA09 emp�che interrupt 0-7 CLR.B $FFFFFA15 masque interrupt 0-7 MOVE.B #%00100000,$FFFA07 OK interrupt 13 (timer A) MOVE.B #%00100000,$FFFA13 OK aussi pour son masque MOVE.B #7,$FFFFFA19 r�gle TACR MOVE.B #12,$FFFFFA1F et TADR (1khz) BCLR #3,$FFFFFA17 automatic end of interupt MOVE.W #$2300,SR autorise interruptions * Et maintenant, lorsque nous quittons le programme... MOVE.W #$2700,SR it interdites MOVE.B ANC_IERA,$FFFFFA07 restitution MOVE.B ANC_IERB,$FFFFFA09 MOVE.B ANC_IMRA,$FFFFFA13 MOVE.B ANC_IMRB,$FFFFFA15 MOVE.B ANC_VR,$FFFFFA17 MOVE.L ANC_TIMEA,$134 MOVE.W #$2300,SR autorise les interruptions * Ma routine Timer A * Ne pas oublier de sauver les registres qui sont utilis�s * et de terminer par un RTE. MY_TIMEA: movem.l d0-a6,-(sp) ' ' ' BCLR #5,ISRA suivant VR !!! MOVEM.L sp)+,d0-a6 RTE *----------------------------------------------------------* SECTION BSS ANC_TIMEA DS.L 1 ANC_IERA DS.B 1 sauvegarde pour le MFP ANC_IERB DS.B 1 " ANC_IMRA DS.B 1 " ANC_IMRB DS.B 1 " ANC_VR DS.B 1 " Je vais simplement vous d�crire les registres IERA, IMRA, IPRA etc... du MFP. Pour de plus amples d�tails, consultez la Bible ST, le Livre du D�veloppeur ou la doc officielle ATARI (l'id�al!), le but de ces cours n'�tant pas d'�tre une recopie des infos que vous pouvez trouver autre part. Tout d'abord les 16 niveaux du MFP sont class�s en 2 groupes. Le A concerne les niveaux 15 � 8 et le B les niveaux 7 � 0. Attention, ici A et B n'ont rien � voir avec les Timers A et B!!! Pour chaque groupe (A ou B) on trouve une s�rie de registres. Dans chacun de ces registres les interruptions sont repr�sent�es par un bit. Voyons ces registres: IERA ($FFFFFA07) et IERB ($FFFFFA09) Interrupt Enable Register A (ou B) En pla�ant � 0 le bit correspondant � une interruption, on interdit celle-ci. Elle ne sera aucunement prise en compte par le MFP. IPRA ($FFFFFA0B) et IPRB ($FFFFFA0D) Interrupt Pending Register A (ou B) Lorsqu'une interruption arrive, le MFP met � 1 le bit correspon- dant � celle-ci dans IPRA (ou IPRB). Cela signale qu'une interrup- tion est en attente. En effet � cause du syst�me de priorit�, il est possible qu'une interruption de haut niveau soit en cours et que pendant ce temps une interruption plus faible se d�clenche. Il faut donc noter cette volont� de se d�clencher, afin qu'une fois fini le traitement de l'interruption prioritaire, le traitement de la plus faible puisse s'effectuer. Il est bien s�r possible de lire IPRA et IPRB afin de d�terminer si une interruption est en attente. Il est aussi possible de met- tre � 0 le bit d'une interruption en attente, afin que celle-ci ne se d�clenche pas. Par contre, le fait de mettre un bit � 1 dans ce registre n'a aucun effet. On se rend ainsi compte que les possiblit�s deviennent d�j� assez nombreuses. Une interruption peut ainsi en scruter une autre de fa�on � obtenir un cycle irr�gulier d'interruption. Il est en plus possible de laisser une interruption se d�clencher juste 'pour voir'. ceci peut se faire en la laissant valide par IERA mais en la masquant avec IMRA. IMRA ($FFFFFA13) et IMRB ($FFFFFA15) Interrupt Mask Register A (et B) Le masquage emp�che une interruption de se d�clencher bien qu'elle soit autoris�e par IERA ou IERB. Ceci peut permettre par exemple � une interruption de niveau 4 de ne pas �tre g�n�e par une inter- ruption de niveau 6. Pour cela, il lui suffit de masquer celle-ci durant son ex�cution. VR ($FFFFFA17) Vector Register Cet octet est un peu sp�cial. Dans notre cas seul le bit 3 nous int�resse, les autres servant au MFP � coder le num�ro de vecteur qui correspond � la source d'interruption. Le bit 3 sert � indi- quer au MFP s'il est en mode Software End of Interrupt ou en mode Automatic End of Interrupt (mode par d�faut). Voyons les explica- tions avec les registres suivants: ISRA ($FFFFFA0F) et ISRB ($FFFFFA11) Interrupt in Service Register A (ou B) Un bit � 1 indique que l'interruption est en cours de traitement. Si nous sommes en mode Software End of Interrupt, c'est � la fin de notre routine en interruption que nous devons indiquer, nous m�me que notre routine est finie. Pour cela il faut mettre � 0 le bit correspondant � notre interruption, dans ISRA (ou ISRB). Tant que ce bit est � 1, les interruptions moins prioritaires ne peu- vent pas venir nous d�ranger. Par contre, d�s que le traitement de notre interruption commence, son bit IPRA est remis automatique- ment � 0, et pendant le traitement de cette interruption, une au- tre de m�me niveau peut tr�s bien intervenir. Le bit d'IPRA sera donc remis � 1, mais cette nouvelle interruption ne sera trait�e que lorsque la premi�re aura remise le bit ISRA � 0. D'un autre c�t�, si nous sommes en mode Automatic End of Inter- rupt, d�s que notre routine s'ex�cute, le MFP met, bien s�r, son bit d'IPRA � 0 (puisque l'interrupt n'est plus en attente), mais met �galement son bit ISRA � 0 ! Il est alors possible que d'au- tres interruptions plus faibles viennent interrompre la premi�re, m�me si elle n'est pas termin�e. Vous voyez qu'avec tout ceci, il est possible de jongler all�gre- ment en envisageant les cas les plus tordus!!! Concernant les ti- mers A, B, C et D, voici juste les adresses permettant de les adresser, les informations fournies dans la bible ou le livre du d�veloppeur �tant largement suffisante. Si par hasard vous �tiez avides d'informations sur ce circuit, pr�cipitez vous chez un li- braire sp�cialis� dans la "litt�rature" �lectronique et demandez un ouvrage sur le MK68901. Passez aussi chez le pharmacien prendre quelques tubes d'aspirine.... Pour terminer ces cours d'assembleur, voici une petite bibliogra- phie afin que vous puissiez diriger vos recherches vers les sujets qui vous int�ressent. Le Langage Machine sur ST (Ed. Micro App). Assez inutile comme bouquin! Tr�s tr�s peu d'informations, non vraiment, ce n'est pas un bon achat. La bible ST (Ed. Micro-App). Devenue assez introuvable, dommage! Pas mal de bonne infos, bien suffisant dans la plupart des cas. A �t� remplac� par le Livre du D�veloppeur. Trucs et Astuces (Ed. Micro-App). A �viter absolument! Les pro- grammes r�alis�s en suivant ces conseils seront s�rement incompa- tibles d�s qu'il y aura changement de TOS. Le Livre du D�veloppeur (Tome 1 et 2) (Ed. Micro App) Si vous n'avez pas acc�s � la doc. pour les d�veloppeurs ayant l'agr�ment Atari, c'est le bouquin qu'il vous faut. On peut regretter les di- zaines de pages contenant le listing du BIOS des STF et les autres dizaines de pages contenant le BIOS du M�ga ST. Cela fait un peu remplissage: soit on a le niveau en assembleur pour y comprendre quelque chose et alors on a le niveau pour suivre le BIOS avec MONST, soit, de toute fa�on, on n'y comprend rien et ce n'est pas parce qu'on a le listing sous les yeux que cela va changer quelque chose. Enfin, c'est mon avis, et comme, en plus, le listing n'est valable que pour les mod�les cit�s, si vous vous y fiez pour "d�couvrir" de nouvelles adresses vous risquez fort d'�tre surpris avec les machines plus r�centes ... Le livre du GEM sur Atari ST (Ed. Micro App). Si vous pensez ap- prendre � programmer GEM avec �a, vous courrez � la catastrophe. Le probl�me du GEM c'est qu'il est utilisable en assembleur � condition de se servir des macros, sinon c'est beaucoup trop lourd. Or dans un livre commercialis�, il est impossible de se borner � un seul assembleur. Ceci fait que les auteurs ont tout d�cortiqu� avec les appels directs au TRAP #2, et que cela devient totalement incompr�hensible pour le d�butant. Par contre, les fonctions y sont relativement bien d�taill�es, et, si vous savez d�j� ce que vous cherchez, ce livre sera un bon outil. On peut, simplement, regretter quelques absence comme les fonctions Escape du GEM et quelques fonctions de l'AES. A noter que ce livre est repris � 99% dans le Livre du D�veloppeur. Doc GFA 3.00. L�, c'est le bon truc! En effet dans les derni�res pages de la doc de ce BASIC, vous trouverez la liste de toutes les fonctions GEMDOS, BIOS et XBIOS (il manque la fonction GEMDOS $20 permettant de passer en Superviseur, �tant donn� qu'elle est inaccessible en GFA), les codes ASCII, les codes clavier et quel- ques pages avant, une bonne liste des fonctions AES. Je dois avouer que j'ai photocopi� ces quelques pages et qu'elles me ser- vent bien souvent: les informations sont suffisantes dans le plu- part des cas, et surtout tr�s faciles � trouver, ce qui n'est pas le cas par exemple du Livre du GEM qui ne comprend m�me pas d'in- dex des fonctions !!! A noter que certaines fonctions du GEM existent dans la biblioth�- que interne du GFA mais ne sont pas disponibles dans celle de DEV- PACK. C'est le cas de Form_Button et Form_Keybd. Et c'est g�nant! En effet au d�but Form_do n'existait pas. Les gens de Digital Re- search ont donc d�cid� de fabriquer de toutes pi�ces cette fonc- tion � partir de Form_Keybd et Fomr_button, et ont diffus� le source en C. Au bout d'un moment, les programmeurs n'ont plus uti- lis� que Form_Do et nous sommes tomb�s dans la routine de gestion de formulaires que nous connaissons actuellement. Si vous voulez faire votre propre Form_do, plus �volu� il "suffit" de reprendre Form_Keybd et Form_button pour recr�er Form_do. Mal- heureusement ces deux fonctions sont tomb�es dans les oubliettes et pour les avoir pffuuuuuttt!!! Vous voulez conna�tre leur opcode et les param�tres ? Facile comme tout! Si vous avez bien suivi ces cours, vous savez plein de chose sur le GEM (o� se place l'opcode d'une fonction, o� est inscrit le nombre de param�tres etc... et bien vous lancez AMonst, puis vous faites un petit bout de GFA qui appelle Form_keybd en affichant au pr�alable sur l'�cran l'adresse du tableau AES, et qui attend en- suite un appui sur une touche. Tout ceci se passe sous l'interpr�- teur du GFA bien s�r! D�s que vous �tes sur l'attente d'un appui touche, vous d�clenchez AMONST (shift+alternate+help) et hop, la grande recherche commence. Vous faites de m�me avec Form_button, et le tour est jou�. Courage, ce n'est pas bien dur, et cela fait un excellent exercice! Mise en oeuvre du 68000 (Ed. Sybex) Excellent bouquin, traitant du 68000 en g�n�ral. Ne vous attendez pas � y trouver des adresses syst�me pour votre ST. On parle, ici, cycles d'horloges, modes d'adressage etc... Implantation des fonctions usuelles en 68000 (Ed. Masson, par Fran�ois BRET). Comment faire des sinus, des cosinus, des trans- form�es de Fourier etc.. . N'est pas vendu avec l'aspirine ni le caf�, mais s'av�re indispensable, si vous vous attaquez aux pro- bl�mes de trigo en ASM. Seulement 191Frs, une mis�re! (Merci � Shizuka de m'avoir fourni la r�f�rence de cet ouvrage!!!!!) STATION INFORMATIQUE 2 rue Pi�mont�si 75018 PARIS t�l:(1)42.55.14.26 Excellent catalogue de Dom-Pubs. Avant de chercher � pirater des softs divers sans en avoir la doc, jetez un coup d'oeil sur leur catalogue. De nombreuses petites choses sont � y d�couvrir (sour- ces divers en ASM, utilitaires de d�buggage etc...) Si vous �tes un adepte de l'�mulation Mac, dans les dom-pub de cette machine se trouve le pack Cyclan, un assembleur Mac avec son �diteur etc... Bien sympa pour d�couvrir cette autre machine, �quip�e elle aussi d'un 68000. Les ST Mags fourmillaient �galement de trucs divers, en tout cas surtout dans les anciens num�ros � mon avis... Voici une petite liste non-limitative... Int�gration d'une ressource en GFA (46) Form Exdo (46) Echantillons sur ST (27,28,29,30,31,35) (En GFA avec de l'assem- bleur, mais le GFA on ne le sent qu'un tout petit peu...) Scrolling en GFA (31 � 45 sauf num�ro 37 et 44) M�me remarque que pour les digits!!! Gestion des disquettes en GFA (13,14,15,16) Programmer GEM (6 � 30 environ) Super! Tout en C mais les appels sont les m�mes et la syntaxe identique � celle de la biblio DEV- PACK! Faites vite une recherche de vos vieux num�ros de ST Mag car pour apprendre le GEM c'est extra!!! Animation en 3D (45,46,49) Pour le moment le dernier article n'est pas sorti... Esp�rons que cela ne fera pas comme le listing per- mettant de booter sur une cartouche....Bien clair, sympa, id�al pour commencer la 3D. Pour les coprocesseurs, 2 articles dans les num�ros 31 et 32. Dans le d�funt First (1ST) il y avait quelques trucs sympa sur le MIDI, le d�compactage des images DEGAS, la cr�ation de ram-disque et de spooler d'imprimante. Atari Mag revient en force en ce moment. Tr�s bon articles sur la programmation graphique du STE. Cela per- met de se faire une id�e sur le BLITTER, les 4096 couleurs etc... C'est en BASIC mais la traduction est facile. (21,22). Etant dans la confidence, je peux vous informer �galement que dans les prochains num�ros d'Atari Mag vous trouverez des articles sur diff�rents sujets avec sources en ASM et en GFA et que ce type d'article devrait durer pas mal de temps. Bon, en r�sum�, achetez tous les mois ST Mag et Atari Mag. Si be- soin est, achetez les � plusieurs, mais faire un gros tas de tou- tes ces revues car c'est une mine d'information importante. Bien souvent les questions qui sont pos�es sur RTEL par exemple trou- vent leur r�ponse dans une lecture des vieux num�ros! Quelques bons classeurs, des intercalaires et vous aurez une documentation �norme pour pas tr�s cher. Je terminerai ces cours en renouvelant l'avertissement concernant la chasse aux listings! Il est pr�f�rable d'avoir quelques bou- quins et des notes sur papier plut�t que 10 m�gas de sources au- quel on ne comprend pas grand chose, et qui de, toute fa�on, sont assez malcommodes � consulter par rapport � des informations �crites! Pour ce qui est des programmes assez gros, pr�parez quelques feuilles � c�t� de vous, pour y noter les noms des routines, des labels, des variables etc... vous vous rendrez vite compte que la principale difficult� de l'assembleur r�side dans le fait que les listings sont tr�s tr�s longs et qu'il est difficile de s'y d�pla- cer pour chercher quelque chose. Programmez proprement, soyez clairs et �vitez si possible les bidouilles. Commentez abondamment vos sources car dans 6 mois lorsqu'il faudra faire une petite mo- dification, vous verrez la diff�rence entre les sources clairs et les autres! Allez, je vous quitte en esp�rant que ces cours vous auront int�- ress�s et qu'ils vous auront donn� go�t � l'assembleur! N'oubliez pas que vous pouvez toujours me contacter sur le 3614 RTEL1 (ou RTEL2) en bal FEROCE LAPIN, et qu'il y a sur ce serveur une rubri- que pour l'assembleur 68000 sur ST, MAC ou AMIGA. Pour acc�der � cette rubrique, tapez *MOT et ENVOI. A bient�t!
Back to ASM_Tutorial