LIST 1 7.TXT/fr: Difference between revisions

From Atari Wiki
Jump to navigation Jump to search
(Created page with "<pre> **************************************************************************** * * * CO...")
 
No edit summary
Line 1: Line 1:
 
<pre>
 
<pre>
−
****************************************************************************
+
******************************************************************
−
* *
+
* *
−
* COURS D'ASSEMBLEUR 68000 SUR ATARI ST *
+
* COURS D'ASSEMBLEUR 68000 SUR ATARI ST *
−
* *
+
* *
−
* par Le F
+
* par Le F
−
* *
+
* *
−
* Listing num
+
* Listing num
−
* *
+
* *
−
****************************************************************************
+
******************************************************************
  +
  +
DEBUT MOVE.L #MENU,-(SP) passe adresse phrase
 
MOVE.W #9,-(SP) num
  +
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
  +
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]]

Revision as of 15:36, 22 December 2016


Back to ASM_Tutorial