★ APPLICATIONS ★ DIVERS ★ Happy Computer ★ |
RSX USR (Happy Computer) | Applications Divers |
Gläserne Firmware Ein RSX-Befehl — und schon kann jede Routine im Speicher des Schneiders problemlos untersucht werden. Wer kennt das Problem nicht? Man will eine Firmware-Routine kurz ausprobieren, muß aber verschiedene Register mit bestimmten Werten laden. Dies geht nur mit einem kleinen Maschinencode-Programm — oder mit dem RSX-Befehl »USR«. Als Parameter muß die Start-Adresse übergeben werden, damit die betreffende Routine ausgeführt wird. Dies kann man zwar auch mit dem Basic-Befehl »CALL Adresse« erreichen, aber dieser erlaubt es nicht, die Register des 280 zu laden. Die meisten Firmware-Programme arbeiten aber in Abhängigkeit dieser Register, so daß es zum Ausprobieren (und Kennenlernen) der Routinen wichtig ist, die Register zu manipulieren. Den »USR«-Befehl gibt es in zwei verschiedenen Formaten. Mit »IUSR,Adresse« wird eine Routine ohne vorheriges Setzen der Register abgearbeitet. Befindet sich die Adresse zwischen 4000 und BFFF hex, so liegt das Maschinenprogramm im RAM, in allen anderen Fällen (0000 bis 3FFF hex und C000 bis FFFF hex) im ROM. Nach Ende der Routine befindet sich der Computer wieder im normalen Eingabemodus. Mit »IUSR,Adresse,A,B,DE, HL,x« werden die Register A, B, DE und HL zuerst mit den übergebenen Werten geladen, bevor die Startadresse aufgerufen wird. In Abhängigkeit von der Variablen x werden die Registerwerte nach dem Bearbeiten der Routine ausgegeben (x=1) oder nicht (x=0). Ein Beispiel: »IUSR.&BB18« wartet auf einen Tastendruck. »|USR,&BB18,0, 0,0,0,1« wartet auf einen Tastendruck und gibt im Register A den ASCII-Wert der gedrückten Taste aus. Was für Werte in den Registern sinnvoll sind und welche Informationen zurückgegeben werden, das entnehmen Sie dem Firmware-Buch für den Schneider. Das Programm wird mit dem Basic-Lader installiert und beginnt bei Adresse A4CA hex.
|