- 01 -
Arbeitsblatt zum AC1 Editor/Assembler EDAS*4
--------------------------------------------
* Programmstart
-------------
Kaltstart: J 4000 aaaa eeee (CR)
J 4000 (CR) ; mit Vorzugseinstellung
des Editorpuffers
Warmstart: J 4003 (CR)
aaaa Anfang Editorpuffer eeee Ende Editorpuffer
* Abspeichern/Einlesen einer Quelle ( mit AC1 Monitor )
-----------------------------------------------------
S aaaa FREE aaaa name (CR) oder
S: name ; sofort nach Q !!! )
L oder L Offset+- ; dann Kaltstart mit arg1 - arg3 und Y
* Format einer Quellzeile
-----------------------
nnnn mmmmmm Befehl Operand(en) ; Kommentar
nnnn - Zeilennummer mmmmmm - Marke
* Kommandos des Editor/Assemblers
------------------------------
A a e Assembliere Quelle von Zeile a bis e
C a e x Quellzeilen verschieben (von a bis e nach x)
E Wechsel aktuelle Quelle <--> sec. Quelle
/string/ Eingabe einer Zeichenkette zum F - Kommando
F Suchen der angegebenen Zeichenkette
G Start des assemblierten Programms (--> ENT)
H h Setzen der Seitengroesse auf h (hex) Zeilen
I a s Zeileneingabe mit automatischer Nummerierung
J h Ausgabeverzoegerung auf dem Schirm (h 0...FF)
K h Ausgabeverzoegerung zum Drucker
M marke Anzeige des Quelltextes ab marke
N a s Erzeugen einer Luecke im Quelltext (s Zeilen)
O h Setzen von Optionen zum Assembler mit Maske h
+ h Ergaenze eine Option
- h Streiche eine Option
P hhhh Setze Offset fuer Assembler (ORG + hhhh)
Q Ruecksprung zum Monitor (arg1 - arg3 geladen)
R a s Neunumerierung der Quellzeilen
S a e Vereinbarung einer Zweitquelle
T a e x Einfuegen einer Zweitquelle (SEC)
V a e Anzeige des Quelltextes ab Zeilennummer
W a e Assemblieren wie A, nur Fehleranzeige
X a e Streichen von Zeile a bis e in der Quelle
Y Reaktivieren einer Quelle von Kassette
Z x Anzeige der Zeile x zur Korrektur
a - Anfangszeile e - Endzeile s - Schrittweite
x - Zielzeile h - Hexwert
Cursorsteuerung: CTRL-I --> CTRL-H <--
CTRL-E Einfuegen CTRL-S Streichen
CTRL-R <-- + Loeschen CTRL-T nnnn <--
CTRL-W spezieller Tabulator
- 02 -
* Optionen zum Assembler
----------------------
Bit 0 +01 Unterdruecke Assemblerliste
Bit 1 +02 Maschinencode zum Speicher
Bit 2 +04 Drucke Assemblerliste
Bit 4 +10 Aktiviere 2.Lauf bei Fehlern im 1.Lauf
Bit 5 +20 relative Sprungdistanz absolut (SYPS K1520)
Bit 7 +80 Ausgabe der Symboltabelle
* Pseudobefehle des Assemblers
----------------------------
DEFB arg,arg,... definiere Byte
arg:xx - dez; $xx o. xxH - hex; "x - ASCII
DEFW arg,arg,... definiere Wort (Doppelbyte)
DEFM "string" definiere Zeichenkette (ASCII)
DEFS n reserviere n Speicherplaetze
ORG n Zuweisung des Speicherplatzzaehlers
EQU n Vereinbarung eines Ausdrucks (Marke)
ENT Startadresse fuer G - Kommando
SKIP erzeuge Leerzeile in der Assemblerliste
$ (24H) Adresszaehlersymbol
n - Zahl (hex o. dez), Marke o. Ausdruck
* Fehlermeldungen
---------------
00 Speicherueberlauf, Editierpuffer voll
01 Zeilennummerueberlauf (groesser 9999)
02 Ueberlauf in I - Kommando ( groesser 9999)
03 Zeile existiert nicht
04 unzulaessiger G - Befehl (ENT nicht definiert)
05 Reaktivieren des Puffers nicht moeglich
06 Schrittweite 0
07 Zeilennummernbereich zu klein
08 unzulaessige Argumenteingabe
09 Zweitquelle nicht aktiviert
10 unzulaessige Befehlszeile(Marke oder Mnemonik)
20 unbekannte Mnemonik
21 Operand passt nicht zum Operationscode
22 Befehl mit Indexregistern nicht moeglich
23 Operand bzw. Distanz zu gross
24 zu viele Register
25 unzulaessige Operandenkombination
26 unzulaessiges Zeichen
27 unzulaessiger Operand
28 Klammer-Fehler
30 Marke nicht gefunden
31 Marke mehrfach definiert
40 falsche Assembleranweisung (Pseudo-Befehl)
41 unzulaessige Vorwaertsreferenz (bei EQU, ORG, DEFS)
61 erzeugter mc wuerde EDAS ueberschreiben
99 unzulaessiges Kommando
* wichtige Systemadressen
-----------------------
4006H - 4007H Vorzugseinstellung Editierpufferanfang
4008H - 4009H Vorzugseinstellung Editierpufferende
400AH - 400CH JP Druckerausgabe (Zeichen in A)
5440H - 5442H JP Druckerinitialisierung