Befehl | OP-Teil | AD-Teil | Erläuterung |
l | m | r |
Leerbefehl |
LER | 0.0 | 0 | 0 | 1 | Leerbefehl, wird ohne Auswirkung durchlaufen |
Transportbefehle |
ERN | 0.1 | ZR | NKS | Eingabetransport (?) NKS = Nachkommastellen |
TR | 0.2 | ZR | QR | Transfer QR -> ZR |
TR | 0.3 | QR | ZR | Transfer QR -> ZR |
Arithmetik |
ADD | 0.4 | ZR | QR | ZR = QR + ZR |
ADD | 0.5 | QR | ZR | ZR = QR + ZR |
MIN | 0.6 | ZR | QR | ZR = ZR - QR |
MIN | 0.7 | QR | ZR | ZR = ZR - QR |
MUL | 0.8 | ZR | QR | AKKU = QR x ZR |
MUL | 0.9 | QR | ZR | AKKU = QR x ZR |
DIV | 0.A | ZR | QR | AKKU = ZR / QR |
DIV | 0.B | QR | ZR | AKKU = ZR / QR |
VGV | 0.C | ZR | QR | Vergleiche Register |
VGV | 0.D | QR | ZR | Vergleiche Register |
VGN | 0.E | R | 0 | Vergleiche Register mit Null |
LOR | 0.F | R | 0 | Lösche Register |
VZW | 0.F | R | 1 | Vorzeichenwechsel im Register |
RSR | 1.0 | R | n | Rechtsshift des Registers um n Stellen |
LSR | 1.1 | R | n | Linksshift des Registers um n Stellen |
LSV | 1.2 | R | n | Linksshift des Registers um n Stellen Abweichende Überlaufbehandlung |
RU1 | 1.3 | R | n | Rundung des Registers auf die n. Stelle |
RU2 | 1.4 | R | n | Rundung des Registers auf die n. Stelle Rundung auf 5: 0-2 ab, 3-7 auf 5, 8-9 auf |
RP1 | 1.5 | R | n | Inkrementieren der n. Stelle des Registers |
Konstantentransporte |
KA | 1.6 | Wert | AKKU = Wert |
SOA | 1.7 | Addr | Substituierter OP-Teil nach Akku AKKU = OP-Teil des Befehls an der angegebenen Adresse |
SAA | 1.8 | Addr | Substituierter AD-Teil nach Akku AKKU = AD-Teil des Befehls an der angegebenen Adresse |
SBA | 1.9 | Addr | Substituierter Befehl nach Akku AKKU = Befehl an der angegebenen Adresse |
Datenspeicherprogrammierung |
SD | 1.A | Addr | Springe in Datenspeicher Programm wird an Adresse im Datenspeicher fortgesetzt |
SF | 1.B | Addr | Springe in Festwertspeicher Programm wird an Adresse im Festwertspeicher fortgesetzt |
Unterprogrammsprünge |
SR | 1.C | Addr | Springe in Unterprogramm |
SH | 1.D | Offset | Springe zurück ins Hauptprogramm Der Offset bezieht sich auf gespeicherte Rücksprungadresse |
Vorbefehle |
PAV | 1.E | n | Pufferanfang-Vorbefehl Definiert, wie viele 4-Bit-Worte (0 - 511) vom Magnetstreifen gelesen oder auf ihn geschrieben werden sollen. |
ZVK | 1.E | n | Zähler-Vorbefehl Bei einem nachfolgenden LEK-Befehl sollen n Zeichen überlesen werden |
AVK | 1.E | Addr | Adress-Vorbefehl Bei einem nachfolgenden Befehl LOK, LMK, LIK, LAK oder LHK soll ab der Adresse aus dem Kartenpuffer gelesen werden. |
Sprungbefehle |
SP | 2.0 | Addr | Unbedingter Sprung zur Adresse |
S1 | 2.1 | Addr | Sprung zur Adresse, wenn M1 == 1 |
S2 | 2.2 | Addr | Sprung zur Adresse, wenn M2 == 1 |
S3 | 2.3 | Addr | Sprung zur Adresse, wenn M3 == 1 |
S4 | 2.4 | Addr | Sprung zur Adresse, wenn M4 == 1 |
S5 | 2.5 | Addr | Sprung zur Adresse, wenn M5 == 1 |
S6 | 2.6 | Addr | Sprung zur Adresse, wenn M6 == 1 |
S7 | 2.7 | Addr | Sprung zur Adresse, wenn M7 == 1 |
S8 | 2.8 | Addr | Sprung zur Adresse, wenn M8 == 1 |
S9 | 2.9 | Addr | Sprung zur Adresse, wenn M9 == 1 |
SC | 2.A | Addr | Sprung zur Adresse, wenn MC == 1 |
SK | 2.B | Addr | Sprung zur Adresse, wenn MK == 1 |
SU | 2.C | Addr | Sprung zur Adresse, wenn MU == 1 |
Indexabhängige Sprungbefehle |
SIG | 2.D | Wert | Sprung zum übernächsten Befehl, wenn IDX >= Wert |
SIK | 2.E | Wert | Sprung zum übernächsten Befehl, wenn IDX <= Wert |
SIU | 2.F | Addr | Sprung zur Adresse, wenn IDX <> 0 |
Indexbefehle |
IVG | 3.0 | 1 | m | r | Vergleich der Indexregister m und r |
IKP | 3.0 | 2 | 0 | r | Komplementiere Indexregister r |
IAD | 3.0 | 3 | m | r | Indexregister addieren: IDX.m = IDX.m + IDX.r |
ILS | 3.0 | 4 | m | n | Indexregister m um n Stellen nach links schieben |
ILZ | 3.0 | 5 | m | n | Indexregister m um n Stellen nach links rotieren |
ITR | 3.1 | QR | ZR | Indexregistertransport ZR = QR Für QR gibt es eine spezielle Codierung |
ISP | 3.2 | Addr | Substituierter OP-Teil nach Indexregister IDX = OP-Teil des Befehls an der angegebenen Adresse |
ISA | 3.3 | Addr | Substituierter AD-Teil nach Indexregister IDX = AD-Teil des Befehls an der angegebenen Adresse |
IK | 3.4 | Wert | IDX = Wert |
IP1 | 3.5 | 0 | 0 | 1 | IDX = Position von Drucker 1 |
IR | 3.6 | n | R | p | Index rechts laden n: 1-4: 1-4 Dezimalstellen transportierend, 9-C: 1-4 Dezimalstellen addierend R: Register p: Registerposition |
IM | 3.7 | n | R | p | Index Mitte laden |
IL | 3.8 | n | R | p | Index links laden |
DEZ | 3.9 | n | R | p | Dezimalwandlung aus Index |
Vorbefehle |
SVB | 3.A | Addr | Schreibmaschinen-Vorbefehl für SMF, SA1, SMK, DT,LT und DLT Absolute Anfangsadresse |
DVB | 3.B | Farbe | n | Druckvorbefehl für DZ, LZ, DLZ, DT, LT und DLT Farbe: 8=Rot, 4=Schwarz n: Anzahl Zeichen |
DVB | 3.B | Farbe | DSU | 0 | Druckvorbefehl für SVB und SMF Farbe: 8=Rot, 4=Schwarz DSU: bis DSU-Stelle. 0 => 255, 1 => 511, 3 => 1023, 7 => 2047, F => 4095 |
[...] |
Programmbefehle |
PZL | 3.E | Addr | Programmzähler mit Adresse der PPT-Angabe laden (000-00F) |
WRT | 3.F | 0 | Bedingung | Warte auf Bedingung (Bedingungen separat definiert) |
MES | 3.F | M | Bedingung | Setze Merker gemäß Bedingung (Bedingungen separat definiert) |
Funktionsbefehle |
SMF | 4.0 | 1 | Pos | Schreibmaschinenfreigabe ab aktueller Kugelkopfposition Pos: rechte Begrenzung |
SA1 | 4.0 | 3 | Pos | dito mit Stanzen von Lochstreifen und Streifenkarten |
SMK | 4.0 | 5 | Pos | dito mit Stanzen von Lochkarten |
TB1 | 4.1 | 1 | Pos | Tabulation Drucker 1 an Pos |
KVS | 4.2 | 0 | 0 | 0 | Streifenkartenvorschub bis zum Führungsloch |
DZ | 4.2 | 1 | Code | Drucke Zeichen mit angegebenem Code auf Drucker 1 |
LZ | 4.2 | 2 | Code | Loche Zeichen mit angegebenem Code |
DLZ | 4.2 | 3 | Code | Drucke und Loche Zeichen mit angegebenem Code |
DT | 4.3 | Offset | Typ | 1 | Drucke aus Tabelle auf Drucker 1 Offset 0-2 gegenüber mit SVB angegebener Adresse Typ: 0: Alpha aus Festwertspeicher, 1: Hex aus Festwertspeicher, 2: Alpha aus Datenspeicher, 3: Hex aus Datenspeicher |
LT | 4.3 | Offset | Typ | 2 | Loche aus Tabelle |
DLT | 4.3 | Offset | Typ | 3 | Drucke und Loche aus Tabelle |
UMS | 4.4 | Addr | Umspeicherungsbefehl Monitor |
PRÜ | 4.5 | R | 0 | Prüfziffer des Registers berechnen und im R6 links der KGA abstellen |
HEX | 4.6 | 0 | Addr | Drucke Hex ab Adresse |
Befehle für die Konteneinzugsgeräte 68 und 70 |
Zi1 | 4.7 | 5 | n | Zeilenschaltung 1. Schacht um n Zeilen |
Zi2 | 4.7 | 6 | n | Zeilenschaltung 2. Schacht um n Zeilen |
ZiB | 4.7 | 7 | n | Zeilenschaltung beide Schächte um n Zeilen |
Si1 | 4.7 | 9 | n | Stanzung 1. Schacht n Mal |
Si2 | 4.7 | A | n | Stanzung 2. Schacht n Mal |
SiB | 4.7 | B | n | Stanzung beide Schächte n Mal |
EM1 | 4.8 | 1 | n | Einzug mit Schuppe 1. Schacht mit Zeilenposition n |
EM2 | 4.8 | 2 | n | Einzug mit Schuppe 2. Schacht mit Zeilenposition n |
EMB | 4.8 | 3 | n | Einzug mit Schuppe beide Schächte mit Zeilenposition n |
EO1 | 4.8 | 5 | n | Einzug ohne Schuppe 1. Schacht mit Zeilenposition n |
EO2 | 4.8 | 6 | n | Einzug ohne Schuppe 2. Schacht mit Zeilenposition n |
EOB | 4.8 | 7 | n | Einzug ohne Schuppe beide Schächte mit Zeilenposition n |
Ai1 | 4.8 | 9 | n | Auswurf 1. Schacht, n: Positionsangabe |
Ai2 | 4.8 | A | n | Auswurf 2. Schacht, n: Positionsangabe |
AiB | 4.8 | B | n | Auswurf beide Schächte, n: Positionsangabe |
Magnetkontenbefehle |
EML | 4.8 | 5 | n | Einzug mit Lesen, n: Positionsangabe |
EMV | 4.8 | 5 | n | Einzug mit Vergleichslesen, n: Positionsangabe |
AMS | 4.8 | 9 | n | Auswurf mit Schreiben, n: Positionsangabe |
Programmbefehle |
SUB | 4.9 | Addr | Substitution. Befehl an der angegebenen Adresse wird ersatzweise ausgeführt |
Druckregisterbefehle |
DD | 4.A | n | p | Drucke aus Druckregister mit n Nachkommastellen ab Position p |
LD | 4.B | n | 0 | 0 | Loche aus Druckregister mit n Nachkommastellen |
DLD | 4.C | n | p | Drucke und loche aus Druckregister mit n Nachkommastellen ab Position p |
Datenspeichererweiterung |
HRA/AHR | 4.D | Addr | für Einsatz bei 4K 20-Bit-Speicher, muss durch BVB vorbereitet werden |
HRA/AHR | 4.E | Addr | für Einsatz bei 4K 12-Bit-Speicher, muss durch BVB vorbereitet werden |
HRA/AHR | 4.F | Addr | für Einsatz bei 4K 4-Bit-Speicher, muss durch BVB vorbereitet werden |
Befehle für Lochstreifen und Lochstreifenkarten |
LNZ | 5.1 | l | R | n | Lese n numerische Zeichen ins Register R. l: 0 oder 1 |
BEK | 5.1 | 2 | 0 | 0 | Bringe eine Karte in die Lesestation |
BEK | 5.1 | 2 | Code | Bewege Karte oder Datenträger zum codierten Zeichen |
WFK | 5.1 | 3 | 0 | 0 | Werfe Karte aus der Lesestation |
WFK | 5.1 | 3 | Code | Werfe Karte aus der Lesestation bis zum codierten Zeichen |
LPA | 5.1 | o | n | Schreibe n Alphazeichen "0" in den Puffer ab der zuvor mit SVB bestimmten Position. o: Offset 4 => 0, 5 => 1, 6 => 2 |
LPH | 5.1 | 7 | n | Schreibe n Hexzeichen "Null" in den Puffer ab der zuvor mit SVB bestimmten Position. |
LNO | 5.2 | 0 | R | n | Lese numerisch ohne Vorzeichen n Zeichen nach Register R |
LNM | 5.2 | 1 | R | n | Lese numerisch mit Vorzeichen n Zeichen nach Register R |
LIE | 5.2 | 2 | R | 0 | Lese ein Zeichen im effektiv gelochten Code ins Indexregister Rnach Register R |
LIA | 5.2 | 3 | R | 0 | Lese ein Zeichen im DZ-Code ins Indexregister Rnach Register R |
LAP | 5.2 | o | n | Lese n Alphazeichen in den Puffer ab der zuvor mit SVB bestimmten Position. o: Offset 4 => 0, 5 => 1, 6 => 2 |
LHP | 5.2 | 7 | n | Lese n Hexzeichen in den Puffer ab der zuvor mit SVB bestimmten Position. |
LOK | 5.3 | 0 | R | n | Lese numerisch ohne Vorzeichen n Zeichen aus dem Kartenpuffer nach Register R |
LMK | 5.3 | 1 | R | n | Lese numerisch mit Vorzeichen n Zeichen aus dem Kartenpuffer nach Register R |
LEK | 5.3 | 2 | n | Lese n Zeichen einer Karte in den Kartenpuffer |
LiK | 5.3 | 3 | R | 0 | Lese ein Zeichen aus dem Kartenpuffer nach Indexregister R |
LAK | 5.3 | o | n | Lese n Alphazeichen aus Kartenpuffer in den Zielpuffer. o: Offset 4 => 0, 5 => 1, 6 => 2 |
LHK | 5.3 | 7 | n | Lese n Hexzeichen aus Kartenpuffer in den Zielpuffer. |
Befehle für Lochkarten mit IBM 024 und 026 |
LKO | 5.4 | 0 | R | n | Lese numerisch ohne Vorzeichen n Zeichen von der Karte nach Register R |
LKM | 5.4 | 1 | R | n | Lese numerisch mit Vorzeichen n Zeichen von der Karte nach Register R |
LKi | 5.4 | 3 | R | 0 | Lese ein Zeichen ab der aktuellen Kartenposition nach Indexregister R |
LKA | 5.4 | o | n | Lese n Alphazeichen ab der aktuellen Kartenposition in den Zielpuffer. o: Offset 4 => 0, 5 => 1, 6 => 2 |
LKH | 5.4 | 7 | n | Lese n Hexzeichen ab der aktuellen Kartenposition in den Zielpuffer. |
KLN | 5.5 | 0 | R | n | Loche den Inhalt von Register R numerisch mit n Stellen |
KLZ | 5.5 | 1 | Code | Loche das Zeichen mit dem Code ab der aktuellen Kartenposition |
KLD | 5.5 | 1 | n | Dupliziere n Zeichen ab der aktuellen Kartenposition. (n muss um 128 vergrößert werden) |
KPI | 5.5 | 2 | R | | Schreibe Kartenposition ins Indexregister R |
KSP | 5.5 | 2 | p | Transportiere Karte an Position p. (p muss um 128 erhöht werden) |
KLA | 5.5 | o | n | Loche n Alpha-Zeichen aus Tabelle o: Offset 4 => 0, 5 => 1, 6 => 2 |
KLH | 5.5 | 4 | n | Loche n Hex-Zeichen aus Tabelle |
Formulartransportbefehl |
LEP | 5.6 | Lep | n | Transportiere Leporello um n Zeilen Lep: Auswahl 0 => keiner, 1 => Leporello 1, 2 => Leporello 2, 3 => beide |
Magnetplattenbefehle |
| 6.0 | x | 0 | Read Buffer |
| 6.1 | x | 1 | Write Buffer |
| 6.2 | 0 | Sek | LW | Read Binary Pattern (Sek=Sektoren, LW: 0=Wechselplatte, 1=Festplatte) |
| 6.3 | 0 | Sek | LW | Write Binary Pattern |
| 6.4 | 0 | 0 | LW | Initialisieren (Löschen) |
| 6.5 | x | Sek | LW | Write Data Set |
| 6.6 | x | Sek | LW | Insert Data Set |
| 6.7 | x | Sek | LW | Read Data Set |
| 6.8 | x | Sek | LW | Erase Data Set |
| 6.9 | 4 | 7 | B | Error Indication |