++++++++++++++++++++++++++++++++++++++++++++++
+ +
+ ED81 V2.2 wlsoft89 +
+ +
++++++++++++++++++++++++++++++++++++++++++++++
Der ED81 enthaelt einen Assembler zur Uebersetzung von
Befehlen im Mnemonikcode in Maschinencode der Einchiprechner
U88x bzw Z8 und den Reassembler zur Rueckuebersetzung.
Ausser dem Maschinencode wird noch eine Markentabelle
abgespeichert.
Programmstandort: 8000H ...0A2FFH
Hinweise zur Benutzung:
- adr = Hexzahl oder vereinbarte Marke
- ein Programmende ist eine Adresse, ab der mind. viermal
der Speicherinhalt '0FF' steht
- Verschieben von Progr.teilen nur in mit '0FFH' belegten
Speicher moeglich (bei M+E beachten)
- es ist deshalb guenstig, den Speicher mit '0FFH' zu
initialisieren !
- Der Anfang der Markentabelle ist bei einem Neustart mit
'00H' zu belegen
Nach dem Start des ED81 auf der Adresse 8000H kann die Adresse
der Markentabelle eingegeben werden. Es muessen davor 20 freie
Speicherplaetze fuer Merkzellen des ED81 sein.
Danach befindet sich der ED81 im Anzeigemodus.
+ Markentabelle
- Ende der Tabelle : '00' (Beim Neustart einschreiben.)
- max. 127 Marken
- ein Ueberlaufen wird nicht verhindert
+ Anzeigemodus
- Programmanfaenge und markante Programmstellen mit Global-
marken versehen ! (3.Zeichen = Buchstabe)
- Kommandos im Anzeigemodus :
Taste Funktion
------------------------------------------------------------
T Uebergang zum Testmodus ab Anzeigeadr.
R Uebergang zum RAM-Modus
Q Uebergang zum Quellcodeeingabemodus
DOWN naechster Befehl
UP vorstehender Befehl
N 32 x DOWN
Z 32 x UP ( 'UP' und 'Z' nur bei vorhandener Globalmarke
bis 256 Byte vor akt. Adresse )
+ Anzeigeadr. incrementieren
A Anzeige ab vorstehender Globalmarke
G G CR Anzeige ab Programmende
G 0 CR Anzeige ab der mit EXT vereinbarten Marke
G adr CR Anzeige ab adr
B Bindekommando (ersetzt symb. Adr. durch hexadez.)
erzeugt lauffaehiges Programm
B CR Binden auf Anzeigeadr.
B adr CR
M Verschieben von Programmen mit Marken
M adr CR CR Verschieben von adr bis Programmende auf Bereich
ab Anzeigeadr.
M adr1 CR adr2 CR von adr1 bis ausschliesslich adr2 auf Be-
reich ab Anzeigeadr.
V Verschieben nur der Marken (Markenumrechnung)
V adr CR von adr bis Progr.ende auf Anzeigebereich
V adr1 CR adr2 CR von adr1 bis ausschl. adr2 auf Anzeigeadr.
E Eingabebereich schaffen
E CR 1 Byte
E adr CR ab akt. Adr. bis ausschl. adr
das folgende Programm wird entsprechend verschoben
S Streichen von Befehlen
S CR 1 Befehl streichen
S adr CR von Anzeigeadr. bis adr streichen
C Reassemblerliste drucken
+ Quellcodeeingabemodus
- Zahlen dez. oder hex. mit Ziffer beginnend
(z.B. : %0BFFE )
- Marke 3 Zeichen, erstes = Buchstabe
- alte Marken ueberschreibbar
- keine Marke: Tabulator oder 1 Leerzeichen
- nach Marke kann Offset bis +127/-128 stehen
- Op.code,Operanden nur durch Leerzeichen getrennt
- Ueberschreiben von Quellcode vermeiden! Vorsicht!
- kein Kommentar!
- Korrekturen: mit S Befehl streichen
mit E Freiraum schaffen
Eingebe neuer Befehl
- Fehlermeldungen: 'F'
- Uebernahme mit CR, nochmaliges CR naechster Befehl, jede
andere Taste - Anzeigemodus
- Pseudooperationen:
DB n DW nn
MAR:EXT adr -ext. Marken deklarieren
+ Binden
- mit 'B' auf waehlbare adr oder nach 'T' auf die Anzeigeadr.
- nur das erstellte Programm als gesamtes (1 Schritt)
- mit EXT vereinbarte Marken werden nicht verschoben
- nach Fehlermeldung mit CR weitere Fehler angezeigt
( Bindeoperation unterbrochen!)
- MTB beim Binden nicht veraendert!
+ RAM-Modus
- Funktionen des RAM-Modus:
* Bei Aufruf wird getestet, ob der OCE (Tagungs-
kassette 1) sich im Hauptspeicher befindet und
dessen gestartet.
* Anzeige eines bel. Speicherbereichs in HEX oder
ASCII
* Speichereingabe
* Kopieren eines Bereichs in anderen
* Vergleich
* Suchen nach Bytes
* Speicherbereich ausdrucken
- Kommandos:
Taste Funktion
-----------------------------------------------------------------
H Speicher in HEX anz.
S " " ASCII "
-> +1
<- -1
DOWN +8
UP -8
N naechste Seite
Z 1 Seite zurueck
G direkte Positionierung
CR uebernehmen Eingabefeld in akt. Pos. (HEX)
T ASCII-Code des naechsten ueber Tast. eingeg. Zeichens
in Eingabefeld uebernehmen
I Fuellen eines Bereiches
I adr CR ab akt. Adr. bis ausschl. adr
M Kopieren eines Bereichs
M adr1 CR adr2 CR -von adr1 bis ausschl. adr2 in akt. Ber.
V Vergleichen
V adr1 CR adr2 CR -Anzahl der Differenzen angezeigt
Kursor auf ersten Unterschied
Fortsetzung: CR Wert aus Eingabefeld (Vergl.bereich)
wird auf akt. Adr. uebernommen
V Fortsetzung Vergleich
BREAK Abbruch
L Suchen einer Datenfolge
L adr1 CR adr2 CR Datenfolge ab adr1 bis ausschl. adr2
wird im Speicher gesucht
wenn gefunden, auf akt. adr:
CR Suche fortsetzen
BREAK Abbruch, Bereich vor Suche angezeigt
P Ausdruck Speicherbelegung
P adr CR -anlog P im Anzeigem.
+ Testmodus
S Abarbeitung akt. Befehl und protokollieren
N Abarbeitung akt. Befehle und Protokoll, bis naechster im
Speicher stehender Befehl erreicht ist
R Aendern Registerinh.
A Anzeige Arbeitsregister
E Eingabe von 16 Werten zur Simulation von Porteingaben
H Haltepunkt setzen
G Sprung zur Adr.
Q Ruecksprung in Anzeigemodus zur Aufrufstelle
^C Ruecksprung in Anzeigemodus
+ Druckmodus
Eingabe der Endadresse und Zeile/Seite
+ Tastencodes: CR - 0DH
BREAK - 03H
DOWN - 0AH
UP - 0BH
LEFT - 08H
RIGHT - 09H
TAB - 17H
Bernd Wilske
Kantstr.4
Brieselang
1 5 5 2