COURS210.TXT/fr: Difference between revisions

From Atari Wiki
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 F
+
* par Le F�roce Lapin (from 44E) *
 
* *
 
* *
−
* Seconde s
+
* Seconde s�rie *
 
* *
 
* *
−
* Cours num
+
* 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 num
+
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 intitul
+
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 emp
+
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 r
+
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 utilis
+
* 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 d
+
Je vais simplement vous d�crire les registres IERA, IMRA, IPRA
−
etc... du MFP. Pour de plus amples d
+
etc... du MFP. Pour de plus amples d�tails, consultez la Bible ST,
−
le Livre du D
+
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 class
+
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 s
+
groupe (A ou B) on trouve une s�rie de registres. Dans chacun de
−
ces registres les interruptions sont repr
+
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 d
+
que pendant ce temps une interruption plus faible se d�clenche. Il
−
faut donc noter cette volont
+
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 s
+
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 fa
+
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 d
+
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 emp
+
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 ex
+
durant son ex�cution.
   
   
Line 138: Line 138:
 
Vector Register
 
Vector Register
   
−
Cet octet est un peu sp
+
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 d
+
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 d
+
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 premi
+
que lorsque la premi�re aura remise le bit ISRA � 0.
   
−
D'un autre c
+
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 premi
+
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 all
+
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, pr
+
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 int
+
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 d
+
tibles d�s qu'il y aura changement de TOS.
   
−
Le Livre du D
+
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 M
+
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 fa
+
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 mod
+
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 r
+
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 commercialis
+
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 incompr
+
totalement incompr�hensible pour le d�butant. Par contre, les
−
fonctions y sont relativement bien d
+
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. L
+
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 photocopi
+
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 tr
+
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
+
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 biblioth
+
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 g
+
PACK. C'est le cas de Form_Button et Form_Keybd. Et c'est g�nant!
−
En effet au d
+
En effet au d�but Form_do n'existait pas. Les gens de Digital Re-
−
search ont donc d
+
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 recr
+
de reprendre Form_Keybd et Form_button pour recr�er Form_do. Mal-
−
heureusement ces deux fonctions sont tomb
+
heureusement ces deux fonctions sont tomb�es dans les oubliettes
 
et pour les avoir pffuuuuuttt!!!
 
et pour les avoir pffuuuuuttt!!!
   
−
Vous voulez conna
+
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 (o
+
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'interpr
+
suite un appui sur une touche. Tout ceci se passe sous l'interpr�-
−
teur du GFA bien s
+
teur du GFA bien s�r! D�s que vous �tes sur l'attente d'un appui
−
touche, vous d
+
touche, vous d�clenchez AMONST (shift+alternate+help) et hop, la
−
grande recherche commence. Vous faites de m
+
grande recherche commence. Vous faites de m�me avec Form_button,
−
et le tour est jou
+
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 r
+
Shizuka de m'avoir fourni la r�f�rence de cet ouvrage!!!!!)
   
−
STATION INFORMATIQUE 2 rue Pi
+
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 d
+
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 d
+
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 num
+
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 num
+
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... Esp
+
pas sorti... Esp�rons que cela ne fera pas comme le listing per-
−
mettant de booter sur une cartouche....Bien clair, sympa, id
+
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 num
+
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 id
+
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 num
+
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 pos
+
souvent les questions qui sont pos�es sur RTEL par exemple trou-
−
vent leur r
+
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 pr
+
la chasse aux listings! Il est pr�f�rable d'avoir quelques bou-
−
quins et des notes sur papier plut
+
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
+
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, pr
+
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 difficult
+
principale difficult� de l'assembleur r�side dans le fait que les
−
listings sont tr
+
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 diff
+
dification, vous verrez la diff�rence entre les sources clairs et
 
les autres!
 
les autres!
   
−
Allez, je vous quitte en esp
+
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 acc
+
que pour l'assembleur 68000 sur ST, MAC ou AMIGA. Pour acc�der �
−
cette rubrique, tapez *MOT et ENVOI. A bient
+
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