LISTING4.TXT/fr
********************************************************************** * * * 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