LISTING4.TXT/fr: Difference between revisions

From Atari Wiki
Jump to navigation Jump to search
No edit summary
(Replacing content with updated version)
 
(2 intermediate revisions by 2 users not shown)
Line 1: Line 1:
  +
{{Languages|LISTING4.TXT}}
 
<pre>
 
<pre>
 
**********************************************************************
 
**********************************************************************
Line 4: Line 5:
 
* 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) *
 
* *
 
* *
* Seconde s�rie *
+
* Seconde série *
 
* *
 
* *
* Listing num�ro 4 *
+
* Listing numéro 4 *
 
**********************************************************************
 
**********************************************************************
 
* Automodification de programme
 
* Automodification de programme
INCLUDE "B:\START.S" routine de d�marrage
+
INCLUDE "B:\START.S" routine de démarrage
MOVE.L #MESSAGE1,-(SP) on pr�sente
+
MOVE.L #MESSAGE1,-(SP) on présente
 
MOVE.W #9,-(SP) le programme
 
MOVE.W #9,-(SP) le programme
 
TRAP #1
 
TRAP #1
Line 21: Line 22:
 
CMP.W #" ",D0 espace ?
 
CMP.W #" ",D0 espace ?
 
BEQ FIN oui donc bye bye
 
BEQ FIN oui donc bye bye
MOVE.W #$4E71,VARIANTE place un NOP (par d�faut)
+
MOVE.W #$4E71,VARIANTE place un NOP (par défaut)
 
CMP.W #"A",D0 appui sur 'A'?
 
CMP.W #"A",D0 appui sur 'A'?
 
BNE ICI non
 
BNE ICI non
 
BSR ROUTINE oui donc sub-routine longue
 
BSR ROUTINE oui donc sub-routine longue
 
BRA DEBUT et on recommence
 
BRA DEBUT et on recommence
ICI MOVE.W #$4E75,VARIANTE place un RTS la place
+
ICI MOVE.W #$4E75,VARIANTE place un RTS à la place
BSR ROUTINE du NOP et va sub-routine
+
BSR ROUTINE du NOP et va à sub-routine
 
BRA DEBUT puis recommence
 
BRA DEBUT puis recommence
   
Line 57: Line 58:
 
PILE DS.L 1
 
PILE DS.L 1
 
END
 
END
  +
 
</pre>
 
</pre>
 
Back to [[ASM_Tutorial]]
 
Back to [[ASM_Tutorial]]

Latest revision as of 00:52, 17 December 2023

**********************************************************************
*                                                                    *
*               COURS D'ASSEMBLEUR 68000 SUR ATARI ST                *
*                                                                    *
*                   par Le Féroce Lapin (from 44E)                   *
*                                                                    *
*                           Seconde série                            *
*                                                                    *
*                         Listing  numéro 4                          *
**********************************************************************
* Automodification de programme
         INCLUDE   "B:\START.S"      routine de démarrage
         MOVE.L    #MESSAGE1,-(SP)   on présente
         MOVE.W    #9,-(SP)          le programme
         TRAP      #1
         ADDQ.L    #6,SP
DEBUT    MOVE.W    #7,-(SP)          attend un appui touche
         TRAP      #1
         ADDQ.L    #2,SP
         CMP.W     #" ",D0           espace ?
         BEQ       FIN               oui donc bye bye
         MOVE.W    #$4E71,VARIANTE   place un NOP (par défaut)
         CMP.W     #"A",D0           appui sur 'A'?
         BNE       ICI               non
         BSR       ROUTINE           oui donc sub-routine longue
         BRA       DEBUT             et on recommence
ICI      MOVE.W    #$4E75,VARIANTE   place un RTS à la place
         BSR       ROUTINE           du NOP et va à sub-routine
         BRA       DEBUT             puis recommence

FIN      MOVE.W    #0,-(SP)
         TRAP      #1
*--------------------------------------------*
ROUTINE  MOVE.L    #MESSAGE2,-(SP)
         MOVE.W    #9,-(SP)
         TRAP      #1
         ADDQ.L    #6,SP
VARIANTE NOP
         MOVE.L    #MESSAGE3,-(SP)
         MOVE.W    #9,-(SP)
         TRAP      #1
         ADDQ.L    #6,SP
         RTS
*--------------------------------------------*
         SECTION DATA
MESSAGE1 DC.B      27,"E","A pour un grand message,",13,10
         DC.B      "espace pour sortir, autre touche",13,10
         DC.B      "pour un message plus court",13,10,0
         EVEN
MESSAGE2 DC.B      13,10,"Voila le petit message...",0
         EVEN
MESSAGE3 DC.B      "Oups, non, c'est le long!!!",0
         EVEN
         SECTION BSS
         DS.L      100
PILE     DS.L      1
         END

Back to ASM_Tutorial