Funkamateur 07/88

 

"OCEAC1" - Mini-Entwicklungssystem für den "AC1" (1 u. 2)

K. SCHNEIDER, G. RÖSSEL - Y59ON

Für denjenigen, der den "AC1" für die Entwicklung von Maschinenprogrammen nutzen möchte oder sich in die Assemblerprogrammierung einarbeiten will, wird hier ein komplettes Mini-Entwicklungssystem vorgestellt. Pate stand das Programm EDITOR des MC80.20 vom VEB ELEKTRONIK Gera. Es wurden weitestgehend die ursprünglichen Kommandos beibehalten. Wer schon den MC80 kennt, wird über die zusätzlichen Kommandos begeistert sein.
Die Darstellung von 32 x 64 Zeichen auf dem Bildschirm des "AC1" eröffnet weitergehende Möglichkeiten.
Das Programmsystem "OCEAC1" hat einen Funktionsumfang, der etwa die Programme "AC1-Monitor", "EDAS-4" und weitere Komponenten umfaßt.
Das Monitorprogramm ist noch für die Kassettenarbeit erforderlich. Für andere Monitorvarianten braucht keine Anpassung zu erfolgen, da "OCEAC1" eine eigene Bildschirm- und Tastatursteuerung besitzt.
Vorteile des "OCEAC1" gegenüber "EDAS-4" bestehen im schnellen Wechsel zwischen den einzelnen Arbeitsregimen Quellkodeeingabemodus, Testmodus und RAM-Funktionen. Dabei kann der gesamte Adreßraum des Speicherbereiches von 64 K genutzt werden, soweit er nicht von "OCEAC1" selbst oder von der mitgeführten Markentabelle belegt ist.
Schon mit der ersten Ausbaustufe von 16 K RAM-Speichererweiterung ab Adresse 4000H lassen sich anspruchsvolle Programme schreiben. Newcomer in der Maschinensprache werden die Möglichkeiten, die "OCEAC1" bietet, bald zu schätzen wissen.

1. Übersicht

Das System "OCEAC1" besteht aus folgenden Komponenten:
- Assembler zum Übersetzen der U 880-Mnemonik in Maschinenkode
- Reassembler zur Rückübersetzung in die Mnemonik des U 880
- Testsystem
- Speichermodifikation
Besonderheiten:
- Jeder eingegebene Befehl wird sofort in den Maschinenkode übersetzt und auf Syntaxfehler kontrolliert.
- Außer dem Maschinenkode ist noch eine Markentabelle vorhanden, die Definitionen und Referenzen für eine symbolische Adressierung vermerkt.
- Es wird kein Quellprogramm gespeichert. Der im Speicher eingetragene Maschinenkode läßt sich zusammen mit den Informationen aus der Markentabelle reassemblieren und als Quelltext auf dem Bildschirm darstellen.
- Der Maschinenkode kann sofort getestet werden.
- Eine Kommentierung ist nicht vorgesehen.
- Der Reassembler kann nicht zwischen Befehlen und Daten unterscheiden. Er reassembliert Daten genauso wie Befehle. Daten- und Befehlsblöcke sollten deshalb im Programm getrennt werden.
Die Funktionen des "OCEAC1" sind durch verschiedene Betriebsarten realisiert.
- Anzeigemodus
- Quellkodemodifikation
- Testmodus
- Speichermodifikation (RAM)
Alle Kommandos sind Ein-Tasten-Kommandos, d.h., nach Betätigung der Taste führt der "AC1" das Kommando sofort aus. Sind weitere Parameter notwendig, werden diese über die Tastatur eingegeben und mit CR abgeschlossen. Fehlbedienungen kann man korrigieren (Taste OFF "Ctrl.C)
Aus dem Anzeigemodus ruft das System die anderen Betriebsarten auf. Die Rückkehr erfolgt durch Betätigen der Taste OFF in den Anzeigemodus. Nochmaliges Betätigen der Taste OFF führt in die Aufrufschleife des MONITOR.

2. Aufruf des "OCEAC1"

Startadresse ist 4000H. Soll ein vorhandenes Programm modifiziert werden, so ist es vorher im Speicher bereitzustellen. Das Programm meldet sich mit "OCE" und der Adresse der Markentabelle.
OCE MTD adr
Als adr schlägt das Programm beim erstmaligen Aufruf 7020H vor. Die Adreßangabe kann man mit CR bestätigen. Falls sich die Markentabelle auf einem anderen Speicherplatz befindet bzw. dort angelegt werden soll, gibt das Programm die neue Adresse an. Diese Eintragung bleibt dann auch für einen erneuten Programmstart erhalten.
Vor der Markentabelle müssen noch 20H Speicherplätze als Arbeitsbereich für "OCEAC1" zur Verfügung stehen. Wird im laufe der Quellkodeeingabe eine Marke vereinbart oder auf eine Marke zugegriffen, erfolgt eine Eintragung in die Markentabelle. Es können maximal 127 Marken vereinbart werden. Die Überwachung des Überlaufens der Markentabelle in ein anderes Programm oder in einen nicht existierenden Speicherbereich ist nicht vorgesehen.
Man kann sich aber jederzeit mit Hilfe der RAM-Funktion über die Belegung der Markentabelle informieren. Nach Programmstart befindet sich "OCEAC1" im Anzeigemodus.

3. Anzeigemodus

Im Anzeigemodus wird der aktuelle Speicherinhalt reassembliert und angezeigt. Die erste Zeile enthält neben dem Programmnamen die hexadezimale Adresse des aktuellen Befehls und die Angabe der voranstehenden Globalmarke mit ihrer Adresse. Die mit "*" gekennzeichnete Seite enthält den aktuellen, zur Bearbeitung vorgesehenen Befehl.

3. 1. Positionierkommandos

DOWN - Übergang zum nächsten Befehl
N - 32maliges Ausführen des Kommandos DOWN
+ - Anzeige ab nächster Speicheradresse. Damit ist die Suche eines Befehlsanfangs zwischen Datenblöcken möglich. Der erste Befehl eines Programmblocks sollte mit einer Marke gekennzeichnet sein.
UP - Übergang zum voranstehenden Befehl
Z - 32maliges Ausführen des Kommandos UP
- - Anzeige ab voranstehender Speicheradresse. Damit ist die Anzeige in Richtung niedrigerer Adressen veränderbar, ohne daß eine voranstehende Globalmarke erforderlich ist.
A - Anzeige ab der davorstehenden Globalmarke.
Als Globalmarke bezeichnet man eine Marke, die als drittes Zeichen einen Buchstaben enthält. Die Kommandos UP, Z und A bewirken, daß zuerst nach einer voranstehenden Globalmarke gesucht wird. Von da ausgehend ermittelt das Programm fortlaufend den nächsten Befehl. Ein Befehlsblock benötigt deshalb am Anfang immer eine Globalmarke. Existiert im Bereich von 255 Byte vor der aktuellen Adresse keine Globalmarke, kommen die Kommandos UP und Z nicht zur Ausführung.
G - Kommando zur direkten Positionierung.
Durch Parameterangaben gibt es folgende Varianten:
G CR - Anzeige ab Programmende
G O CR - Anzeige der mit EXT vereinbarten Marken
G adr CR - Anzeige ab adr
L - Anzeige ab Programmzählerstand vor dem letzten Schritt im Testmodus.

3.2. Bindekommando

B - Kommando zum Programmbinden.
Die Bindeoperation bezieht sich auf den gesamten Adreßraum von 64 KByte. Alle symbolischen Angaben werden anhand der Markentabelle durch absolute (hexadezimal angezeigte) Werte ersetzt und in den Maschinenkode eingetragen. Damit ist der Maschinenkode auf der gebundenen Adresse lauffähig. Nichtdefinierte Symbole zeigt das Programm mit dem Namen und der Adresse, von der aus ein Zugriff erfolgt, auf dem Bildschirm an. Ist bei relativen Sprungbefehlen die Sprungdistanz zu groß, erfolgt die Anzeige der Adresse des Sprungbefehls. Nach den Fehlerausschriften ist eine Taste zu betätigen, um die Bindeoperation fortzuführen.
Bindekommando-Varianten:
B CR - Binden des Programms auf den aktuellen Speicherbereich, d.h., auf den Bereich ab Anzeigeadresse.
B adr CR - Binden des Programms, so daß der aktuelle Befehl der angegebenen Adresse lauffähig ist. Dazu erfolgt eine Umrechnung der Markenwerte. Das gilt nicht für mit EXT vereinbarte Marken. Sie behalten ihren Wert (externe Eintrittsadresse aus anderen Programmodulen). Die Eintragungen der Markentabelle bleiben erhalten.

3.3. Korrektur und Verschiebekommandos

S - Streichen (Löschen) von Befehlen
S CR - Streichen des aktuellen Befehls
S adr CR - Streichen der Befehle ab aktueller Adresse bis ausschließlich adr. Wenn adr kleiner als die aktuelle Adresse ist, verweigert das Programm die Befehlsausführung.
E - Einfügekommando
Der Bereich ab aktueller Adresse bis Programmende verschiebt sich mit Marken in Richtung Speicherende. Damit steht ab aktueller Adresse ein Bereich für Eingaben zur Verfügung. Ab Programmende muß freier Speicherraum vorhanden sein, sonst wird das Kommando nicht ausgeführt.
E CR - Einfügen eines Bytes (NOP-Befehl).
E adr CR - Einfügen ab aktueller Adresse bis ausschließlich adr, wenn adr größer als die aktuelle Adresse ist.
M - Verschiebekommando (Programmverschiebung mit Marken). Der angegebene Programmbereich verschiebt sich auf den Bereich ab Anzeigeadresse. Das Kommando kommt nur zur Ausführung, wenn der Freibereich ab Anzeigeadresse genügend groß ist, d.h., mit 00H oder FFH belegt ist. Dadurch verhindert man ein versehentliches Zerstören von Programmteilen.
Der ehemalige Programmbereich füllt sich mit FFH.
M adr CR CR - Der Programmbereich ab adr bis Programmende wird auf den Bereich der Anzeigeadresse verschoben.
M adr1 CR
adr2 CR Der Programmbereich von adr1 bis ausschließlich adr2 wird auf den Bereich der Anzeigeadresse verschoben.
V - Markenumrechnung
Wenn nur das erstellte Maschinenprogramm im Speicher verschoben wurde, beziehen sich die Eintragungen der Markentabelle auf den ursprünglichen Speicherbereich. Um die Markentabelle dem neuen Speicherbereich zuzuordnen, benutzt man das Kommando V.
V adr CR - Umrechnen der Marken im Bereich von adr bis Programmende auf den aktuellen Anzeigebereich.
V adr1 CR
adr2 CR - Umrechnen der Marken im Bereich von adr1 bis ausschließlich adr2 auf den Bereich ab Anzeigeadresse.

3.4. Auslagerung des Programms als Quelle in den RAM

O - Kommando zur Quellprogrammausgabe
Das Programm ab Anzeigeadresse bis Programmende wird ab adr als Quellprogramm in den RAM ausgegeben. Die Zeilentrennung erfolgt durch CR, LF. Den Abschluß des Quellprogramms bildet die Kodierung 03H.
O adr CR - Das Programm wird ab adr als Quelle in den RAM geschrieben.

3.5. Übernahme des Quellprogramms aus dem RAM

I - Kommando zur Quellprogrammeingabe
Das Quellprogramm ab Adresse adr im RAM wird in den Bereich ab Anzeigeadresse übernommen. Die Quelle muß den gleichen Bedingungen wie im Quellkodeeingabemodus genügen. Eventuelle Fehler korrigiert man durch Tastatureingaben. Die Programmübernahme erfolgt zeilenweise mit paralleler Darstellung auf dem Bildschirm.
I adr CR - Quellprogrammeingabe
Die Kommandos O und I eignen sich vorteilhaft zum Vervielfachen von Programmabschnitten.

3.6. Reassemblerliste ausdrucken

P - Kommando zum Ausdruck der Reassemblerliste
Zur Ausgabe gelangt die Speicheradresse, gefolgt vom Maschinenkode. Danach erscheint der reassemblierte Befehl analog der Darstellung im Anzeigemodus des "OCEAC1" unter Einbeziehung von Informationen aus der Markentabelle. Alle Zeichen erscheinen parallel mit auf dem Bildschirm, wobei die gerade zum Drucker übertragene Zeile mit "*" gekennzeichnet ist. Sind alle Zeilen bis ausschließlich der Endadresse übertragen, erwartet das Programm eine Angabe zum Seitenvorschub. Die Taste "F" löst einen Seitenvorschub aus. Danach kehrt das Programm, wie bei der Eingabe jedes anderen Zeichens, in den Anzeigemodus des "OCEAC1" zurück.
P adr CR - Die Endadresse adr ist absolut oder symbolisch anzugeben. Gibt man keine Endadresse an, gilt das Programmende (mindestens 4mal FFH) als Endadresse.

3.7. Anwahl spezieller Betriebsarten oder Sonderfunktionen

Aus dem Anzeigemodus erfolgt der Aufruf anderer Betriebsarten durch folgende Ein-Tasten-Kommandos:
Q - Kommando zum Eintritt in den Quellkodeeingabemodus,
R - Kommando zum Aufruf der Speichermodifikation (RAM),
T - Kommando zum Eintritt in den Testmodus,
K - Kommando für direkte Maschinenkodeeingabe,
H - Definition der aktuellen Adresse als Haltepunkt im Testmodus.

4. Quellkodeeingabemodus

Der Eingabebereich beginnt ab Kursorposition. Der Kursor zeigt auf das Markenfeld. Eine Marke besteht aus drei Zeichen, von denen das erste Zeichen ein Buchstabe sein muß. Die Trennung Markenfeld - Operationsfeld erfolgt durch mindestens ein Leerzeichen oder einen Tabulator.
Das Zeichen ":" als Trennzeichen kann entfallen. Leerzeichen oder Tabulator sind auch einzugeben, wenn keine Marke verwendet wird. Zwischen Operationskode und Operanden muß ein Leerzeichen als Trennzeichen stehen. Kommentare sind nicht möglich. Der angezeigte Befehl ist korrigierbar. Dabei ist ein Überschreiben von einem Befehl durch einen Befehl mit einer größeren Byteanzahl unbedingt zu vermeiden.
Anderenfalls erfolgt eine Zerstörung des oder der nächsten Befehle. Eintragungen in der Markentabelle werden nicht gelöscht und führen beim Binden zur Zerstörung von Programmteilen. Folgende Schritte sind erforderlich:
- Streichen des alten Befehls (Kommando S),
- Schaffen eines genügend großen Freibereiches entsprechend der Byteanzahl des neuen Befehls (Kommando E),
- Eingabe des neuen Befehls.
Die Quellkodeeingabe ist durch CR abzuschließen. Es erfolgt die Übersetzung des Befehls. Liegt ein Syntaxfehler vor, markiert "OCEAC1" dies vor dem Befehl wie folgt:
F - Operations- oder Operandenfehler
M - Marke schon vorhanden
O - Offset bei relativen Sprüngen zu groß (tritt nur auf, wenn das Sprungfeld absolut angegeben wird).
Der Maschinenkode wird bei syntaktisch richtigen Befehlen ab Anzeigeadresse gespeichert. Die Speicherbelegung und der reassemblierte Befehl werden zur Kontrolle auf dem Bildschirm angezeigt. Der aktuelle Befehl ist durch das Zeichen "+" markiert. Durch nochmaliges Betätigen der Taste CR wird das Programm ab dem folgenden Befehl angezeigt und es kann eine Quellkodeeingabe oder eine Korrektur für diesen Befehl erfolgen. Das Betätigen irgendeiner anderen Taste führt in den Anzeigemodus zurück.
Neben den U 880-Mnemoniks werden folgende Pseudooperationen verarbeitet:
DB n - Definition eines Bytes mit dem Inhalt n
DW nn - Definition eines Wortes (Doppelbyte) mit dem Wert nn
DM "text" - Definition der Zeichenkette text
mar: EXT adr - Definition der externen Marke mar mit der Adresse adr
Pseudobefehle werden als solche nicht reassembliert. Auf dem Bildschirm erscheint der entsprechende Maschinenbefehl. Die Zahleneingabe kann dezimal oder hexadezimal erfolgen. Hexadezimalzahlen müssen mit einer Ziffer beginnen und mit H enden (z.B. 0AF7H). Der Reassembler verwendet für die Ausschrift ein hexadezimales Standardformat. Anstelle der Zahlen können auch Marken stehen. Einer Marke kann ein Offset im Bereich von -128...+127 folgen. Das Zeichen "#" (mit der wahlweisen Angabe eines Offsets) steht für den Wert des Speicherplatzzuweisungszählers. Bei der Assemblierung trägt das Programnm sofort den Wert des Zuweisungszählers ein. Eine Reassemblierung der Angabe erfolgt nicht.

5. Maschinenkodeeingabe

K - Direkte Maschinenkodeeingabe
Es besteht die Möglichkeit, den Maschinenkode ohne Aufruf der RAM-Funktion direkt einzugeben oder zu modifizieren. Auch hier ist darauf zu achten, daß Befehle nicht überschrieben werden. Auf jeder Zeile kann man bis zu vier Byte hexadezimal eingeben. Dieses Kommando ermöglicht dem Programmierer, schnell geringfügige Änderungen im Programm vorzunehmen, ohne erst in den Quelleingabemodus zu gehen.
Der Abschluß der Eingaben durch CR bewirkt das Eintragen der eingegebenen Bytes ab aktueller Adresse und Rückkehr in den Anzeigemodus. Der Abschluß durch die Taste OFF führt ohne Änderung in den Anzeigemodus zurück.

6. Speichermodifikation RAM

6.1. Obersicht der Funktionen

- Anzeige der Speicherbelegung (hex oder als Zeichen)
- Speichereingabe (hex oder Zeichen)
- Kopieren eines Speicherbereiches in einen anderen Bereich
- Vergleich zweier Speicherbereiche
- Suchen nach einem oder mehreren Byte in einem Speicherbereich
- Speicherbereich ausdrucken
Alle Funktionseingaben erfolgen durch Ein-Tasten-Kommandos. Erforderliche Parameter werden über die Tastatur eingegeben und mit CR abgeschlossen.
Die Adreßangabe auf dem BS links oben kennzeichnet die aktuelle Adresse innerhalb des angezeigten Speicherbereiches, d.h. die durch den Kursor angewählte Adresse.

6.2. Kommandoübersicht

6.2.1. Wahl des Anzeigeformats (s. Arbeitsblatt)

6.2.2. Positionierkommandos (s. Arbeitsblatt)

6.2.3. Speichereingaben

CR - Die rechts neben der Angabe der aktuellen Adresse stehende Hex-Zahl trägt sich auf die aktuelle Adresse ein.
T - Der Kode des nächsten über die Tastatur eingegebenden Zeichens wird in das Eingabefeld übernommen (Texteingabemöglichkeit). Die Eintragung in den Speicher erfolgt mit CR.
I - Füllen eines Speicherbereichs. Dieses Kommando erfordert eine Adreßangabe. Der hexadezimale Eingabewert wird ab aktueller Adresse bis ausschließlich adr in den Speicher eingetragen. Das Kommando kommt nur zur Ausführung, wenn adr größer als die aktuelle Adresse ist (I adr CR).

6.2.4. Speicherbereich kopieren

M - Kommando zum Kopieren eines Speicherbereichs
M adr1 CR adr2 CR
Der Speicherbereich von adr1 bis ausschließlich adr2 wird auf den Speicherbereich ab Anzeigeadresse verglichen. Die Anzahl der Differenzen kommt auf dem Display zur Anzeige. Die aktuelle Adresse weist auf die erste Nichtübereinstimmung. Im Eingabebereich steht der Wert aus dem Vergleichsbereich (Anzeige durch adr1).
Die Arbeit kann durch eines der folgenden Kommandos fortgesetzt werden:
CR - Der im Eingabefeld stehende Wert aus dem Vergleichsbereich wird auf die aktuelle Adresse eingetragen (dadurch vermindert sich die Anzahl der Differenzen um eins) und der Vergleich setzt sich fort.
V - Fortsetzen des Speichervergleichs.
OFF - Abbruch des Vergleichs.
Ist keine Differenz zwischen beiden Speicherbereichen aufgetreten, bzw. ist der Vergleich vollständig durchgeführt, gelangt man durch Betätigen einer beliebigen Taste in den Anzeigemodus.

6.2.6. Suchen einer Datenfolge im Speicher

L - Kommando zur Suche einer Datenfolge im Speicher
L adr1 CR adr2 CR
Die durch adr1 bis ausschließlich adr2 gekennzeichnete Datenfolge wird im Speicher ab aktueller Adresse bis Speicherende gesucht. Findet das Programm die Datenfolge, erscheint sie mit der aktuellen Anzeigeadresse.
CR - Fortsetzung des Suchvorganges.
OFF - Abbruch des Suchvorganges; es wird der Bereich vor Ausführung des L-Kommandos angezeigt.

6.2.7. Ausgabe der Speicherbelegung

P

- Kommando zum Ausdrucken der Speicherbelegung
P adr CR
Das Programm gibt die Speicherbelegung in Hex-Form und als KOI-7-Zeichen aus.
Sind alle Daten bis ausschließlich der Endadresse gedruckt, wird vom Programm eine Angabe zum Seitenvorschub erwartet. Die Eingabe von "F" löst einen Seitenvorschub aus. Danach kehrt das Programm, wie bei der Eingabe jedes anderen Zeichens, zur Anzeigeadresse zurück.

7. Testsystem ODT

7.1. Übersicht

ODT ermöglicht den schritt- oder abschnittweisen Test von Programmen oder den Test im Echtzeitlauf. Im Haltepunkt kommen die Registerinhalte und der Befehl zur Anzeige. Eine Registermodifikation ist möglich.
Der Aufruf des Testsystems erfolgt mit dem Kommando T. Durch Betätigen der Taste OFF wird das Testsystem verlassen und in den A­zeigemodus von "OCEAC1" zurückgekehrt.

7.2. Kommandos

7.2.1. Kommandos zur Programmabarbeitung

T - Abarbeiten des aktuellen Befehls und Protokollierung der Registerinhalte im Haltepunkt. Der Haltepunkt ist üblicherweise der nächste vom Programm auszuführende Befehl (Schrittbetrieb). Wurde durch das Kommando H im Anzeigemodus von "CEAC1" ein spezieller Haltepunkt definiert, erfolgt eine Programmabarbeitung bis zu diesem Haltepunkt. Dieser ist danach gelöscht.
N - Abarbeiten des aktuellen Befehls und Protokollierung der Registerinhalte im Haltepunkt. Haltepunkt ist dabei der im Programm auf dem nächsten Speicherplatz stehende Befehl. Dieser muß im allgemeinen nicht mit dem nächsten abzuarbeitenden Befehl identisch sein. Dadurch ist ein abschnittsweiser Test von Unterprogrammen oder Programmschleifen möglich. Das abschnittsweise Testen kann man durch die Taste OFF abbrechen. In diesem Fall wird der letzte bearbeitete Befehl protokolliert und es kann mit einem neuen Kommando fortgesetzt werden.
L - Direktes Abarbeiten des Programms (Echtzeitlauf). Es erfolgt keine Protokollierung während der Abarbeitung. Der Befehl RST 7 (Kode FFH) wirkt als Softwarehaltepunkt. Nach Abarbeitung von RST 7 wird der Echtzeitlauf abgebrochen und der nächste Befehl protokolliert. Soll mit Softwarehaltepunkten gearbeitet werden, so sind diese zusätzlich in das Programm einzufügen (RST 7) und anschließend wieder zu streichen.

7.2.2. Registermodifikation

R - Ändern der Registerinhalte durch Überschreiben. Das Kommando schließt mit CR oder OFF ab. CR bestätigt die neuen Inhalte, während der Abschluß mit OFF im Sinne einer Fehlerquittung den ursprünglichen Zustand wieder herstellt. Es können nur die Register AF, BC, DE, HL, IX und IY modifiziert werden.
X - Registertausch
Der Hauptregistersatz wird gegen den Nebenregistersatz ausgetauscht. Die Nebenregisterinhalte kommen zur Anzeige und lassen sich gegebenenfalls modifizieren und rücktauschen. Es kann auch eine Weiterarbeit mit dem nunmehr aktuellen Registersatz erfolgen.

7.3. Besondere Hinweise

Bei der Programmabarbeitung unter der Regie des Testsystems (Kommando T und N) wird das Programm nach jedem Befehl durch einen vom Testsystem initialisierten Interrupt unterbrochen, um in der Interruptserviceroutine die Haltepunktbedingung zu überprüfen. Dadurch arbeitet das Programm etwa 200 bis 500mal langsamer als im Echtzeitlauf.
Das zu testende Programm muß folgende Forderungen erfüllen:
- keine Veränderung des I-Registers
- kein Verlassen des Interruptmodus IM2
- Der vom Testsystem benutzte CTC-Kanal 2 und dessen Interruptverbindungsadresse (188CH) darf nicht verändert werden.
- Vom zu testenden Programm dürfen der Bildschirminhalt und die Arbeitszellen des Betriebssystems nicht verändert werden.
- Nach einer Interruptannahme oder nach dem Befehl DI läuft das zu testende Programm im Echtzeitlauf, bis einschließlich dem Befehl nach EI. Die abgearbeiteten Befehle werden nicht protokolliert.
- Wird mit dem Testsystem gearbeitet, ist eine Verbindung von M1 (Pin 14 CTC) nach CLK2 (Pin 21 CTC) zu schalten.

Ausgabe auf Drucker

Das Mini-Entwicklungssystem enthält bereits einen Druckertreiber zur Ansteuerung der K 1520-OEM-Baugruppe K 6028 (PIO). Die Einbindung anderer Treiber ist über den Sprungverteiler leicht möglich. Die Anschlußadresse des Treibers zur Druckerausgabe ist auf 5D43H und 5044H eingetragen. Die Ausgabe erfolgt zeichenweise über Register A.

Tastaturtreiber

Benutzt wird der gleiche Treiber wie vom "AC1"-Texteditor bekannt, mit Auto-Repeat und Shift-Lock. Nimmt "OCEAC1" nach dem Start keine Zeichen an, ist die Shiftebene mit Ctrl.R umzuschalten. Die Kommandoeingaben erfolgen nur mit Großbuchstaben.

Das für einen Abdruck zu umfangreiche Programm ist gegen Einsendung einer Kassette über den ACC Berlin (s. Heft 4/88, S.173) beziehbar.


647 KByte
Arbeitsblatt