LIST 1 7.TXT/fr: Difference between revisions

From Atari Wiki
Jump to navigation Jump to search
(Created page with "<pre> **************************************************************************** * * * CO...")
 
(Replacing content with updated version)
 
(4 intermediate revisions by 3 users not shown)
Line 1: Line 1:
  +
{{Languages|LIST 1 7.TXT}}
 
<pre>
 
<pre>
−
****************************************************************************
+
******************************************************************
−
* *
+
* *
−
* COURS D'ASSEMBLEUR 68000 SUR ATARI ST *
+
* COURS D'ASSEMBLEUR 68000 SUR ATARI ST *
−
* *
+
* *
−
* par Le F
+
* par Le Féroce Lapin (from 44E) *
−
* *
+
* *
−
* Listing num
+
* Listing numéro 1 / Cours numéro 7 *
−
* *
+
* *
−
****************************************************************************
+
******************************************************************
  +
  +
DEBUT MOVE.L #MENU,-(SP) passe adresse phrase
  +
MOVE.W #9,-(SP) numéro fonction
  +
TRAP #1 appel Gemdos
  +
ADDQ.L #6,SP correction pile
  +
  +
* attente appui touche
  +
MOVE.W #7,-(SP) fonction numéro 7
  +
TRAP #1 du gemdos
  +
ADDQ.L #2,SP correction pile
  +
  +
* test du résultat
  +
CMP.W #"Q",D0 q majuscule ?
 
BEQ QUITTER oui, bye bye
  +
CMP.W #"q",D0 q minuscule ?
  +
BEQ QUITTER oui, bye bye
  +
CMP.W #"V",D0 v majuscule ?
  +
BEQ AFFICHAGE oui -> affiche le message
  +
CMP.W #"v",D0 V minuscule ?
  +
BNE DEBUT non. On a donc une autre lettre
  +
* comme réponse. Ce n'est pas valable donc on recommence au début
  +
 
AFFICHAGE MOVE.L #MESSAGE,-(SP) adresse de 'coucou'
  +
MOVE.W #9,-(SP) numéro fonction
  +
TRAP #1 appel Gemdos
  +
ADDQ.L #6,SP correction pile
 
* On attend un appui sur une touche pour contempler
 
MOVE.W #7,-(SP)
 
TRAP #1
 
ADDQ.L #2,SP
  +
BRA DEBUT retour au début
  +
 
QUITTER MOVE.W #0,-(SP)
 
TRAP #1
  +
 
SECTION DATA
  +
 
MENU DC.B 27,"E",27,"p"
  +
DC.B "QUITTER (Q) OU VOIR LE MESSAGE (V) ?"
  +
DC.B 27,"q",13,10,0
  +
EVEN
  +
MESSAGE DC.B "COUCOU",0
   
−
* Efface l'‚cran en affichant escape+E avec gemdos 9
 
MOVE.L #CLS,-(SP)
 
MOVE.W #9,-(SP)
 
TRAP #1
 
−
ADDQ.L #6,SP
 
−
 
−
MOVEA.L #TXT_FINAL,A6 adresse du txt_final dans A6
 
−
PROCHAINE MOVE.B #255,LETTRE initialise la lettre
 
−
ADD.B #1,COLONE et change de colone
 
−
MOVE.B (A6)+,D6 pr‚l‚ve une lettre et pointe la suivante
 
−
CMP.B #0,D6 fin du text … afficher ?
 
BEQ FIN oui -> fin
 
−
 
AFFICHAGE MOVE.L #TXT,-(SP) affiche la lettre
 
−
MOVE.W #9,-(SP) gemdos 9 car la lettre est incluse
 
−
TRAP #1 dans un phrase (escape+Y...)
 
−
ADDQ.L #6,SP
 
−
 
−
CMP.B LETTRE,D6 cette lettre c'‚tait la bonne ?
 
−
BEQ PROCHAINE oui donc on passe … la suivante
 
−
 
−
SUB.B #1,LETTRE non donc on recommence
 
−
BRA AFFICHAGE
 
−
 
FIN MOVE.W #7,-(SP) attend un appui sur une touche
 
TRAP #1
 
ADDQ.L #2,SP
 
−
 
−
MOVE.W #0,-(SP) et bye bye!
 
−
TRAP #1
 
−
*----------------------------------------------*
 
SECTION DATA
 
CLS DC.B 27,"E",0
 
−
EVEN
 
−
TXT DC.B 27,"Y",42
 
−
COLONE DC.B 42
 
−
LETTRE DC.B 0,0
 
−
TXT_FINAL DC.B "FEROCE LAPIN",0
 
 
</pre>
 
</pre>
 
Back to [[ASM_Tutorial]]
 
Back to [[ASM_Tutorial]]

Latest revision as of 00:36, 17 December 2023

  ******************************************************************
  *                                                                *
  *             COURS D'ASSEMBLEUR 68000 SUR ATARI ST              *
  *                                                                *
  *                 par Le Féroce Lapin (from 44E)                 *
  *                                                                *
  *               Listing numéro 1 / Cours numéro 7                *
  *                                                                *
  ******************************************************************

  DEBUT         MOVE.L    #MENU,-(SP)    passe adresse phrase
                MOVE.W    #9,-(SP)       numéro fonction
                TRAP      #1             appel Gemdos
                ADDQ.L    #6,SP          correction pile

  * attente appui touche
                MOVE.W    #7,-(SP)       fonction numéro 7
                TRAP      #1             du gemdos
                ADDQ.L    #2,SP          correction pile

  * test du résultat
                CMP.W     #"Q",D0        q majuscule ?
                BEQ       QUITTER        oui, bye bye
                CMP.W     #"q",D0        q minuscule ?
                BEQ       QUITTER        oui, bye bye
                CMP.W     #"V",D0        v majuscule ?
                BEQ       AFFICHAGE      oui -> affiche le message
                CMP.W     #"v",D0        V minuscule ?
                BNE       DEBUT          non. On a donc une autre lettre
  * comme réponse. Ce n'est pas valable donc on recommence au début

  AFFICHAGE     MOVE.L    #MESSAGE,-(SP) adresse de 'coucou'
                MOVE.W    #9,-(SP)       numéro fonction
                TRAP      #1             appel Gemdos
                ADDQ.L    #6,SP          correction pile
  * On attend un appui sur une touche pour contempler
                MOVE.W    #7,-(SP)
                TRAP      #1
                ADDQ.L    #2,SP
                BRA       DEBUT          retour au début

  QUITTER       MOVE.W    #0,-(SP)
                TRAP      #1

      SECTION DATA

  MENU          DC.B 27,"E",27,"p"
                DC.B "QUITTER (Q) OU VOIR LE MESSAGE (V) ?"
                DC.B 27,"q",13,10,0
                EVEN
  MESSAGE       DC.B "COUCOU",0

Back to ASM_Tutorial