★ CODING ★ CLASSEURS WEKA ★ Comment exploiter toutes les ressources et augmenter les performances de votre AMSTRAD CPC ★ |
4/2.9 - Les RSX (11e Complément) | Coding Classeurs Weka |
4/2 - Assembleur Z80 : Définitions et rappels de base4/2.9 Les RSX Les RSX (Resident System extension), en d'autres termes Extensions résidentes dans le système permettent d'augmenter le nombre d'instructions du langage Basic. Les instructions classiques du Basic (PRINT, INPUT, GOTO, etc.) sont dites internes. Lorsqu'une instruction interne est rencontrée par l'interpréteur Basic pendant l'exécution d'un programme, il parcourt la table des instructions. Si cette instruction s'y trouve, l'interpréteur donne le contrôle à une adresse bien précise en mémoire (qui dépend bien évidemment de l'instruction). Si elle ne se trouve pas dans la table, une erreur est générée. Les RSX (aussi appelées commandes externes) sont représentées par un mot clé précédé d'une barre verticale (! de code ASCII 124). Cette barre est obtenue sur le clavier en appuyant simultanément sur les touches Shift et Arrobas. Lorsqu'une instruction externe est rencontrée par l'interpréteur Basic pendant l'exécution d'un programme, il parcourt une partie de la mémoire RAM pour localiser son adresse de traitement. Le message « UNKNOW COMMAND » est affiché si la RSX n'a pas été définie. Pour définir une RSX, vous devez procéder selon les trois étapes suivantes :
Déclaration d'une RSX Pour déclarer une RSX, vous devez utiliser la macro KL LOG EXT du firmware (adresse &BCD1 ). Cette macro demande l'initialisation de deux registres en entrée (Partie 4, Chap. 2.7, p. 54) :
Dans cette courte introduction, nous allons définir une RSX dont le but sera triple :
Nous allons donner le nom « CLC » à cette RSX. Sa déclaration se fera à l'aide des instructions Assembleur suivantes :
Définition de la syntaxe de la RSX La syntaxe de la RSX est définie dans une table. Chaque dernière lettre des mots de la table a son bit 7 à 1. Le dernier mot de la table est suivi d'un octet nul. Dans notre exemple, la table aura la présentation suivante : TABLE : EQU $Définition du programme de traitement de la RSX |
|
Le programme complet de définition et de traitement de la RSX est le suivant :
Comme toujours, voici la version « chargeur Basic » du programme Assembleur :
Les codes de checksum correspondants sont les suivants :
|CLC,0,0,1 — Mode 0, fond noir, encre bleue.
|CLC, 1,2,1 — Mode 1, fond bleu, encre bleu vif.
|CLC,2,10,24 — Mode 2, fond turquoise, encre jaune vif.
Page précédente : 4/2.8 - Les instructions RESTART des CPC |
|
Page créée en 540 millisecondes et consultée 281 fois L'Amstrad CPC est une machine 8 bits à base d'un Z80 à 4MHz. Le premier de la gamme fut le CPC 464 en 1984, équipé d'un lecteur de cassettes intégré il se plaçait en concurrent du Commodore C64 beaucoup plus compliqué à utiliser et plus cher. Ce fut un réel succès et sorti cette même années le CPC 664 équipé d'un lecteur de disquettes trois pouces intégré. Sa vie fut de courte durée puisqu'en 1985 il fut remplacé par le CPC 6128 qui était plus compact, plus soigné et surtout qui avait 128Ko de RAM au lieu de 64Ko. |