LIST 1 7.TXT: Difference between revisions

From AtariForumWiki
Jump to navigation Jump to search
>Zorro 2
(Created page with "<pre> **************************************************************************** * * * CO...")
 
>Zorro 2
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‚roce Lapin (from 44E)                       *
  *                 par Le F‚roce Lapin (from 44E)                 *
*                                                                         *
  *                                                               *
*                 Listing num‚ro 3 / Cours num‚ro 7                     *
  *               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]]
[[Category: ASSEMBLEUR 68000 sur ATARI ST Part 1 ]]
[[Category: ASSEMBLEUR 68000 sur ATARI ST Part 1 ]]

Latest revision as of 10:36, 22 December 2016

  ******************************************************************
  *                                                                *
  *             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