LISTING4.TXT/fr: Difference between revisions
Jump to navigation
Jump to search
No edit summary |
No edit summary |
||
Line 4: | Line 4: | ||
* COURS D'ASSEMBLEUR 68000 SUR ATARI ST * |
* COURS D'ASSEMBLEUR 68000 SUR ATARI ST * |
||
* * |
* * |
||
− | * par Le |
+ | * par Le Féroce Lapin (from 44E) * |
* * |
* * |
||
− | * Seconde |
+ | * Seconde série * |
* * |
* * |
||
− | * Listing |
+ | * Listing numéro 4 * |
********************************************************************** |
********************************************************************** |
||
* Automodification de programme |
* Automodification de programme |
||
− | INCLUDE "B:\START.S" routine de |
+ | INCLUDE "B:\START.S" routine de démarrage |
− | MOVE.L #MESSAGE1,-(SP) on |
+ | 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 21: | ||
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 |
+ | 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 |
+ | ICI MOVE.W #$4E75,VARIANTE place un RTS à la place |
− | BSR ROUTINE du NOP et va |
+ | BSR ROUTINE du NOP et va à sub-routine |
BRA DEBUT puis recommence |
BRA DEBUT puis recommence |
||
Line 57: | Line 57: | ||
PILE DS.L 1 |
PILE DS.L 1 |
||
END |
END |
||
+ | |||
</pre> |
</pre> |
||
Back to [[ASM_Tutorial]] |
Back to [[ASM_Tutorial]] |
Revision as of 12:46, 24 November 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