Pl INTRODUC.DOC/fr: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
Olivier.jan (talk | contribs) mNo edit summary |
||
(5 intermediate revisions by 3 users not shown) | |||
Line 1: | Line 1: | ||
+ | {{Languages|Pl INTRODUC.DOC}} |
||
<pre> |
<pre> |
||
-------------------------- |
-------------------------- |
||
Line 17: | Line 18: | ||
- Ceci est un manuel digital, c'est à dire qu'il se compose de textes |
- Ceci est un manuel digital, c'est à dire qu'il se compose de textes |
||
− | sur support |
+ | sur support magnétique: une disquette |
− | - L'avantage de cette |
+ | - L'avantage de cette méthode ? Une économie non négligeable pour |
− | l'acheteur , des programmes et surtout des listings dejà |
+ | l'acheteur , des programmes et surtout des listings dejà écrits (donc |
gain de temps et finies les fautes de frappe ou autres erreurs...) |
gain de temps et finies les fautes de frappe ou autres erreurs...) |
||
− | - Vous pouvez charger les |
+ | - Vous pouvez charger les différents textes, regroupés par fichiers et |
les lire avec un traitement de texte (par exemple FIRST WORD) ou (si |
les lire avec un traitement de texte (par exemple FIRST WORD) ou (si |
||
vous n'en possèdez pas) avec tout autre utilitaire chargeant des |
vous n'en possèdez pas) avec tout autre utilitaire chargeant des |
||
textes au format ASCII (c'est à dire un fichier contenant du texte et |
textes au format ASCII (c'est à dire un fichier contenant du texte et |
||
− | pouvant ètre |
+ | pouvant ètre listé à partir du DESKTOP comme tel): |
− | C'est possible avec les |
+ | C'est possible avec les éditeurs de texte de METACOMCO ( sélec- |
tionnez le fichier à lire en passant par l'utilitaire NENU+.PRG avec |
tionnez le fichier à lire en passant par l'utilitaire NENU+.PRG avec |
||
l'option 'CHOOSE *.*' puis l'option 'EDIT' ) |
l'option 'CHOOSE *.*' puis l'option 'EDIT' ) |
||
− | Cette |
+ | Cette méthode s'applique aussi à DEVPAC 68000. (Métacomco et Devpac |
− | sont des assembleurs, voir plus loin pour plus de |
+ | sont des assembleurs, voir plus loin pour plus de détails). |
Vous pouvez aussi vous servir des options du DESKTOP: double-cliquez |
Vous pouvez aussi vous servir des options du DESKTOP: double-cliquez |
||
− | sur le fichier texte choisi puis |
+ | sur le fichier texte choisi puis sélectionnez 'IMPRIMER' ou 'VOIR'. |
Bien entendu, vous pouvez aussi imprimer librement tous les fichiers |
Bien entendu, vous pouvez aussi imprimer librement tous les fichiers |
||
− | avec votre traitement de texte une fois ceux-ci |
+ | avec votre traitement de texte une fois ceux-ci chargés... |
− | - Ce manuel est |
+ | - Ce manuel est formé par une suite de textes classés par chapitres |
(comme dans un livre) pour donner une structure à l'ensemble. |
(comme dans un livre) pour donner une structure à l'ensemble. |
||
Line 53: | Line 54: | ||
*** STRUCTURE DU LIVRE *** |
*** STRUCTURE DU LIVRE *** |
||
-------------------------- |
-------------------------- |
||
− | - Comme vous pouvez l'apercevoir, les titres sont |
+ | - Comme vous pouvez l'apercevoir, les titres sont centrés, encadrés |
− | par des |
+ | par des étoiles,soulignés et espacés de manière à aérer le texte. |
− | Le texte lui même sera |
+ | Le texte lui même sera regroupé en paragraphes pour une meilleure |
− | + | clarté. |
|
- Plus tard , les mots importants et à retenir par la suite seront |
- Plus tard , les mots importants et à retenir par la suite seront |
||
− | + | écris en majuscules. (exemples: OCTET,REGISTRE etc...) |
|
− | - J'utiliserais aussi certaines |
+ | - J'utiliserais aussi certaines abréviations: "c.à.d" pour "c'est à |
dire " ou "exp." pour "exemple" , "prg" pour "programme" ... |
dire " ou "exp." pour "exemple" , "prg" pour "programme" ... |
||
− | - Les programmes exemples seront |
+ | - Les programmes exemples seront présents sur la disquette. |
( vous pourrez les charger directement avec votre assembleur sans |
( vous pourrez les charger directement avec votre assembleur sans |
||
avoir à les retaper! ) |
avoir à les retaper! ) |
||
− | Il en est de même pour les programmes |
+ | Il en est de même pour les programmes exécutables issus de ces |
listings et pour les corrections des exercices. |
listings et pour les corrections des exercices. |
||
Line 75: | Line 76: | ||
*** UNE METHODE DIDACTIQUE *** |
*** UNE METHODE DIDACTIQUE *** |
||
------------------------------ |
------------------------------ |
||
− | - L'assembleur est |
+ | - L'assembleur est réputé pour sa difficulté, et il est vrai que pro- |
grammer en assembleur demande beaucoup plus d'effort que de programmer |
grammer en assembleur demande beaucoup plus d'effort que de programmer |
||
en BASIC ou même en langage C ... |
en BASIC ou même en langage C ... |
||
Line 81: | Line 82: | ||
- Ne vous inquiètez pas ...! Pour faire une comparaison, on pourrait |
- Ne vous inquiètez pas ...! Pour faire une comparaison, on pourrait |
||
dire que programmer en assembleur est aussi difficile que d'apprendre |
dire que programmer en assembleur est aussi difficile que d'apprendre |
||
− | à lire ou |
+ | à lire ou écrire , or qui d'entre vous ne sait pas lire ET écrire ?! |
- Tout commme pour l'apprentissage de la lecture, cet ouvrage placera |
- Tout commme pour l'apprentissage de la lecture, cet ouvrage placera |
||
− | la pratique en premier plan et sera |
+ | la pratique en premier plan et sera trés abondant en exemples divers |
− | tous |
+ | tous commentés en détail et d'exercices personnels (avec réponses |
complètes). |
complètes). |
||
− | - Il faudra vous |
+ | - Il faudra vous débarasser de tous préjugés sur l'assembleur: |
− | Quelqu'un qui ne sait pas lire sera |
+ | Quelqu'un qui ne sait pas lire sera découragé devant un texte, qui |
n'est pour lui qu'une tartine de lettres dont l'allignement n'a rien |
n'est pour lui qu'une tartine de lettres dont l'allignement n'a rien |
||
d'apparemment logique. |
d'apparemment logique. |
||
Line 98: | Line 99: | ||
− | - Il faudra d'abord apprendre l'alphabet (c.à.d les |
+ | - Il faudra d'abord apprendre l'alphabet (c.à.d les définitions utiles) |
− | puis |
+ | puis étudier des exemples ,les règles de grammaire (donc les relations |
− | qui donnent une |
+ | qui donnent une cohérence à votre programme) mais aussi les exceptions |
(donc les cas particuliers en assembleur). |
(donc les cas particuliers en assembleur). |
||
Line 107: | Line 108: | ||
Bref, vous aurez acquis les bases de la programmation en ASS. 68000 |
Bref, vous aurez acquis les bases de la programmation en ASS. 68000 |
||
− | et vous pourrez |
+ | et vous pourrez écrire vos premiers programmes |
- A ce momment, vous pourrez enfin vous plonger dans divers livres |
- A ce momment, vous pourrez enfin vous plonger dans divers livres |
||
traitant de la programmation en assembleur 68000, livres qui pour la |
traitant de la programmation en assembleur 68000, livres qui pour la |
||
− | plupart s'adressent à un public |
+ | plupart s'adressent à un public déjà averti, et vous constaterez vous |
− | même que votre progression ne fera que s' |
+ | même que votre progression ne fera que s'accélérer... |
- Le but de ce livre est donc très ambitieux: Il a pour but de vous ap- |
- Le but de ce livre est donc très ambitieux: Il a pour but de vous ap- |
||
prendre un langage informatique qui vous est inconnu. |
prendre un langage informatique qui vous est inconnu. |
||
− | Devant la |
+ | Devant la difficulté de la chose j'ai tenté de rendre les problèmes |
− | que pose la programmation en assembleur |
+ | que pose la programmation en assembleur trés clairs: |
----------------------------------------------------------------------- |
----------------------------------------------------------------------- |
||
− | * Ce livre n'a pas |
+ | * Ce livre n'a pas été écrit pour éblouir ou impressionner ses lecteurs |
− | par un vocabulaire technique |
+ | par un vocabulaire technique incompréhensible, il est au contraire un |
− | exemple de |
+ | exemple de clarté. |
− | * Chaque notion importante est |
+ | * Chaque notion importante est expliquée en profondeur et illustrée par |
− | des exemples divers et |
+ | des exemples divers et détaillés. |
− | * Le vocabulaire |
+ | * Le vocabulaire utilisé sera définit et la linéarité du livre ammènera |
− | le lecteur à un |
+ | le lecteur à un résultat progressif,rapide et sans ambiguité. |
----------------------------------------------------------------------- |
----------------------------------------------------------------------- |
||
Line 144: | Line 145: | ||
La programmation en assembleur suit des règles très strictes. |
La programmation en assembleur suit des règles très strictes. |
||
− | La relecture sera indispensable et |
+ | La relecture sera indispensable et fréquente, c'est normal. |
Arrètez-vous si vous n'avez pas compris quelquechose et relisez |
Arrètez-vous si vous n'avez pas compris quelquechose et relisez |
||
Line 155: | Line 156: | ||
1) Logiciels: |
1) Logiciels: |
||
--------- |
--------- |
||
− | - Un ASSEMBLEUR complet :EDITEUR,ASSEMBLEUR,LINKER (termes |
+ | - Un ASSEMBLEUR complet :EDITEUR,ASSEMBLEUR,LINKER (termes expliqués |
− | plus loin) vous seront indispensables si vous voulez |
+ | plus loin) vous seront indispensables si vous voulez créer vous même |
vos propres programmes en assembleur 68000. |
vos propres programmes en assembleur 68000. |
||
Line 162: | Line 163: | ||
courants. |
courants. |
||
− | * METACOMCO MC 68000: .Un bon assembleur,l' |
+ | * METACOMCO MC 68000: .Un bon assembleur,l'éditeur est géré par le |
− | ------------------ clavier:il est donc |
+ | ------------------ clavier:il est donc trés convivial et rapide. |
− | .L'assembleur est |
+ | .L'assembleur est paramétrable et permet de dé- |
finir des MACROS-INSTRUCTIONS (sortes de fonc- |
finir des MACROS-INSTRUCTIONS (sortes de fonc- |
||
− | tions |
+ | tions créées par le programmeur et pouvant si- |
muler par la suite une nouvelle instruction , |
muler par la suite une nouvelle instruction , |
||
− | je |
+ | je détaillerais plus tard ...) |
.Les accès au lecteur de disquette sont à mon |
.Les accès au lecteur de disquette sont à mon |
||
avis trop nombreux, on y perd donc en rapidi- |
avis trop nombreux, on y perd donc en rapidi- |
||
− | + | té, c'est dommage. |
|
* PROFIMAT : .C'est cet assembleur que nous utiliseront dans |
* PROFIMAT : .C'est cet assembleur que nous utiliseront dans |
||
Line 179: | Line 180: | ||
bles pour les autres assembleurs. |
bles pour les autres assembleurs. |
||
− | .L' |
+ | .L'éditeur est trés complet (aides, gestion avec |
− | la souris par des menus |
+ | la souris par des menus déroulants ...) |
− | .L'assembleur est |
+ | .L'assembleur est paramétrable et génère un CODE |
− | OBJET |
+ | OBJET optimisé. |
(patience pour les explications...) |
(patience pour les explications...) |
||
− | .Permet aussi de |
+ | .Permet aussi de créer des MACROS. |
− | .L' |
+ | .L'éditeur,l'Assembleur,le Linker sont dispo- |
nibles en meme temps , les accès au lecteur |
nibles en meme temps , les accès au lecteur |
||
− | de disquette sont donc |
+ | de disquette sont donc limités, Très bien ! |
contient aussi: .Un DEBUGGER (pour trouver les ERREURS dans vos |
contient aussi: .Un DEBUGGER (pour trouver les ERREURS dans vos |
||
− | prg en assembleur ( permet aussi d' |
+ | prg en assembleur ( permet aussi d'étudier le |
− | contenu de la |
+ | contenu de la mémoire de l'ordi. ), |
Et un DESASSEMBLEUR qui donne un fichier texte |
Et un DESASSEMBLEUR qui donne un fichier texte |
||
(listing) à partir d'un programme COMPILE ( ou |
(listing) à partir d'un programme COMPILE ( ou |
||
− | programme |
+ | programme exécutable du type NOM .PRG ) |
− | Ces 2 termes seront |
+ | Ces 2 termes seront expliqués dans un chapitre |
à part. |
à part. |
||
− | . |
+ | .Trés complet |
− | * DEVPAC ST (1 ou 2) .Mêmes |
+ | * DEVPAC ST (1 ou 2) .Mêmes caractéristiques que Profimat mais en |
− | ------------------ moins |
+ | ------------------ moins développé pour Devpac I. |
.Très performant (surtout DEVPAC II) et simple |
.Très performant (surtout DEVPAC II) et simple |
||
Line 212: | Line 213: | ||
.Vous pourrez,avec DEVPAC II,lancer directement |
.Vous pourrez,avec DEVPAC II,lancer directement |
||
− | le programme créé, sans avoir à quitter l' |
+ | le programme créé, sans avoir à quitter l'édi- |
teur, et retraiter le listing en cas d'erreur! |
teur, et retraiter le listing en cas d'erreur! |
||
− | .DEVPAC II est |
+ | .DEVPAC II est livré avec MONST2, le meilleur |
− | + | débugger et désassembleur que vous puissiez |
|
trouver... |
trouver... |
||
Line 224: | Line 225: | ||
.DEVPAC II est à mon avis LE meilleur assembleur |
.DEVPAC II est à mon avis LE meilleur assembleur |
||
− | que vous puissiez trouver: N' |
+ | que vous puissiez trouver: N'hésitez pas ! |
− | * GFA ASSEMBLEUR .Je n'ai pu que tester une |
+ | * GFA ASSEMBLEUR .Je n'ai pu que tester une préversion de cet |
-------------- assembleur: |
-------------- assembleur: |
||
Line 233: | Line 234: | ||
syntaxes incorrectes. |
syntaxes incorrectes. |
||
− | .Le programme peut ètre directement |
+ | .Le programme peut ètre directement exécuté, |
− | sous l' |
+ | sous l'éditeur.(Comme avec DEVPAC II) |
− | .Contient un |
+ | .Contient un débugger très convivial... |
.L'EDITEUR est superbe!(Il est plus rapide que |
.L'EDITEUR est superbe!(Il est plus rapide que |
||
celui du GFA BASIC). |
celui du GFA BASIC). |
||
− | (Demandez de plus amples |
+ | (Demandez de plus amples détails à votre reven- |
deur...) |
deur...) |
||
Line 249: | Line 250: | ||
sont très puissants. |
sont très puissants. |
||
− | .La notice fournie est très bien |
+ | .La notice fournie est très bien réalisée... |
− | Les prix de ces |
+ | Les prix de ces différents assembleur peuvent varier, mais ils sont en |
− | + | général assez élevés car il s'agit déja d'utilitaires trés complexes |
|
− | et |
+ | et réservés à des professionnels, mais ils conviennent très bien à nos |
besoins et leur utilisation ne pose pas de problème si l'on connait |
besoins et leur utilisation ne pose pas de problème si l'on connait |
||
l'assembleur. |
l'assembleur. |
||
Line 262: | Line 263: | ||
− | 2) Manuels |
+ | 2) Manuels complémentaires (facultatif) |
------------------------------------ |
------------------------------------ |
||
− | - Par la suite, lorsque nous |
+ | - Par la suite, lorsque nous étudierons les fonctions du GEMDOS, de |
l'XBIOS et du BIOS, il vous sera très utile de possèder: "LA BIBLE DU |
l'XBIOS et du BIOS, il vous sera très utile de possèder: "LA BIBLE DU |
||
ST" de MICRO APPLICATION,ce livre contient justement tous les noms des |
ST" de MICRO APPLICATION,ce livre contient justement tous les noms des |
||
fonctions des 'librairies' que sont le GEMDOS,l'XBIOS et le BIOS. |
fonctions des 'librairies' que sont le GEMDOS,l'XBIOS et le BIOS. |
||
− | Les fonctions du GEMDOS,de l'XBIOS et du BIOS peuvent ètres |
+ | Les fonctions du GEMDOS,de l'XBIOS et du BIOS peuvent ètres appellées |
− | en assembleur et permettent l' |
+ | en assembleur et permettent l'éxecution de fonctions de base comme |
− | l' |
+ | l'édition de caractères,l'ouverture de fichiers sur Disquette, ou en- |
core le changement de la palette des couleurs etc... |
core le changement de la palette des couleurs etc... |
||
− | Un chapitre expliquera en |
+ | Un chapitre expliquera en détail toutes ces fonctions avec des |
− | exemples,des exercices |
+ | exemples,des exercices corrigés et une description minutieuse. |
Line 287: | Line 288: | ||
L'AES gère l'environnement pour les applications, c.à.d. qu'il gère |
L'AES gère l'environnement pour les applications, c.à.d. qu'il gère |
||
− | et permet la |
+ | et permet la création des fenêtres,des icones... par lesquels l'uti- |
lisateur communique des informations à l'ordi. gràce à la souris |
lisateur communique des informations à l'ordi. gràce à la souris |
||
notamment. |
notamment. |
||
- Nous nous interèsseront d'avantage au VDI dans un chapitre à part car |
- Nous nous interèsseront d'avantage au VDI dans un chapitre à part car |
||
− | l'utilisation de L'AES |
+ | l'utilisation de L'AES dépasse le cadre de notre objectif vu la com- |
− | + | plexité de sa mise en oeuvre. |
|
− | .Un chapitre entier sera |
+ | .Un chapitre entier sera consacré aux fonctions du GEMDOS,BIOS,XBIOS |
− | et VDI (Vous |
+ | et VDI (Vous étudierez aussi les LineAs et les programmes sous in- |
terruption...) |
terruption...) |
||
Line 306: | Line 307: | ||
------------------------------------ |
------------------------------------ |
||
− | - L'ASSEMBLEUR a la triste |
+ | - L'ASSEMBLEUR a la triste réputation d'ètre difficile à mettre en |
− | oeuvre, c'est pourquoi on lui |
+ | oeuvre, c'est pourquoi on lui préfère un langage comme le BASIC, |
le PASCAL,le C etc... |
le PASCAL,le C etc... |
||
− | Une des raisons majeures ayant |
+ | Une des raisons majeures ayant contribuée à cette réputation est |
sans doute l'absence de toute initiation complète et didactique |
sans doute l'absence de toute initiation complète et didactique |
||
à ce langage fantastique qu'est l'ASSEMBLEUR. |
à ce langage fantastique qu'est l'ASSEMBLEUR. |
||
− | Souvent les ouvrages |
+ | Souvent les ouvrages publiés sur l'ASSEMBLEUR sont totalement dé- |
− | pourvus de toute ambition |
+ | pourvus de toute ambition pédagogique et ne sont en fait rien de |
− | plus que des catalogues de termes techniques |
+ | plus que des catalogues de termes techniques incompréhensibles. |
C'est ainsi, que la plupart des programmeurs amateurs ne connais- |
C'est ainsi, que la plupart des programmeurs amateurs ne connais- |
||
Line 322: | Line 323: | ||
Voilà qui est bien dommage, car les performances de l'assembleur |
Voilà qui est bien dommage, car les performances de l'assembleur |
||
− | ne peuvent même pas être |
+ | ne peuvent même pas être comparées avec celles de certains lan- |
− | gages dits ' |
+ | gages dits 'evolués'.(surtout sur le plan graphique) |
- L'ASSEMBLEUR, permet de comprendre le fonctionnement interne de |
- L'ASSEMBLEUR, permet de comprendre le fonctionnement interne de |
||
Line 330: | Line 331: | ||
,VARIABLES... |
,VARIABLES... |
||
− | - Chacune de ces composantes peut ètre |
+ | - Chacune de ces composantes peut ètre modifiée en ASSEMBLEUR. |
L'ASSEMBLEUR est en prise directe avec l'ordi. et n'utilise donc |
L'ASSEMBLEUR est en prise directe avec l'ordi. et n'utilise donc |
||
− | pas de moyens |
+ | pas de moyens détournés, il arrive toujours à un résultat précis. |
− | Un programme en BASIC de 3 lignes |
+ | Un programme en BASIC de 3 lignes compilé sera composé d'une cen- |
taine d'instructions ASSEMBLEUR, alors que le mème programme, di- |
taine d'instructions ASSEMBLEUR, alors que le mème programme, di- |
||
− | rectement |
+ | rectement écris en ASSEMBLEUR n'en occuperait que le dixième... |
Line 343: | Line 344: | ||
instructions, mais il peut aussi faire appel directement à des fon- |
instructions, mais il peut aussi faire appel directement à des fon- |
||
ctions (XBIOS,BIOS,GEMDOS,AES,VDI...) en fournissant les paramètres |
ctions (XBIOS,BIOS,GEMDOS,AES,VDI...) en fournissant les paramètres |
||
− | + | nécessaires. |
|
− | - L'ASSEMBLEUR 68000 travaille en deux modes |
+ | - L'ASSEMBLEUR 68000 travaille en deux modes différents: |
− | Le mode Utilisateur: une zone de |
+ | Le mode Utilisateur: une zone de mémoire réservée est |
disponible au programmeur. |
disponible au programmeur. |
||
Le mode Superviseur: Le programmeur a accès à toutes les |
Le mode Superviseur: Le programmeur a accès à toutes les |
||
− | instructions et toute la |
+ | instructions et toute la mémoire. |
− | - L'ASSEMBLEUR est |
+ | - L'ASSEMBLEUR est trés spécifique : on ne programme pas en Assem- |
bleur Z80 sur AMSTRAD CPC comme sur ATARI ST en Assembleur 68000. |
bleur Z80 sur AMSTRAD CPC comme sur ATARI ST en Assembleur 68000. |
||
-------------------------------------------------------------------- |
-------------------------------------------------------------------- |
||
− | Toutes ces notions seront |
+ | Toutes ces notions seront définies en profondeur plus tard: |
Pas de Panique ! |
Pas de Panique ! |
||
Line 369: | Line 370: | ||
------------------------------------------- |
------------------------------------------- |
||
− | - Qui d'entre vous ne rève pas de pouvoir |
+ | - Qui d'entre vous ne rève pas de pouvoir égaler ou surpasser les |
programmeurs de vos jeux favoris ?? |
programmeurs de vos jeux favoris ?? |
||
− | Exp: OVERLANDER et PANDORA ont |
+ | Exp: OVERLANDER et PANDORA ont été programmés avec DEVPAC II |
− | et 95% des bons jeux sur ST sont |
+ | et 95% des bons jeux sur ST sont écris en Assembleur. |
- Dans certains cas L'ASSEMBLEUR peut ètre 100 fois plus rapide |
- Dans certains cas L'ASSEMBLEUR peut ètre 100 fois plus rapide |
||
Line 382: | Line 383: | ||
posez d'une centaine de fonctions directement utilisables et |
posez d'une centaine de fonctions directement utilisables et |
||
d'un jeu d'instructions qui vous permettera de diriger chaque |
d'un jeu d'instructions qui vous permettera de diriger chaque |
||
− | + | opération avec une précision et une rapidité inégalable. |
|
− | - L'ASSEMBLEUR est très |
+ | - L'ASSEMBLEUR est très spécifique car il varie selon le MICRO- |
PROCESSEUR (le 'cerveau' de votre ordi.). |
PROCESSEUR (le 'cerveau' de votre ordi.). |
||
− | L'ATARI ST est |
+ | L'ATARI ST est équipé du Microprocesseur MC 68000 (de Motorola) |
:Donc on programme en Assembleur 68000 sur ST... |
:Donc on programme en Assembleur 68000 sur ST... |
||
− | Un AMSTRAD CPC est |
+ | Un AMSTRAD CPC est équipé d'un microprocesseur Z80,différent du |
− | MC 68000 sur beaucoup de points.Ceci explique les |
+ | MC 68000 sur beaucoup de points.Ceci explique les différences de |
performances, et de programmation entre ces 2 ordinateurs. |
performances, et de programmation entre ces 2 ordinateurs. |
||
− | - Mais aujourd'hui, on trouve des ordinateurs |
+ | - Mais aujourd'hui, on trouve des ordinateurs équipés de Micoproces- |
seurs de la famille du MC 68000: les 68008,68010,68012... |
seurs de la famille du MC 68000: les 68008,68010,68012... |
||
Un expemple: L'AMIGA possède aussi un micoprocesseur MC 68000. |
Un expemple: L'AMIGA possède aussi un micoprocesseur MC 68000. |
||
− | Il vous sera donc assez |
+ | Il vous sera donc assez aisé de vous adapter à la programmation en |
assembleur sur ces (nouveaux) ordinateurs. |
assembleur sur ces (nouveaux) ordinateurs. |
||
Les microprocesseurs de la famille 68000 ont donc encore de beaux |
Les microprocesseurs de la famille 68000 ont donc encore de beaux |
||
jours devant eux... ( contrairement au Z80 par exemple, qui est |
jours devant eux... ( contrairement au Z80 par exemple, qui est |
||
− | totalement |
+ | totalement dépassé ) |
-------------- |
-------------- |
||
− | Voilà pour la partie |
+ | Voilà pour la partie théorique, mais maintenant passons aux choses |
− | + | sérieuses... |
|
Laurent PIECHOCKI |
Laurent PIECHOCKI |
||
− | 8, impasse Bellevue suite dans : |
+ | 8, impasse Bellevue suite dans : NR#2.DOC |
57980 TENTELING -------- |
57980 TENTELING -------- |
||
Line 420: | Line 421: | ||
</pre> |
</pre> |
||
Back to [[ASM_Tutorial]] |
Back to [[ASM_Tutorial]] |
||
+ | [[Category: ASSEMBLEUR 68000 sur ATARI ST Part 1 ]] |
Latest revision as of 12:59, 17 December 2023
-------------------------- TOME I, CHAPITRE NR°1 INTRODUCTION -------------------------- BONJOUR! Pour commencer, comme le titre de ce premier chapitre l'indique , voilà une explication quant à l'utilisation de ce manuel digital et aussi une introduction générale à la programmation en as- sembleur 68000 sur ATARI ST. *** COMMENT UTILISER CE MANUEL ? *** ------------------------------------ - Ceci est un manuel digital, c'est à dire qu'il se compose de textes sur support magnétique: une disquette - L'avantage de cette méthode ? Une économie non négligeable pour l'acheteur , des programmes et surtout des listings dejà écrits (donc gain de temps et finies les fautes de frappe ou autres erreurs...) - Vous pouvez charger les différents textes, regroupés par fichiers et les lire avec un traitement de texte (par exemple FIRST WORD) ou (si vous n'en possèdez pas) avec tout autre utilitaire chargeant des textes au format ASCII (c'est à dire un fichier contenant du texte et pouvant ètre listé à partir du DESKTOP comme tel): C'est possible avec les éditeurs de texte de METACOMCO ( sélec- tionnez le fichier à lire en passant par l'utilitaire NENU+.PRG avec l'option 'CHOOSE *.*' puis l'option 'EDIT' ) Cette méthode s'applique aussi à DEVPAC 68000. (Métacomco et Devpac sont des assembleurs, voir plus loin pour plus de détails). Vous pouvez aussi vous servir des options du DESKTOP: double-cliquez sur le fichier texte choisi puis sélectionnez 'IMPRIMER' ou 'VOIR'. Bien entendu, vous pouvez aussi imprimer librement tous les fichiers avec votre traitement de texte une fois ceux-ci chargés... - Ce manuel est formé par une suite de textes classés par chapitres (comme dans un livre) pour donner une structure à l'ensemble. - A la fin de chaque fichier, une indication vous donnera le nom exact du prochain texte à lire:Vous ne devrez pas rencontrer de problèmes. *** STRUCTURE DU LIVRE *** -------------------------- - Comme vous pouvez l'apercevoir, les titres sont centrés, encadrés par des étoiles,soulignés et espacés de manière à aérer le texte. Le texte lui même sera regroupé en paragraphes pour une meilleure clarté. - Plus tard , les mots importants et à retenir par la suite seront écris en majuscules. (exemples: OCTET,REGISTRE etc...) - J'utiliserais aussi certaines abréviations: "c.à.d" pour "c'est à dire " ou "exp." pour "exemple" , "prg" pour "programme" ... - Les programmes exemples seront présents sur la disquette. ( vous pourrez les charger directement avec votre assembleur sans avoir à les retaper! ) Il en est de même pour les programmes exécutables issus de ces listings et pour les corrections des exercices. *** UNE METHODE DIDACTIQUE *** ------------------------------ - L'assembleur est réputé pour sa difficulté, et il est vrai que pro- grammer en assembleur demande beaucoup plus d'effort que de programmer en BASIC ou même en langage C ... - Ne vous inquiètez pas ...! Pour faire une comparaison, on pourrait dire que programmer en assembleur est aussi difficile que d'apprendre à lire ou écrire , or qui d'entre vous ne sait pas lire ET écrire ?! - Tout commme pour l'apprentissage de la lecture, cet ouvrage placera la pratique en premier plan et sera trés abondant en exemples divers tous commentés en détail et d'exercices personnels (avec réponses complètes). - Il faudra vous débarasser de tous préjugés sur l'assembleur: Quelqu'un qui ne sait pas lire sera découragé devant un texte, qui n'est pour lui qu'une tartine de lettres dont l'allignement n'a rien d'apparemment logique. Il doit en ètre de même pour vous devant un listing en assembleur, alors patience ... - Il faudra d'abord apprendre l'alphabet (c.à.d les définitions utiles) puis étudier des exemples ,les règles de grammaire (donc les relations qui donnent une cohérence à votre programme) mais aussi les exceptions (donc les cas particuliers en assembleur). A la fin de cet ouvrage vous serez donc tous capable de LIRE un pro- gramme en assembleur 68000 et de le COMPRENDRE. Bref, vous aurez acquis les bases de la programmation en ASS. 68000 et vous pourrez écrire vos premiers programmes - A ce momment, vous pourrez enfin vous plonger dans divers livres traitant de la programmation en assembleur 68000, livres qui pour la plupart s'adressent à un public déjà averti, et vous constaterez vous même que votre progression ne fera que s'accélérer... - Le but de ce livre est donc très ambitieux: Il a pour but de vous ap- prendre un langage informatique qui vous est inconnu. Devant la difficulté de la chose j'ai tenté de rendre les problèmes que pose la programmation en assembleur trés clairs: ----------------------------------------------------------------------- * Ce livre n'a pas été écrit pour éblouir ou impressionner ses lecteurs par un vocabulaire technique incompréhensible, il est au contraire un exemple de clarté. * Chaque notion importante est expliquée en profondeur et illustrée par des exemples divers et détaillés. * Le vocabulaire utilisé sera définit et la linéarité du livre ammènera le lecteur à un résultat progressif,rapide et sans ambiguité. ----------------------------------------------------------------------- - N'oubliez jamais cette règle d'or: " LA QUALITE VAUT MIEUX QUE LA QUANTITE ! " Ceci est surtout vrai pour la programmation en assembleur, je vous conseille de ne pas lire trop vite, vous ne pourrez pas progresser si vous n'assimilez pas les notions des divers chapitres de façon régu- lière : La programmation en assembleur suit des règles très strictes. La relecture sera indispensable et fréquente, c'est normal. Arrètez-vous si vous n'avez pas compris quelquechose et relisez très lentement. *** MATERIEL NECESSAIRE *** --------------------------- 1) Logiciels: --------- - Un ASSEMBLEUR complet :EDITEUR,ASSEMBLEUR,LINKER (termes expliqués plus loin) vous seront indispensables si vous voulez créer vous même vos propres programmes en assembleur 68000. Plusieurs sont disponibles chez tout bon revendeur, voilà les plus courants. * METACOMCO MC 68000: .Un bon assembleur,l'éditeur est géré par le ------------------ clavier:il est donc trés convivial et rapide. .L'assembleur est paramétrable et permet de dé- finir des MACROS-INSTRUCTIONS (sortes de fonc- tions créées par le programmeur et pouvant si- muler par la suite une nouvelle instruction , je détaillerais plus tard ...) .Les accès au lecteur de disquette sont à mon avis trop nombreux, on y perd donc en rapidi- té, c'est dommage. * PROFIMAT : .C'est cet assembleur que nous utiliseront dans -------- les exemples, mais les listings restent vala- bles pour les autres assembleurs. .L'éditeur est trés complet (aides, gestion avec la souris par des menus déroulants ...) .L'assembleur est paramétrable et génère un CODE OBJET optimisé. (patience pour les explications...) .Permet aussi de créer des MACROS. .L'éditeur,l'Assembleur,le Linker sont dispo- nibles en meme temps , les accès au lecteur de disquette sont donc limités, Très bien ! contient aussi: .Un DEBUGGER (pour trouver les ERREURS dans vos prg en assembleur ( permet aussi d'étudier le contenu de la mémoire de l'ordi. ), Et un DESASSEMBLEUR qui donne un fichier texte (listing) à partir d'un programme COMPILE ( ou programme exécutable du type NOM .PRG ) Ces 2 termes seront expliqués dans un chapitre à part. .Trés complet * DEVPAC ST (1 ou 2) .Mêmes caractéristiques que Profimat mais en ------------------ moins développé pour Devpac I. .Très performant (surtout DEVPAC II) et simple d'accès. .Vous pourrez,avec DEVPAC II,lancer directement le programme créé, sans avoir à quitter l'édi- teur, et retraiter le listing en cas d'erreur! .DEVPAC II est livré avec MONST2, le meilleur débugger et désassembleur que vous puissiez trouver... .DEVPAC II admet des DIRECTIVES D'ASSEMBLAGE (patience pour les explications...) très puissantes:INCBIN,REPT,ENDR,ELSEIF,RSSET... .DEVPAC II est à mon avis LE meilleur assembleur que vous puissiez trouver: N'hésitez pas ! * GFA ASSEMBLEUR .Je n'ai pu que tester une préversion de cet -------------- assembleur: .Il vous sera très utile car il corrige les syntaxes incorrectes. .Le programme peut ètre directement exécuté, sous l'éditeur.(Comme avec DEVPAC II) .Contient un débugger très convivial... .L'EDITEUR est superbe!(Il est plus rapide que celui du GFA BASIC). (Demandez de plus amples détails à votre reven- deur...) * METACOMCO 12.0 .Contient un Très bon EDITEUR. -------------- .L'ASSEMBLEUR,le LINKER et le DEBUGGER fournis sont très puissants. .La notice fournie est très bien réalisée... Les prix de ces différents assembleur peuvent varier, mais ils sont en général assez élevés car il s'agit déja d'utilitaires trés complexes et réservés à des professionnels, mais ils conviennent très bien à nos besoins et leur utilisation ne pose pas de problème si l'on connait l'assembleur. Vous avez encore tout le temps de faire votre choix si cela n'a pas encore été fait, patientez encore pour pouvoir parfaire votre jugement car rien ne presse ... 2) Manuels complémentaires (facultatif) ------------------------------------ - Par la suite, lorsque nous étudierons les fonctions du GEMDOS, de l'XBIOS et du BIOS, il vous sera très utile de possèder: "LA BIBLE DU ST" de MICRO APPLICATION,ce livre contient justement tous les noms des fonctions des 'librairies' que sont le GEMDOS,l'XBIOS et le BIOS. Les fonctions du GEMDOS,de l'XBIOS et du BIOS peuvent ètres appellées en assembleur et permettent l'éxecution de fonctions de base comme l'édition de caractères,l'ouverture de fichiers sur Disquette, ou en- core le changement de la palette des couleurs etc... Un chapitre expliquera en détail toutes ces fonctions avec des exemples,des exercices corrigés et une description minutieuse. - Vous pouvez aussi acheter "LE LIVRE DU GEM" de MICRO APPLICATION ,il contient les fonctions VDI et AES : Le VDI est une 'Bibliothèque' de fonctions tout comme le BIOS ou le GEMDOS et l'XBIOS, mais ces fonctions sont graphiques et permettent par exemple le traçage de cercles,polygones,les remplissages... L'AES gère l'environnement pour les applications, c.à.d. qu'il gère et permet la création des fenêtres,des icones... par lesquels l'uti- lisateur communique des informations à l'ordi. gràce à la souris notamment. - Nous nous interèsseront d'avantage au VDI dans un chapitre à part car l'utilisation de L'AES dépasse le cadre de notre objectif vu la com- plexité de sa mise en oeuvre. .Un chapitre entier sera consacré aux fonctions du GEMDOS,BIOS,XBIOS et VDI (Vous étudierez aussi les LineAs et les programmes sous in- terruption...) *** QU'EST CE QUE L'ASSEMBLEUR ? *** ------------------------------------ - L'ASSEMBLEUR a la triste réputation d'ètre difficile à mettre en oeuvre, c'est pourquoi on lui préfère un langage comme le BASIC, le PASCAL,le C etc... Une des raisons majeures ayant contribuée à cette réputation est sans doute l'absence de toute initiation complète et didactique à ce langage fantastique qu'est l'ASSEMBLEUR. Souvent les ouvrages publiés sur l'ASSEMBLEUR sont totalement dé- pourvus de toute ambition pédagogique et ne sont en fait rien de plus que des catalogues de termes techniques incompréhensibles. C'est ainsi, que la plupart des programmeurs amateurs ne connais- sent rien à l'assembleur bien que ce soit le langage naturel de leur ordinateur ! Voilà qui est bien dommage, car les performances de l'assembleur ne peuvent même pas être comparées avec celles de certains lan- gages dits 'evolués'.(surtout sur le plan graphique) - L'ASSEMBLEUR, permet de comprendre le fonctionnement interne de l'ordinateur, dans un programme en ASSEMBLEUR chaque composante de la structure de l'ordinateur apparait clairement:MEMOIRE,REGISTRES ,VARIABLES... - Chacune de ces composantes peut ètre modifiée en ASSEMBLEUR. L'ASSEMBLEUR est en prise directe avec l'ordi. et n'utilise donc pas de moyens détournés, il arrive toujours à un résultat précis. Un programme en BASIC de 3 lignes compilé sera composé d'une cen- taine d'instructions ASSEMBLEUR, alors que le mème programme, di- rectement écris en ASSEMBLEUR n'en occuperait que le dixième... - Comme chaque langage informatique, l'ASSEMBLEUR comporte diverses instructions, mais il peut aussi faire appel directement à des fon- ctions (XBIOS,BIOS,GEMDOS,AES,VDI...) en fournissant les paramètres nécessaires. - L'ASSEMBLEUR 68000 travaille en deux modes différents: Le mode Utilisateur: une zone de mémoire réservée est disponible au programmeur. Le mode Superviseur: Le programmeur a accès à toutes les instructions et toute la mémoire. - L'ASSEMBLEUR est trés spécifique : on ne programme pas en Assem- bleur Z80 sur AMSTRAD CPC comme sur ATARI ST en Assembleur 68000. -------------------------------------------------------------------- Toutes ces notions seront définies en profondeur plus tard: Pas de Panique ! -------------------------------------------------------------------- *** POURQUOI PROGRAMMER EN ASSEMBLEUR ? *** ------------------------------------------- - Qui d'entre vous ne rève pas de pouvoir égaler ou surpasser les programmeurs de vos jeux favoris ?? Exp: OVERLANDER et PANDORA ont été programmés avec DEVPAC II et 95% des bons jeux sur ST sont écris en Assembleur. - Dans certains cas L'ASSEMBLEUR peut ètre 100 fois plus rapide que GFA BASIC... - Si vous programmez en BASIC , vous ne disposerez que des intru- ctions propres à l'utilitaire tandis qu'en ASSEMBLEUR vous dis- posez d'une centaine de fonctions directement utilisables et d'un jeu d'instructions qui vous permettera de diriger chaque opération avec une précision et une rapidité inégalable. - L'ASSEMBLEUR est très spécifique car il varie selon le MICRO- PROCESSEUR (le 'cerveau' de votre ordi.). L'ATARI ST est équipé du Microprocesseur MC 68000 (de Motorola) :Donc on programme en Assembleur 68000 sur ST... Un AMSTRAD CPC est équipé d'un microprocesseur Z80,différent du MC 68000 sur beaucoup de points.Ceci explique les différences de performances, et de programmation entre ces 2 ordinateurs. - Mais aujourd'hui, on trouve des ordinateurs équipés de Micoproces- seurs de la famille du MC 68000: les 68008,68010,68012... Un expemple: L'AMIGA possède aussi un micoprocesseur MC 68000. Il vous sera donc assez aisé de vous adapter à la programmation en assembleur sur ces (nouveaux) ordinateurs. Les microprocesseurs de la famille 68000 ont donc encore de beaux jours devant eux... ( contrairement au Z80 par exemple, qui est totalement dépassé ) -------------- Voilà pour la partie théorique, mais maintenant passons aux choses sérieuses... Laurent PIECHOCKI 8, impasse Bellevue suite dans : NR#2.DOC 57980 TENTELING --------
Back to ASM_Tutorial