Pl INSTRUC3.DOC/fr: Difference between revisions

From Atari Wiki
Jump to navigation Jump to search
m (Added category)
mNo edit summary
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  +
{{Languages|Pl INSTRUC3.DOC}}
 
<pre>
 
<pre>
   
Line 7: Line 8:
 
-----------------
 
-----------------
   
L'op‚rande source de Link est un registre d'adresse an, l'op‚rande
+
L'opérande source de Link est un registre d'adresse an, l'opérande
destination est du type 'imm‚diat' et est un MOT sign‚.
+
destination est du type 'immédiat' et est un MOT signé.
   
 
LINK .EMPILE le contenu de an (l-m) dans la pile système.
 
LINK .EMPILE le contenu de an (l-m) dans la pile système.
(SP est donc d‚cr‚ment‚ de 4 unit‚s)
+
(SP est donc décrémenté de 4 unités)
   
 
.La valeur de SP (qui pointe donc le l-m=à an) est ensuite
 
.La valeur de SP (qui pointe donc le l-m=à an) est ensuite
plac‚e dans an.
+
placée dans an.
   
.Le d‚placement sign‚ est ajout‚ à SP:
+
.Le déplacement signé est ajouté à SP:
Ceci a pour effet d'incr‚menter (#BBB>0) ou de d‚cr‚menter SP
+
Ceci a pour effet d'incrémenter (#BBB>0) ou de décrémenter SP
 
(#BBB<0).
 
(#BBB<0).
   
Link permet donc de r‚server une certaine place dans la pile système.
+
Link permet donc de réserver une certaine place dans la pile système.
(Pour y placer des donn‚es qui ne doivent pas ˆtre effac‚es par exp)
+
(Pour y placer des données qui ne doivent pas ˆtre effacées par exp)
   
Le CCR n'est pas affect‚.
+
Le CCR n'est pas affecté.
 
---
 
---
 
 
Line 35: Line 36:
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
Après -(SP),a0>|XXXXXXXX|XXXXXXXX|<-- on a pos‚ (-(SP) ) le L-M de a0
+
Après -(SP),a0>|XXXXXXXX|XXXXXXXX|<-- on a posé (-(SP) ) le L-M de a0
 
|XXXXXXXX|XXXXXXXX| et on a mis la valeur de cet SP
 
|XXXXXXXX|XXXXXXXX| et on a mis la valeur de cet SP
SP au d‚but -->|--------|--------| dans a0
+
SP au début -->|--------|--------| dans a0
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
 
SP après avoir>|--------|--------|
 
SP après avoir>|--------|--------|
incr‚ment‚ (SP)|--------|--------|
+
incrémenté (SP)|--------|--------|
   
   
Line 50: Line 51:
 
-----------------
 
-----------------
   
L'op‚rande source de Link est un registre d'adresse an.
+
L'opérande source de Link est un registre d'adresse an.
   
 
UNLK .Charge la valeur de an dans SP:
 
UNLK .Charge la valeur de an dans SP:
(SP est donc d‚cr‚ment‚ ou incr‚ment‚)
+
(SP est donc décrémenté ou incrémenté)
   
.Le L-M point‚ par cet SP est ensuite charg‚ dans an.
+
.Le L-M pointé par cet SP est ensuite chargé dans an.
(SP est donc incr‚ment‚ de 4 unit‚s)
+
(SP est donc incrémenté de 4 unités)
 
 
 
 
Line 68: Line 69:
   
 
La pile système resemblera à cela si on reprend l'exemple
 
La pile système resemblera à cela si on reprend l'exemple
d'utilisation de LINK pr‚c‚dent:
+
d'utilisation de LINK précédent:
   
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
 
|--------|--------|
Après a0,(SP) >|XXXXXXXX|XXXXXXXX|<-- on a charg‚ SP avec an et on a pos‚
+
Après a0,(SP) >|XXXXXXXX|XXXXXXXX|<-- on a chargé SP avec an et on a posé
|XXXXXXXX|XXXXXXXX| le L-M point‚ par cet SP dans a0
+
|XXXXXXXX|XXXXXXXX| le L-M pointé par cet SP dans a0
 
SP àprès UNLK->|--------|--------| ( (SP)+,a0)
 
SP àprès UNLK->|--------|--------| ( (SP)+,a0)
 
|--------|--------|
 
|--------|--------|
Line 100: Line 101:
 
 
 
 
Le CCR n'est pas influenc‚.
+
Le CCR n'est pas influencé.
 
---
 
---
 
 
Line 117: Line 118:
 
RESET
 
RESET
 
-----
 
-----
Provoque la mise à z‚ro des circuits externes du microprocesseur en
+
Provoque la mise à zéro des circuits externes du microprocesseur en
 
envoyant un signal à la broche RESET du 68000.
 
envoyant un signal à la broche RESET du 68000.
 
 
C'est une instruction privil‚gi‚e elle aussi, Il faudra donc veiller
+
C'est une instruction privilégiée elle aussi, Il faudra donc veiller
 
à ce qu'on soit en mode SUPERVISEUR pour s'en servir...
 
à ce qu'on soit en mode SUPERVISEUR pour s'en servir...
   
Le CCR n'est pas modifi‚ par RESET.
+
Le CCR n'est pas modifié par RESET.
 
---
 
---
   
 
STOP #BBB
 
STOP #BBB
 
-------------
 
-------------
L'op‚rande #BBB est ‚tendue sur un mot et charg‚e dans le SR.
+
L'opérande #BBB est étendue sur un mot et chargée dans le SR.
   
 
Le PC pointe sur l'instruction suivante, mais le processeur
 
Le PC pointe sur l'instruction suivante, mais le processeur
cesse toute activit‚.
+
cesse toute activité.
   
L'activit‚ peut cependant reprendre quand un RESET externe ou une
+
L'activité peut cependant reprendre quand un RESET externe ou une
 
exception TRACE (Mise à 1 du bit T du CCR) se produit.
 
exception TRACE (Mise à 1 du bit T du CCR) se produit.
 
 
C'est une instruction privil‚gi‚e elle aussi, Il faudra donc veiller
+
C'est une instruction privilégiée elle aussi, Il faudra donc veiller
 
à ce qu'on soit en mode SUPERVISEUR pour s'en servir...
 
à ce qu'on soit en mode SUPERVISEUR pour s'en servir...
 
 
Line 144: Line 145:
   
 
RTE indique la fin de l'execution d'un programme d'interruption,
 
RTE indique la fin de l'execution d'un programme d'interruption,
elle d‚pile de la pile sytème un MOT qu'elle place dans SR et
+
elle dépile de la pile sytème un MOT qu'elle place dans SR et
 
un L-M qu'elle place dans le PC.
 
un L-M qu'elle place dans le PC.
   
RTE sera d‚taill‚e dans le chapitre conscrenant les programmes
+
RTE sera détaillée dans le chapitre conscrenant les programmes
 
sous interruption.
 
sous interruption.
   
Line 155: Line 156:
 
-----------
 
-----------
   
L'op‚rande source est du type 'imm‚diat' (0<= #BBB <=15).
+
L'opérande source est du type 'immédiat' (0<= #BBB <=15).
   
 
TRAP entraine l'execution d'une exception à partir d'instructions
 
TRAP entraine l'execution d'une exception à partir d'instructions
situ‚es dans une zone privil‚gi‚e de la m‚moire.
+
situées dans une zone privilégiée de la mémoire.
   
 
En pratique, TRAP permet d'appeler les fonctions du BIOS,XBIOS et du
 
En pratique, TRAP permet d'appeler les fonctions du BIOS,XBIOS et du
 
GEMDOS.
 
GEMDOS.
   
Nous verons comment dans le chapitre qui d‚crit ces fonctions très
+
Nous verons comment dans le chapitre qui décrit ces fonctions très
 
utiles...
 
utiles...
 
 
Line 170: Line 171:
 
TRAPV
 
TRAPV
 
-----
 
-----
Si le bit V du CCR est à 1 (d‚bordement), TRAPV provoque l'‚xecution
+
Si le bit V du CCR est à 1 (débordement), TRAPV provoque l'éxecution
d'une proc‚dure d'exception
+
d'une procédure d'exception
   
 
(Voir la table des vecteurs d'exception plus loin...)
 
(Voir la table des vecteurs d'exception plus loin...)
Line 180: Line 181:
   
 
CHK regarde si le nombre contenu dans dn appartient à l'intervalle
 
CHK regarde si le nombre contenu dans dn appartient à l'intervalle
ferm‚: [0,source]
+
fermé: [0,source]
   
 
Si celui-ci n'appartient pas à cet intervalle, il y a execution d'une
 
Si celui-ci n'appartient pas à cet intervalle, il y a execution d'une
proc‚dure d'exception, sinon le programme continue normalement.
+
procédure d'exception, sinon le programme continue normalement.
   
Les modes d'adressage autoris‚s pour l'op‚rande source sont:
+
Les modes d'adressage autorisés pour l'opérande source sont:
 
------
 
------
 
dn
 
dn
Line 199: Line 200:
 
d(pc,rn)
 
d(pc,rn)
   
Seul le bit N du CCR est modifi‚ par CHK (suivant le signe de dn)
+
Seul le bit N du CCR est modifié par CHK (suivant le signe de dn)
 
---
 
---
   
Line 206: Line 207:
 
------------------
 
------------------
 
 
L'op‚rande destination est une adresse qui pointe sur un OCTET.
+
L'opérande destination est une adresse qui pointe sur un OCTET.
   
TAS teste cet OCTET, les bits N et Z du CCR sont positionn‚s en
+
TAS teste cet OCTET, les bits N et Z du CCR sont positionnés en
cons‚quence,puis le MSB de l'octet est mis à 1.
+
conséquence,puis le MSB de l'octet est mis à 1.
   
Les modes d'adressage admis par l'op‚rande destination sont:
+
Les modes d'adressage admis par l'opérande destination sont:
 
-----------
 
-----------
 
dn
 
dn
Line 223: Line 224:
   
   
Cette m‚thode de Test particulière est utilis‚e par un processeur qui
+
Cette méthode de Test particulière est utilisée par un processeur qui
veut accèder à une ressource ( imprimante par exp ) et qui v‚rifie si
+
veut accèder à une ressource ( imprimante par exp ) et qui vérifie si
 
celle-ci est disponible:
 
celle-ci est disponible:
On d‚signe l'‚tat de la ressource par UN SEMAPHORE, si il est à 0, la
+
On désigne l'état de la ressource par UN SEMAPHORE, si il est à 0, la
ressource est disponible, si il est n‚gatif (MSB=1),la ressource est
+
ressource est disponible, si il est négatif (MSB=1),la ressource est
occup‚e.
+
occupée.
Le processeur fait donc un TAS au s‚maphore qui convient avant
+
Le processeur fait donc un TAS au sémaphore qui convient avant
 
d'accèder à une ressource.
 
d'accèder à une ressource.
   
Line 238: Line 239:
 
Comme son nom l'indique, NOP n'a pas d'action particulière.
 
Comme son nom l'indique, NOP n'a pas d'action particulière.
   
NOP a par contre une taille d'1 MOT en m‚moire et dure 4 p‚riodes
+
NOP a par contre une taille d'1 MOT en mémoire et dure 4 périodes
 
d'horloge externe.
 
d'horloge externe.
   
Elle sera par exemple utilis‚e pour ajuster le temps d'‚xecution
+
Elle sera par exemple utilisée pour ajuster le temps d'éxecution
 
de certaines boucles dans des programmes sous interruption...
 
de certaines boucles dans des programmes sous interruption...
   
Line 256: Line 257:
 
 
 
Il vous sera inutile d'apprendre tout ça par coeur, faites vous une
 
Il vous sera inutile d'apprendre tout ça par coeur, faites vous une
petite fiche r‚capitulative par exemple, inutile de vous dire que
+
petite fiche récapitulative par exemple, inutile de vous dire que
 
c'est à ce chapitre que vous ferez le plus souvent appel quand votre
 
c'est à ce chapitre que vous ferez le plus souvent appel quand votre
m‚moire fera d‚faut, mais c'est bien normal, le contraire serait
+
mémoire fera défaut, mais c'est bien normal, le contraire serait
‚tonnant !
+
étonnant !
   
Le chapitre suivant sera consacr‚ aux fonctions du GEMDOS,BIOS et
+
Le chapitre suivant sera consacré aux fonctions du GEMDOS,BIOS et
 
XBIOS.
 
XBIOS.
   
Line 267: Line 268:
 
de ces instructions, alors pas de panique.
 
de ces instructions, alors pas de panique.
   
Si la tˆte vous tourne ‚teignez votre ST et allez vous coucher ,avez
+
Si la tˆte vous tourne éteignez votre ST et allez vous coucher ,avez
vous dejà oubli‚ mon conseil ?
+
vous dejà oublié mon conseil ?
   
 
LA QUALITE VAUT MIEUX QUE LA QUANTITE !!! et toc !
 
LA QUALITE VAUT MIEUX QUE LA QUANTITE !!! et toc !
Line 284: Line 285:
 
</pre>
 
</pre>
 
Back to [[ASM_Tutorial]]
 
Back to [[ASM_Tutorial]]
[[Category:Programming]]
+
[[Category: ASSEMBLEUR 68000 sur ATARI ST Part 1 ]]

Latest revision as of 12:59, 17 December 2023


    SUITE DU CHAPITRE SUR LES INSTRUCTIONS du fichier INSTRUC2.DOC    --------------------------------------------------------------


   LINK      an,#BBB
   -----------------

   L'opérande source de Link est un registre d'adresse an, l'opérande
   destination est du type 'immédiat' et est un MOT signé.

   LINK  .EMPILE le contenu de an (l-m) dans la pile système. 
          (SP est donc décrémenté de 4 unités)

         .La valeur de SP (qui pointe donc le l-m=à an) est ensuite
          placée dans an.

         .Le déplacement signé est ajouté à SP:
          Ceci a pour effet d'incrémenter (#BBB>0) ou de décrémenter SP
          (#BBB<0).

   Link permet donc de réserver une certaine place dans la pile système.
   (Pour y placer des données qui ne doivent pas ˆtre effacées par exp)

   Le CCR n'est pas affecté.
      ---
   
   Exemple d'utilisation:
   ----------------------
     LINK    a0,#12

     La pile système resemblera à cela:

               |--------|--------|
               |--------|--------|
               |--------|--------|
Après -(SP),a0>|XXXXXXXX|XXXXXXXX|<-- on a posé (-(SP) ) le L-M de a0
               |XXXXXXXX|XXXXXXXX|    et on a mis la valeur de cet SP
SP au début -->|--------|--------|    dans a0
               |--------|--------|
               |--------|--------|
               |--------|--------|
SP après avoir>|--------|--------|
incrémenté (SP)|--------|--------|




   UNLK           an
   -----------------

   L'opérande source de Link est un registre d'adresse an.

   UNLK  .Charge la valeur de an dans SP:
          (SP est donc décrémenté ou incrémenté)

         .Le L-M pointé par cet SP est ensuite chargé dans an.
          (SP est donc incrémenté de 4 unités)
 
 
   Unlk permet donc de redonner la valeur initiale à SP et au registre
   d'adresse 'an' d'avant Link.
   

   Exemple d'utilisation:
   ----------------------  
     UNLK    a0

     La pile système resemblera à cela si on reprend l'exemple
     d'utilisation de LINK précédent:

               |--------|--------|
               |--------|--------|
               |--------|--------|
Après a0,(SP) >|XXXXXXXX|XXXXXXXX|<-- on a chargé SP avec an et on a posé
               |XXXXXXXX|XXXXXXXX|    le L-M pointé par cet SP dans a0
SP àprès UNLK->|--------|--------|    ( (SP)+,a0)
               |--------|--------|
               |--------|--------|
               |--------|--------|
SP après LINK->|--------|--------|
               |--------|--------|


    
   MOVE   USP,an
   -------------  
   ou

   MOVE   an,USP
   -------------

   Permet de sauvegarder le pointeur de pile système utilisateur ( User
   Stack Pointer ) dans un registre d'adresse 'an' pour la 1° forme.

   ou

   Permet de charger un registre d'adresse 'an' dans le pointeur de pile
   système pour la 2° forme.
 
   
   Le CCR n'est pas influencé.
      ---
   
   Exemple d'utilisation:
   ----------------------  
   MOVE  USP,a0
  
   a0 contiendra la valeur de USP.


   NB: Cette instruction est une instruction PRIVILEGIEE:
   --- Elle n'est donc que utilisable en mode SUPERVISEUR.



   RESET
   -----
   Provoque la mise à zéro des circuits externes du microprocesseur en
   envoyant un signal à la broche RESET du 68000.
   
   C'est une instruction privilégiée elle aussi, Il faudra donc veiller
   à ce qu'on soit en mode SUPERVISEUR pour s'en servir...

   Le CCR n'est pas modifié par RESET.
      ---

   STOP     #BBB
   -------------
   L'opérande #BBB est étendue sur un mot et chargée dans le SR.

   Le PC pointe sur l'instruction suivante, mais le processeur 
   cesse toute activité.

   L'activité peut cependant reprendre quand un RESET externe ou une
   exception TRACE (Mise à 1 du bit T du CCR) se produit.
   
   C'est une instruction privilégiée elle aussi, Il faudra donc veiller
   à ce qu'on soit en mode SUPERVISEUR pour s'en servir...
 

   RTE    (ReTurn from Exeption)
   ---   

   RTE indique la fin de l'execution d'un programme d'interruption,
   elle dépile de la pile sytème un MOT qu'elle place dans SR et
   un L-M qu'elle place dans le PC.

   RTE sera détaillée dans le chapitre conscrenant les programmes 
   sous interruption.



   TRAP   #BBB
   -----------

   L'opérande source est du type 'immédiat' (0<= #BBB <=15).

   TRAP entraine l'execution d'une exception à partir d'instructions
   situées dans une zone privilégiée de la mémoire.

   En pratique, TRAP permet d'appeler les fonctions du BIOS,XBIOS et du
   GEMDOS.

   Nous verons comment dans le chapitre qui décrit ces fonctions très
   utiles...    
  


   TRAPV
   -----
   Si le bit V du CCR est à 1 (débordement), TRAPV provoque l'éxecution
   d'une procédure d'exception

   (Voir la table des vecteurs d'exception plus loin...)


   CHK    source,dn
   ----------------

   CHK regarde si le nombre contenu dans dn appartient à l'intervalle
   fermé: [0,source]

   Si celui-ci n'appartient pas à cet intervalle, il y a execution d'une
   procédure d'exception, sinon le programme continue normalement.

   Les modes d'adressage autorisés pour l'opérande source sont:
                                                   ------
     dn
     BBBB
     BB
     #BBB
     (an)
     -(an)
     (an)+
     d(an)
     d(an,rn)
     d(pc)
     d(pc,rn)

   Seul le bit N du CCR est modifié par CHK (suivant le signe de dn)
                    ---


   TAS    destination
   ------------------
  
   L'opérande destination est une adresse qui pointe sur un OCTET.

   TAS teste cet OCTET, les bits N et Z du CCR sont positionnés en
   conséquence,puis le MSB de l'octet est mis à 1.

   Les modes d'adressage admis par l'opérande destination sont:
                                              -----------    
     dn
     BBBB
     BB
     (an)
     -(an)
     (an)+
     d(an)
     d(an,rn)


   Cette méthode de Test particulière est utilisée par un processeur qui
   veut accèder à une ressource ( imprimante par exp ) et qui vérifie si
   celle-ci est disponible:
   On désigne l'état de la ressource par UN SEMAPHORE, si il est à 0, la
   ressource est disponible, si il est négatif (MSB=1),la ressource est
   occupée.
   Le processeur fait donc un TAS au sémaphore qui convient avant 
   d'accèder à une ressource.


   
   NOP              (NO oPeration)
   ---
   Comme son nom l'indique, NOP n'a pas d'action particulière.

   NOP a par contre une taille d'1 MOT en mémoire et dure 4 périodes
   d'horloge externe.

   Elle sera par exemple utilisée pour ajuster le temps d'éxecution
   de certaines boucles dans des programmes sous interruption...




                         ----------------------
  
  Voilà pour les instructions du 68000!

  Relisez ce chapitre en entier chaque fois avant de vous coucher 
  pendant une semaine et tout ça finira bien par rentrer dans votre 
  tˆte...   
 
  Il vous sera inutile d'apprendre tout ça par coeur, faites vous une
  petite fiche récapitulative par exemple, inutile de vous dire que
  c'est à ce chapitre que vous ferez le plus souvent appel quand votre
  mémoire fera défaut, mais c'est bien normal, le contraire serait 
  étonnant !

  Le chapitre suivant sera consacré aux fonctions du GEMDOS,BIOS et 
  XBIOS.

  Les exemples qui vont illustrer ces fonctions reprendront certaines
  de ces instructions, alors pas de panique.

  Si la tˆte vous tourne éteignez votre ST et allez vous coucher ,avez
  vous dejà oublié mon conseil ?

  LA QUALITE VAUT MIEUX QUE LA QUANTITE !!! et toc !
  -------------------------------------


  PIECHOCKI Laurent
  8,impasse Bellevue               suite dans le fichier: GEMDOS.DOC
  57980 TENTELING                                         ----------  
  


 
  

Back to ASM_Tutorial