LISTING4.TXT/fr
Jump to navigation
Jump to search
**********************************************************************
* *
* 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