Befehlsübersicht - Zusammenfassung
Kennen Sie die Programme Hypra-Ass, Reassembler und SMON? Wenn ja, dann wird Ihnen die Befehlsübersicht bei der Arbeit mit diesen Programmen sehr hilfreich sein.
Selbst für den eingefleischten Profi ist es fast unmöglich alle Befehle von Hypra-Ass, Reassembler und SMON zujeder Zeit parat zu haben. Um aber diese Programme optimal zu nutzen, ist die Kenntnis aller Befehle und deren Wirkungsweise sehr wichtig. Die nun folgende Befehlsübersicht soll Ihnen das ewige Nachschlagen ersparen. Natürlich kann es sich bei einer Übersicht nicht um eine ausführliche Anleitung handeln. Bei Verständnisschwierigkeiten finden Sie nähere Informationen an den entsprechenden Stellen in den Artikeln.
(ak)Quickreferenz Reassembler
| P adresse | Einsprungspunkt durch Label markieren. |
| T adresse, adresse | Tabelle definieren. |
| E (byte) | Startet den Reassembler. Die einzelnen Bits des Bytes haben folgende Bedeutung: |
| Bit 0 gesetzt | Alle Zeropage-Adressen durch ein Label mit drei Buchstaben markieren. |
| Bit 1 gesetzt | Nach RTS, RTI, BRK, JMP Kommentarzeile einfügen. |
| Bit 2 gesetzt | Bei unmittelbarer Adressierung ASCII-Zeichen ausgeben. |
| Bit 3 gesetzt | Zwischen jede zweite Tabellenzeile Kommentarzeile einfügen. |
| Bit 4 gesetzt | Der ASCII-Ausdruck wird bei Tabellen unterdrückt. |
| Bit 5 gesetzt | Externe- und Tabellenlabel kennzeichnen. |
| Bit 6 gesetzt | Nach Tabellen suchen. |
| Bit 7 gesetzt | Speicherbereiche unter dem RAM reassemblieren. |
Quickreferenz Hypra-Ass
Editorbefehle von Hypra-Ass
| /A 100, 10 | Automatische Zeilennumerierung. (Startzeile, Schrittweite) |
| /O | RENEW eines Quelltextes. |
| /D 100-200 | Löschen von Zeilen und Zeilenbereichen. |
| /E 100-200 | Listen von Zeilen und Zeilenbereichen. |
| TO,13;T1,24;T2,0;T3,10 |
Setzen von Tabulatoren. T0 = Tabulator für Assemblerbefehle. T1 = Tabulator für den Kommentar. T2 = Anzahl Blanks am Anfang einer Ausgabezeile. T3 = Tabulator für Symboltabelle. |
| /X | Verlassen des Assemblers. |
| /P1,100,200 | Setzen eines Arbeitsbereichs (Page). |
| /ziffer (n) | Formatiertes Listen der Page. |
| /N1,100,10 | Neu durchnumerieren einer Page mit Startnummer und Schrittweite. |
| /F1,"string" | Suchen einer Zeichenkette in einer Page. |
| /R1,"string1","string2" | String 2 wird innerhalb einer Page durch String 1 ersetzt. |
| /U 9000 | Setzen des Quelltextstartes. |
| /B | Anzeige der aktuellen Speicherkonfiguration. |
| /S"name";/L"name";/V"name";/M"name" | Kurzform der Befehle SAVE, LOAD, VERIFY, MERGE. |
| /G9 | Geräteadresse des Floppy-Laufwerks auf 9 umstellen. |
| /I | Lesen des Inhaltsverzeichnisses. |
| /K | Lesen des Fehlerkanals. |
| /@ | Übermittlung von Diskettenbefehlen. |
| /CHO | Setzen der Hintergrundfarbe. |
| /CRO | Setzen der Rahmenfarbe. |
| /! | Ausgabe der Symboltabelle (unsortiert). |
| /!! | Ausgabe der Symboltabelle (sortiert). |
| Pseudo-Opcodes von Hypra-Ass | |
| .BA adresse | Definiert Startadresse des Maschinenprogramms. |
| .EQ label = wert | Weist einem Label einen Wert zu. |
| .GL label = wert | Weist einem globalen Label einen Wert zu. |
| .BY 1,2,"a" | Einfügen von Byte-Werten in den Quelltext. |
| .WO 1234,label | Einfügen von Adressen in den Quelltext. |
| .TX "text" | Einfügen von Textblöcken in den Quelltext. |
| .AP "file" | Verketten von Quelltexten. |
| .OB "file,p,w" | Senden des Objektcodes zur Floppy. |
| .EN | Schließen des Objektfiles. |
| .ON ausdruck,sprung | Bedingter Sprung, wenn Ausdruck wahr. |
| .GO sprung | Unbedingter Sprung. |
| .IF ausdruck | Fortführung der Assemblierung bei .EL, falls Ausdruck falsch. Ansonsten hinter .IF bis zu .EL oder .EI. |
| .EL | ELSE Alternative zu den Zeilen, die hinter .IF stehen. |
| .EI | Ende der IF-Konstruktion. |
| .CO var1,var2 | Übergabe von Labeln und Quelltext an nachgeladene Teile. |
| .MA makro (par1,par2) | Makrodefinitionszeile. |
| .RT | Ende der Makrodefinition. |
| ...makro (par1,par2) | Makroaufruf. |
| .LI lfn,dn,ba | Senden von formatierten Listings (entspricht OPEN-Befehl). |
| .SY lfn,dn,ba | Senden der formatierten Symboltabelle. |
| .ST | Beendet die Assemblierung. |
| .DP t0,t1,t2,t3 | Setzt die Tabulatoren aus dem Quelltext heraus. |
| A 4000 | Zeilenassembler Startadresse = $4000. |
| B 4000 4200 | Erzeugt Basic-DATA-Zeilen im Bereich $4000 bis $41FF |
| C 4010 4200 4013 4000 4200 |
Verschieben eines Programmes mit Adreßumrechnung. Entspricht W- und V-Befehl. |
| D 4000 (4100) | Disassembliert den Bereich von $4000 bis $4100 |
| F | findet Zeichenketten (F), absolute Adressen (FA), relative Sprünge (FR), Tabellen (FT), Zeropage-Adressen (FZ) und Immediate-Befehle (FI). |
| GO 4000 | Startet Maschinenprogramm (ab $4000) |
| IO 1 | Ein-/Ausgabegerät auf Datasette umstellen |
| K A000 (A100) | Im angegebenen Bereich nach ASCII-Zeichen suchen. |
| L"name" (4000) | Laden eines Programmes an die richtige (oder angegebene) Adresse |
| M 4000 (4100) | Gibt den Inhalt des angegebenen Speicherbereichs als Hex-Byte und ASCII-Zeichen aus. |
| O 4000 4100 12 | Füllt den angegebenen Bereich mit $12. |
| PO 5 | Setzt Drucker-Geräteadresse auf 5 |
| R | Registerinhalte anzeigen |
| S"name" 4000 4500 | Speichert ein Programm von $4000 bis $4FFF. |
| TW (4000) | Einzelschrittmodus. Mit »J« können Unterprogramme in Echtzeit ausgeführt werden. |
| TB 4010 (05) | Breakpoint setzen (nach dem 5. Durchlauf) |
| TQ 4000 | Schnellschrittmodus. Springt beim Erreichen eines Breakpoints in die Registeranzeige. |
| TS 4000 4020 | Arbeitet ein Programm ab $4000 in Echtzeit ab und springt beim Erreichen von $4020 in die Registeranzeige. |
| V 6000 6200 4000 4100 4200 |
Ändert alle absoluten Adressen $4000 bis $41FF, die sich auf den Bereich $6000 bis $6200 beziehen, auf den neuen Bereich $4000. |
| W 4000 4300 5000 | Verschiebt den Speicherinhalt von $4000 bis $42FF nach $5000. |
| X | Monitor verlassen. |
| # 49152 | Dezimal umrechnen |
| $ 002B | Vierstellige Hex-Zahl umrechnen. |
| % 01100100 | Achtstellige Binärzahl umrechnen. |
| ? 0344+5234 | Addition oder Subtraktion zweier vierstelliger Hex-Zahlen. |
| = 4000 5000 | Vergleicht den Speicherinhalt von $4000 bis $5000. |
| Z | Ruft den Diskettenmonitor auf (falls implementiert). Dieser verfügt über folgende Befehle |
| R (12 01) | Liest Track $12 Sektor $01. Fehlt die Angabe hinter »R«, wird der logisch nächste Sektor gelesen. |
| W (12 01) | Schreibt Track $12 Sektor $01 auf Diskette. Fehlt die Angabe hinter »W«, werden die letzten Angaben von »R« benutzt. |
| M | Zeigt den Pufferinhalt als Hex-Dump. |
| X | Rücksprung zum Monitor. |
| F | Weitere Diskettenbefehle initialisieren (falls implementiert). Sind die Befehle initialisiert, stehen folgende Befehle zur Verfügung. |
| M (07) | Memory-Dump (Floppy-RAM/ROM) ausgeben. |
| V 6000 0400 | Verschiebt einen 256-Byte-Block von $6000 ins Floppy-RAM nach $400. |
| @ | Normale Diskettenbefehle senden |
| X | Zurück in normalen Diskettenmonitor. |
| Ist die Erweiterung »Neues vom SMON« implementiert, stehen folgende Befehle zur Verfügung: | |
| Z 4000 (4100) | Gibt den Speicherinhalt von $4000 bis $40FF binär aus (ein Byte pro Zeile). |
| H 4000 (4100) | Gibt den Speicherbereich von $4000 bis $40FF binär aus (drei Byte pro Zeile). |
| N 4000 (4100) | Gibt den Speicherinhalt von $4000 bis $40FF im Bildschirmcode aus (32 Zeichen pro Zeile). |
| U 4000 (4100) | Wie »N« aber 40 Zeichen pro Zeile. Änderungen sind nicht möglich. |
| E 4000 (4100) | Füllt den Speicherbereich von $4000 bis $40FF mit $00. |
| Y 40 | Verschiebt den SMON nach $4000. |
| Q 2000 | Kopiert den Zeichensatz nach $2000. |
| J | Bringt letzten Ausgabebefehl zurück. |