CH662436A5 - Frankiermaschine. - Google Patents

Frankiermaschine. Download PDF

Info

Publication number
CH662436A5
CH662436A5 CH5044/84A CH504484A CH662436A5 CH 662436 A5 CH662436 A5 CH 662436A5 CH 5044/84 A CH5044/84 A CH 5044/84A CH 504484 A CH504484 A CH 504484A CH 662436 A5 CH662436 A5 CH 662436A5
Authority
CH
Switzerland
Prior art keywords
mov
call
postage
data
src
Prior art date
Application number
CH5044/84A
Other languages
English (en)
Inventor
Alton Brooks Eckert
John Henry Soderberg
Original Assignee
Pitney Bowes Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Pitney Bowes Inc filed Critical Pitney Bowes Inc
Publication of CH662436A5 publication Critical patent/CH662436A5/de

Links

Classifications

    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00314Communication within apparatus, personal computer [PC] system, or server, e.g. between printhead and central unit in a franking machine
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F13/00Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
    • G06F13/38Information transfer, e.g. on bus
    • G06F13/42Bus transfer protocol, e.g. handshake; Synchronisation
    • G06F13/4265Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus
    • G06F13/4269Bus transfer protocol, e.g. handshake; Synchronisation on a point to point bus using a handshaking protocol, e.g. Centronics connection
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00314Communication within apparatus, personal computer [PC] system, or server, e.g. between printhead and central unit in a franking machine
    • G07B2017/00322Communication between components/modules/parts, e.g. printer, printhead, keyboard, conveyor or central unit
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00314Communication within apparatus, personal computer [PC] system, or server, e.g. between printhead and central unit in a franking machine
    • G07B2017/00338Error detection or handling
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07BTICKET-ISSUING APPARATUS; FARE-REGISTERING APPARATUS; FRANKING APPARATUS
    • G07B17/00Franking apparatus
    • G07B17/00185Details internally of apparatus in a franking system, e.g. franking machine at customer or apparatus at post office
    • G07B17/00314Communication within apparatus, personal computer [PC] system, or server, e.g. between printhead and central unit in a franking machine
    • G07B2017/00346Power handling, e.g. power-down routine

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Devices For Checking Fares Or Tickets At Control Points (AREA)
  • Communication Control (AREA)

Description

Die vorliegende Erfindung betrifft eine Frankiermaschine.
Frankiermaschinen sind allgemein bekannt und beispielsweise in der US-PS 3 978 457 beschrieben.
Bei den bekannten elektronischen Frankiermaschinen hat es sich als wünschenswert herausgestellt, einen oder mehrere Mikroprozessoren anzuwenden, um verschiedene Funktionen und Betriebsabläufe der Frankiermaschine zu steuern. Aus Sicherheitsgründen können alle auf Buchungen bezogene Daten von anderen auf ungeschützte Informationen bezogene Daten getrennt gehalten werden.
Ziel der Erfindung ist es, eine Frankiermaschine zu schaffen, bei der die die Portogebührenwerte und deren Ausdruckvorgang betreffenden Daten getrennt von den übrigen Daten gehalten werden.
Dieses Ziel wird erfindungsgemäss mit den kennzeichnenden Merkmalen des Patentanspruches 1 erreicht.
Die Vorteile der Erfindung sind darin zu sehen, dass auf zusätzlichen Steuerleitungen zwischen den miteinander verbundenen Einrichtungen verzichtet werden kann, alle Steuersignale können gemeinsam mit Nachrichtendaten auf demselben seriellen Datenkanal übertragen werden und die Übertragung zwischen den Einrichtungen kann mittels serieller Nachrichten erfolgen, die asynchron übertragen und empfangen werden.
Weitere Einzelheiten und Vorteile der Erfindung ergeben sich aus der nachfolgenden Beschreibung von Ausführungsbeispielen und den beiliegenden Zeichnungen, auf die bezüglich aller in der Beschreibung nicht besonders erwähnten Einzelheiten ausdrücklich Bezug genommen wird. Hierin zeigen:
Fig. 1 eine vereinfachte perspektivische Ansicht einer Frankiermaschine,
Fig. 2 eine vergrösserte Ansicht der Frontplatte der in Fig. 1 dargestellten Frankiermaschine,
Fig. 3 ein vereinfachtes Blockschema einer Ausführungsform einer Frankiermaschine,
Fig. 4 ein Blockschema einer Steuereinheit für die Frankiermaschine,
Fig. 5 ein Blockschema einer Buchungseinheit für die Frankiermaschine,
Fig. 6 ein mehr in Einzelheiten gehendes Blockschema einer bevorzugten Ausführungsform der Steuereinheit für die Frankiermaschine,
Fig. 7 ein Schaltbild eines in der Frankiermaschine anwendbaren optoelektrischen Kopplers,
Fig. 8 ein mehr in Einzelheiten gehendes Blockschema einer bevorzugten Ausführungsform der Buchungseinheit für die Frankiermaschine,
Fig. 9 ein Blockschema einer bevorzugten Ausführungsform der Druckereinheit für die Frankiermaschine,
Fig. 10 ein den Rückmeldungsbetrieb in der Frankiermaschine darstellendes Zeitablaufdiagramm,
Fig. 11 ein den Betriebsablauf der Steuereinheit darstellender zusammenhängender Satz von Flussdiagrammen,
Fig. 12 ein den Betriebsablauf der Druckereinheit darstellender zusammenhängender Satz von Flussdiagrammen, und
Fig. 13 ein den Betrieb der Buchungseinheit darstellender zusammenhängender Satz von Flussdiagrammen.
In der Fig. 1 ist eine auf einer Basis 21 abnehmbar befestigte Frankiermaschine 20 dargestellt. Bei dieser Anordnung ist zwischen der Frankiermaschine 20 und der Basis 21 an deren Vorderkante ein Schlitz 22 vorgesehen, um Umschläge oder dergleichen einzuschieben und eine Portogebühr darauf aufzudrucken. Die Frankiermaschine ist mit einer Anzeigeeinheit 23, die eine elektronische Anzeigevorrichtung hat, und mit einem Schaltpult 24 ausgerüstet. Das Gerät ist über ein Kabel 25 an das elektrische Netz anschliessbar.
Die Basis 21 enthält einen mechanischen Antrieb zum Antreiben des Druckermechanismus der Frankiermaschine 20. Durch die Trennbarkeit zwischen der Frankiermaschine und der Basis wird die elektronische Frankiermaschine mit herkömmlichen Antriebseinheiten kompatibel, die Wartung der Frankiermaschine und nötigenfalls ein Transport der Frankiermaschine zum Zwecke des Nachladens vereinfacht, falls die Möglichkeit für ein fernbedientes Laden angewendet wird.
Die Frontplatte der Frankiermaschine ist in Fig. 2 dargestellt, woraus ersichtlich ist, dass die Frankiermaschine eine numerische Anzeigeeinheit 23, beispielsweise eine herkömmliche Multiplex-Sieben-Segment-Leuchtdioden- oder Flüssigkristallanzeigeeinheit aufweist. Ausserdem ist die Tastatur mit numerischen Eingabetasten 31 und einer im Zusammenhang damit arbeitenden Dezimaltaste 32 versehen, um ein Ausdrucken eines gewünschten Portogebührenbetrages einzustellen, wobei der Betrag normalerweise auf der Anzeigeeinheit 32 angezeigt wird. Es ist auch eine Löschtaste vorgesehen, um die Anzeige des Betrags beispielsweise im Falle einer irrtümlichen Eingabe zu löschen. Wenn der angezeigte Betrag auf den gewünschten Wert eingestellt ist, wird durch Niederdrücken einer Portoeinstelltaste 34 die Inbetriebnahme des Druckräderwerks für die Ausgabe der Portogebühr bewirkt.
Auf der Frontplatte können ferner eine Reihe von Tasten vorgesehen sein, durch die selektiv die Anzeige weiterer Werte auf der Anzeigeeinheit 23 bewirkbar ist. Beispielsweise kann durch das Niederdrücken einer Taste 35 die Anzeige des Inhalts eines anwachsenden Registers, d.h. die von der Frankiermaschine verbrauchte Portogebühr, bewirkt werden und durch das Niederdrücken einer Taste 36 die Anzeige des Inhalts eines abfallenden Registers der Frankiermaschine, d.h. die in der Fran5
10
15
20
25
30
35
40
45
50
55
60
65
3
662 436
kiermaschine noch vorhandene geladene Portogebühr. Durch weitere Tasten 37 bis 40 kann in herkömmlicher Weise jeweils die Anzeige weiterer, in bestimmter Weise spezialisierter Werte wie Kontroll- oder Portogebührensumme, Stückzahl, Stapelwert und Stapelzahl angezeigt werden. Das Stapel wert- und das Stapelzahlregister kann durch ein gleichzeitiges Niederdrücken von entweder der Stapelwerttaste oder der Stapelzahltaste und der Löschtaste C gelöscht werden. Die Frontplatte ist ausserdem vorzugsweise mit einer Leuchtdiode 41 versehen, die jeweils aufleuchtet, wenn die Frankiermaschine eingeschaltet wird, was üblicherweise zu Beginn eines Tages geschieht, um anzuzeigen, dass der Datumsgeber nicht eingestellt worden ist oder dass die Datumsgebertür geöffnet ist. Es kann eine weitere Leuchtdioden-Anzeigeeinheit 42 vorgesehen sein, die derart geschaltet ist, dass sie aufleuchtet, wenn eine Rückstellung des in der Basis vorhandenen Auslösemechanismus vor einer Fortsetzung des Betriebes erforderlich ist.
Um ein Nachladen der Frankiermaschine, beispielsweise mittels der Tastatur zu ermöglichen, kann die Frankiermaschine mit einem in Fig. 1 dargestellten Schlüsselschalter 45 versehen sein, in den der in Fig. 2 dargestellte Schlüssel 46 einsteckbar ist. Der Schlosszylinder kann durch ein Fenster 47 sichtbar sein, um die Stellung des Schlüssels anzuzeigen. Auf diese Weise kann in der Normalstellung des Schlüssels dieser Zylinder wie dargestellt, die Botschaft «Betrieb» anzeigen.
Die Frankiermaschine ist an ihrer Rückseite mit einem Wartungsschalter 50 zur Handhabung durch Wartungspersonal versehen, wodurch die Verwendung der Tasten der Frankiermaschine für unterschiedliche Funktionen ermöglicht wird. Durch eine Betätigung des Schalters 50 kann mittels der Tasten 35 bis 40 die Anzeige zusätzlicher Werte ermöglicht werden, wie den Sperrwert, die untere Postgebühren-Warngrenze, die Frankiermaschinennummer, den Diagnosestatus und den einstellbaren Höchstbetrag. Indem der Schalter in eine Stellung «Kombinationseingabe» gedreht wird, was in dem Fenster 47 angezeigt wird, und dabei eine zutreffend kodierte Kombination über die Tastatur eingegeben wird, wird der Nachlade-Betriebszustand der Frankiermaschine in Wirkung gesetzt. Im Nachlade-Be-triebszustand der mittels eines durch den Schlüssel 46 gesteuerten internen Schaltschlosses hervorgerufen werden kann, gestattet eine Stellung «Betriebseingabe», welche durch diese Botschaft in dem Fenster 47 angezeigt wird, mittels der Tastatur eine Eingabe im Nachladewert-Register der Frankiermaschine. Nach dem Zurückstellen des Schlüssels in die Betriebsstellung können mit der Frankiermaschine wieder Portogebühren gedruckt werden.
Der Wartungsschalter kann sich innerhalb der Frankiermaschine in einer ungeschützten Lage befinden, weil die durch die Verwendung dieses Schalters ermöglichte Anzeige der zusätzlichen Werte die Schutzwirkung der Frankiermaschine nicht berührt und lediglich die Anzeige zusätzlicher Werte ermöglicht. Der Umstand, dass gerade derartige Werte angezeigt werden, kann, sofern dies wünschenswert ist, »durch eine unterscheidende Unterstreichung der Anzeigeeinheit dargestellt werden, und der Betrieb des Wartungsschalters 50 setzt die Portoeinstelltaste 34 teilweise ausser Betrieb. Wenn sich die Frankiermaschine in ihrem «Wartungs»-Betriebszustand befindet, ist es sodann nicht möglich, einen neuen Portogebührenwert in der Frankiermaschine einzustellen, und der Betrieb der Frankiermaschine wird im Wartungs-Betriebszustand durch die Wirkung des Vermittlers blockiert. Es kann jedoch eine Einstelltaste noch dazu verwendet werden, die Anzeige des augenblicklich eingestellten Wertes zu bewirken.
Wenn sich die Frankiermaschine in ihrem Wartungs-Betriebszustand befindet, d.h. der Schalter 50, der Schalter 45 und der Schlüssel 46 betätigt worden sind, wird durch die Eingabe eines neuen Wertes und eines die Funktion dieses Wertes anzeigenden Kodes mittels der Tastatur jeweils eine Rücksetzung des Sperrwertes, des unteren Portogebühren-Warenbetra-ges oder des einstellbaren Höchstbetrages bewirkt. Der Sperrwert stellt einen bestimmten Wert, beispielsweise von einem Franken, dar, bei dem ein Ausdrucken von den Sperrwert übersteigenden Portobeträgen vermieden wird. Zu diesem Zweck ist bei allen oberhalb des Sperrwertes gelegenen Beträgen einschliesslich desselben ein zusätzlicher Schritt durch die Bedienungsperson erforderlich, wie ein zusätzliches Niederdrücken der Portoeinstelltaste 34. Die Anzeigeeinheit kann mit einer Kennungsmarke, beispielsweise einem waagrechten Balken versehen sein, um anzuzeigen, dass das Druckräderwerk eingestellt, jedoch der Freigabeschritt, d.h. das zusätzliche Niederdrücken der Portoeinstelltaste nicht ausgeführt worden ist. Die Freigabe wird durch die Anzeigeeinheit beispielsweise mittels drei waagrechten Balken angezeigt, um die Portogebühren auszudrucken.
Wenn das abfallende Register nicht über ausreichende Mittel verfügt, den in dem Druckräderwerk eingestellten Betrag abzudecken, kann dies durch Blinken der gesamten Anzeigeeinheit angezeigt werden. Wenn andererseits der in dem abfallenden Register gespeicherte Wert niedriger als die untere Portogebühren-Warngrenze ist, kann dies durch Blinken des Dezimalpunktes angezeigt werden. Der «einstellbare Höchstbetrag» kann natürlich bei der Einstellung einer Portogebühr nie überschritten werden.
Die Frankiermaschine kann auch mit einem «Berechtigungsschalter» 51 versehen sein, der normalerweise durch ein Siegel in der Betriebsstellung festgelegt ist. Die nach einem Erbrechen des Siegels erfolgende Betätigung dieses Schalters ermöglicht das örtliche Nachladen der Frankiermaschine durch das Postpersonal.
Zusätzlich ist die Frankiermaschine mit einer oder mehreren arithmetischen Funktionstasten 52 versehen, durch die eine Änderung des Portoeinstellbetrages ermöglicht ist, wie die Addition weiterer Werte zum bereits angezeigten Einstellwert, bevor die Portoeinstelltaste 34 niedergedrückt wird. Dieses Merkmal ermöglicht die Einführung weiterer Werte, wie Versicherungsbeträge oder dergleichen, durch die Bedienungsperson, ohne dass eine Berechnung von Hand oder eine Berechnung auf einem separaten Gerät erforderlich ist.
Der innere Aufbau der Frankiermaschine ist aus Fig. 3 ersichtlich. Das Gehäuse der Frankiermaschine 20 ist in Abteile unterteilt. In einem ersten Abteil 55 ist die Druckereinheit 56 angeordnet, die eine Druckereinrichtung (nicht dargestellt) steuert.
Innerhalb des ersten Abteils 55 ist ein zweites Abteil 57 vorgesehen, das vorzugsweise elektromagnetisch abgeschirmt ist. In diesem zweiten Abteil 57 ist eine Buchungseinheit 58 angeordnet.
Die Buchungseinheit ist mit externen, d.h. ausserhalb des Abteils 57 vorgesehenen Geräten durch optische oder ähnliche Koppler 59 verbunden, um jeglichen Schaden davon abzuhalten, sei es zufällig oder absichtlich, der durch die Einwirkung von Rauschstörungen, beispielsweise Überspannungen, an der Druckereinheit hervorgerufen werden kann. Eine derartige Kopplung ist natürlich nicht für dessen Energiequelle vorgesehen, die ebenfalls innerhalb des Abteils 55 eine in einem dritten Abteil 61 vorgesehene Stromversorgung 60 aufweist. Die Stromzufuhr zur Stromversorgung 60 erfolgt über ein innerhalb des Abteils 61 angeordnetes Filter 62, um Spannungsänderungen zu eliminieren, die die Druckereinheit nachteilig beeinflussen würden.
Das Gehäuse der Frankiermaschine 20 hat ein viertes Abteil 63. In diesem vierten Abteil 63 ist eine Sicherung 66 für die Frankiermaschine vorgesehen. Dieser Sicherung 66 ist ein Thermostat 67 und diesem ein Filter 68 nachgeschaltet. Der Thermostat verhindert beim Auftreten von Übertemperaturen die Anlegung einer Spannung an die Frankiermaschine. Zum
5
10
15
20
25
30
35
40
45
50
55
60
65
662 436
4
Schutz ist ein Isolationstransformator 69 und ein Überspannungsabieiter 70 vorgesehen. Die Stromversorgung der Frankiermaschine erfolgt schliesslich über eine Energiespeichervorrichtung 71, wie einen einen grossen Wert aufweisenden Kondensator angelegt, wobei der Kondensator eine angemessene Energiespeicherung ermöglicht, so dass die Daten beim Auftreten eines Stromausfalls in einen leistungsunabhängigen Speicher übertragen werden. Der Abfall der Spannung kann durch einen in dem ersten Abteil 55 vorgesehenen Fühler 72 erfasst werden, wobei ein Ausgangssignal des Fühlers zur Signalisierung einer Änderung der Betriebsweise an die Buchungseinheit gerichtet ist und das andere Ausgangssignal (welches mechanischer Natur sein kann) einer Sperrung weiterer Funktionen des Druckmechanismus dient.
Der Isoliertransformator 69 ist ausserdem mit einer Steuereinheit 75 der Frankiermaschine verbunden. Ferner ist die Buchungseinheit 56 mit der Steuereinheit 75 verbunden. Die Steuereinheit 75 kann auch ausserhalb der Frankiermaschine vorgesehen werden. Die Steuereinheit umfasst eine Tastatur, Anzeigeeinheiten und dergleichen, die für den Betrieb der Frankiermaschine erforderlich sind.
Eine Ausführungsform der Steuereinheit 75 ist in Fig. 4 dargestellt. Aus Gründen einer konstruktiven Vielseitigkeit und Wandelbarkeit beinhaltet diese Einheit vorzugsweise einen Mikroprozessor 80, beispielsweise der Serie 6500, der von Rockwell International über herkömmliche Datenleitungen, Steuerleitungen und Adressleitungen und einem herkömmlichen RAM/ ROM-Eingabe/Ausgabe/Zeitgeber-Logikschaltkreis 81 mit Nur-Lesespeicher, freiadressierbarem Speicher, Zeitsteuerelementen und Eingabe/Ausgabe-Schnittstellen-Hardware umfasst. Der Mikroprozessor 80 und der Schaltkreis 81 sind über herkömmliche Datenleitungen, Steuerleitungen und Adressleitungen verbunden. Durch die Verwendung geeigneter Dekoder 82 kann dabei eine Tastatur 83 in der herkömmlichen Weise abgetastet werden, und durch die Verwendung geeigneter Treiber 84 kann eine Anzeigeeinheit 85, vorzugsweise entsprechend herkömmlicher Praxis in einer Multiplex-Betriebsweise gesteuert werden. Die dem Niederdrücken jeder einzelnen Taste der Tastatur entsprechenden Daten können hierdurch dem Prozessor 80 übermittelt werden, um auf den Leitungen 86 serielle Eingabe/Ausgabesignale für eine Kommunikation mit der Buchungseinheit 58 zu bilden. Falls die Steuereinheit mit weiteren Eingabe/Ausgabegeräten, wie externen Anzeige- oder Steuereinrichtungen verbunden ist, können diese über weitere Eingabe/Ausgabeleitungen 88, vorzugsweise serielle Kommunikationskanäle und über optische Koppler mit der Steuereinheit gekoppelt sein. Die Steuereinheit kann eine interne Stromversorgung und Regler 89 aufweisen, die mit der in Fig. 3 dargestellten Spannungsversorgung verbunden ist. Die vorstehend beschriebenen, durch die Steuereinheit erfolgenden Funktionen sind somit solche Funktionen, die in dem Sinne nicht kritisch sind, dass ein Verlust bei der Steuerung oder des Inhalts irgend eines darin vorhandenen Registers nicht mit einem Verlust von Gebühren für die Postverwaltung oder den Benützer verbunden ist. Diese Funktionen sind der Steuereinheit zugewiesen worden, damit die geschützten Bereiche der Frankiermaschine lediglich diejenige Programmierung des Systems umschliessen, die geschützt sein muss. Durch die Steuereinheit können zusätzliche Funktionen bewirkt werden, ebenso wie die Addition von nacheinander eingegebenen Beträgen ebenfalls durch das Programm der Steuereinheit gesteuert werden kann, da derartige Berechnungen für den Schutz der Frankiermaschine nicht wesentlich sind und nicht innerhalb der mechanisch oder physikalisch geschützten Bereiche der Frankiermaschine ausgeführt zu werden brauchen. In gleicher Weise können die rücksetzbaren Wartungsfunktionen durch die Programmierung der Steuereinheit bewirkt werden, da diese Funktionen bezüglich der Buchungseinheit und der Register selbst unkritisch sind. Um jedoch diese Parameter in dem leistungsunabhängigen Speicher festzuhalten, ist die Aufbewahrung in der Buchungseinheit wünschenswert.
Es ist natürlich ersichtlich, dass bei der in Fig. 4 dargestellten Steuereinheit ohne grosse Schwierigkeiten weitere arithmetische Tasten vorgesehen werden können, so dass die Frankiermaschine alternativ auch als ein Rechner verwendet werden kann.
Alternativ kann der Prozessor durch einen mit der Tastatur und der Anzeigeeinheit verbundenen Rechnerchip oder dergleichen erweitert werden, um arithmetische Funktionen auszuführen.
Während die in Fig. 4 dargestellte Steuereinheit vorzugsweise unmittelbar an der Frankiermaschine als deren Bestandteil angeordnet ist, kann diese Steuereinheit offensichtlich auch davon räumlich getrennt oder räumlich trennbar angeordnet sein.
Da bei der in der Frankiermaschine verwendeten seriellen Kommunikation Geld betreffende Informationen und Steuerun gen vorherrschen, ist ein hohes Mass von Lauterkeit zwingend. Zu diesem Zweck wird bei der Frankiermaschine eine serielle Kommunikation angewendet, bei der ein übertragenes Bit für Prüfzwecke durch seinen Empfänger rückübertragen oder als «Echo» rückgesendet wird. Wenn der Sender dabei alle der als Echo zurückgesendeten Signale zufriedenstellend empfängt, kann durch ihn ein Impuls «kein Fehler» ausgegeben werden, wodurch der Empfänger der Information informiert wird, dass die empfangene Information gültig ist.
Eine Ausführungsform der Buchungseinheit ist in Fig. 5 dargestellt, die vorzugsweise von einer elektromagnetischen Abschirmung 90 umgeben ist. Die Einheit weist einen Mikrocomputer 91 mit einer damit gekoppelten leistungsunabhängigen Speichersteuerung 92 auf. Die leistungsunabhängige Speichersteuerung steuert die Übergabe gespeicherter Daten zwischen dem leistungsabhängigen Speicher, welcher Bestandteil des Mikrocomputers 91 sein kann, und einem leistungsunabhängigen Speicher 93. Die leistungsabhängigen Speicher, wie frei adressierbare Speicher, können als anwachsende Arbeitsregister, abfallende Arbeitsregister und dergleichen betrieben werden. Der Mikrocomputer weist auch eine Nurlesespeichersteuerung für die notwendigen Buchungsroutinen sowie Steuerroutinen auf. Die Buchungseinheit kann ausserdem serielle Schnittstellen aufweisen, um ihre schnittstellenmässigen Verbindungen mit der Drucker- und Steuereinheit zu ermöglichen. Der Mikrocomputer kann beispielsweise ein Mikrocomputer der Serie 8040 von Intel Corporation, Santa Clara, Californien sein und einen Steuerschaltkreis aufweisen, der seiner Art nach dem in bezug auf die Steuereinheit 75 beschriebenen gleicht. Um Störungen der Buchungseinheit durch zufällig oder absichtlich angelegte elektrische Spannungsstösse zu vermeiden, und ein durch Erdschleifen induziertes elektrisches Rauschen auszuschliessen, erfolgt die Kommunikation des Mikrocomputers mit den ausserhalb des Abteils 57 gelegenen Geräten durch geeignete Koppler, durch die keine Spannungsstösse auf den Mikrocomputer übertragen wérden können. Diese Koppler können beispielsweise opto-elektronische Koppler sein und sind ebenfalls vorzugsweise derart angeordnet, dass sie vom Aussenraum der Frankiermaschine her nicht zugänglich sind. Dabei kann ein Koppler 94 für die Zweiwegkommunikation mit der Steuereinheit vorgesehen sein. Ein weiterer Koppler 95 kann für die Zweiwegkom-munikation mit der Druckereinheit 56 vorgesehen sein. Ein weiterer Koppler 96 kann zur Übertragung des Stromausfallsignals an den Mikrocomputer 91 vorgesehen sein. Darüber hinaus kann ein Koppler 97 zur Steuerung eines im Drucker vorgesehenen nicht dargestellten Sperrgliedes vorgesehen sein, um beispielsweise die Funktionen des Druckers mechanisch zu sperren
Der leistungsunabhängige Speicher 93 ist beim gegenwärtigen Stand der Technik vorzugsweise ein MNOS-Speicher, für den keine Sicherheitsstromquelle erforderlich ist. Dieser Speicher kann jedoch alternativ aus Elementen gebildet sein, die
5
10
15
20
25
30
35
40
45
50
55
60
65
5
662 436
dauernd mit Strom versorgt werden müssen, wobei in diesem Fall ein Steuerungsschaltkreis verwendet werden kann. Der Zweck des Steuerungsschaltkreises 98 besteht darin, für den MNOS-Speicher Energie zur Verfügung zu stellen, um dadurch dessen Datenübertragungsoperation im wesentlichen während des Einschaltens und Ausschaltens der Energie zu bewirken. Das Programm des Mikrocomputers 91 ist derart organisiert, dass die Inhalte der Register der Computereinheiten in den leistungsunabhängigen Speicher eingegeben werden, sobald irgendein Anzeicnen eines Stromausfalls auftritt und dass diese Daten nach dem Stromausfall in die Arbeitsregister zurückgespeichert werden.
Der in der Fig. 3 dargestellte Thermostat 67 unterbricht die Stromversorgung für die Frankiermaschine im Falle eines Hoch- oder Tieftemperaturbetriebs. Hierdurch wird die Frankiermaschine infolge der Stromunterbrechung automatisch in ihren Stromausfallzyklus versetzt.
Im Abteil 57 kann ausserdem ein Temperaturfühler 99 mit damit sowie an den Mikrocomputer gekoppelten, geeigneten, nicht dargestellten Schaltkreisen angeordnet sein, um beim Auftreten von Übertemperaturen Daten in den leistungsunabhängigen Speicher zu übertragen. Die Buchungseinheit kann ferner das Solenoid für das Sperrglied beim Auftreten von Übertemperaturen über den Koppler 97 abschalten. Es wird darauf hingewiesen, dass das Sperrglied durch den Mikrocomputer 91 auch derart gesteuert wird, dass der Betrieb des Druckers gesperrt wird, falls für einen Druckvorgang eine nur unzureichende Portogebühr übrig ist, oder durch andere Buchungsdaten angezeigt wird, dass die Druckereinheit nicht in Betrieb sein sollte.
Während die Koppler als getrennte Einheiten dargestellt worden sind, wird darauf hingewiesen, dass diese Einheiten natürlich auch Mehrfachanordnungen enthalten können, so dass in den betreffenden Schaltkreisen eine Zweiwegkommunikation aufgebaut ist. Ferner wird darauf hingewiesen, dass Systeme zur Übertragung von Daten zwischen leistungsabhängigen und leistungsunabhängigen Speichern wohlbekannt sind.
In Fig. 6 ist ein mehr in Einzelheiten gehendes Blockschema einer bevorzugten Ausführungsform der Steuereinheit dargestellt. In dieser Figur sind die Blöcke soweit anwendbar durch Teilenummern und Anschlüsse identifiziert. Diese Einheit weist in ihrer Darstellung einen Mikroprozessor 100 des Typs 6503 von Rockwell International auf, deren Daten- und Adressenleitungen an einen RAM/ROM/Eingabe/Ausgabe/Zeitgeber-Logikschaltkreis 101 des Typs 6531 von Rockwell International sowie an einen programmierbaren Nurlesespeicher oder PROM 102 des Typs 2716 von Rockwell International angekoppelt sind, wobei in dem PROM 102 das Programm für die Steuereinheit gespeichert ist. Ebenso können mit dem Schaltkreis 101 Steuerleitungen wie die Unterbrechungsleitung INT und die Le-se/Schreib-Leitung R/W verbunden sein. Der Schaltkreis 101 weist, wie noch beschrieben wird, eine Anzahl von Anschlussstellen auf.
Die Steuereinheit weist ferner eine Tastatur 103 mit den in Fig. 1 dargestellten numerischen Tasten 31, den Anzeigetasten 35 bis 40 und dem in drei Stellungen betätigbaren Schalter 45 auf. Diese Steuereinheit umfasst ausserdem die Aufadditionstaste 52 und die Portoeinstelltaste 34. Alle diese Tasten und Schalter sind in einer Matrix in herkömmlicher Weise mit dem Schaltkreis 101 verbunden, um die Abtastung der Tasten und Schalter entsprechend dem Programm zu ermöglichen und damit das Schliessen einer Taste oder eines Schalters zu erfassen. Die acht Leitungen PAO bis PA7 des Tores A sowie vier Leitungen PB0 bis PB3 des Tores B des Schaltkreises 101 sind auch mit dem Siebensegment-Sichtanzeigefeld 104 für eine in der herkömmlichen Weise erfolgende Multiplex-Anzeige verbunden. Der Schaltkreis 101 ist weiter an ein Paar von Anschlussstellen PC-0, PD-0 zur seriellen Kommunikation mit der Buchungseinheit 58 angeschlossen. Zusätzlich ermöglicht ein weiteres Paar von weiteren Anschlussstellen PC-1, PD-1 über opto-elektrische Koppler 107 bzw. 108 eine serielle Kommunikation mit externen Geräten. Ein weiterer Ausgang ist an eine Leuchtdiode 109 angeschlossen, um auf dem Anzeigefeld eine Anzeige dafür hervorzurufen, dass die Datumgebertür nicht geschlossen ist. Eine weitere Anschlussstelle PC-3 ist mit einer Leuchtdiode 110 auf dem Anzeigefeld verbunden, um anzuzeigen, dass ein Eingriff der Bedienungsperson erforderlich ist, um den in der Basis vorgesehenen Auslösemechanismus zu lösen. Schliesslich ist eine weitere Anschlussstelle PB-5 mit dem Wartungsschalter 50 verbunden, um die Funktionen der Frankiermaschine in dem War-tungs-Betriebszustand in Betriebsbereitschaft zu versetzen.
Das Programm der Mikroprozessoren ist auf die Bedienung der Tastatur, des Anzeigefeldes und dergleichen gerichtet, so dass die Speicherung von Daten vorrangig in der Buchungseinheit bewirkt werden. Das Programm beinhaltet dabei diejenigen Funktionen, die für das Abtasten der Tastatur, den Multiplexbetrieb der Anzeigeeinheit, die Formatierung von Signalen für die Kommunikation mit den anderen Einheiten und mit externen Geräten und dergleichen erforderlich sind, so dass jede neue Information auf die Buchungseinheit übertragen werden kann.
Ein typischer opto-elektrischer Koppler ist in Fig. 7 dargestellt, der in erster Linie ein herkömmliches 6N125-Element 115 mit einem Festkörperemitter zur Erzeugung von optischen Signalen für den Empfang durch eine Fotodiode, wobei die Fotodiode in den Basiskreis eines Transistorverstärkers eingeschaltet ist, bildet.
Ein Blockschema einer bevorzugten Ausführungsform der Buchungseinheit ist in der Fig. 8 dargestellt. Die Buchungseinheit enthält einen Mikrocomputer 120 des Typs 8039 von Intel Corporation, der über opto-elektrische Koppler 121 und 122 mit der Steuereinheit sowie über opto-elektrische Koppler 123 und 124 mit der Druckereinheit verbunden ist. Ausserdem kann eine Anschlussstelle P12 des Mikrocomputers 120 über einen opto-elektrischen Koppler 125 zur Steuerung eines Sperrgliedes oder dergleichen mit der Druckereinheit verbunden sein. Signale, die einen Stromausfall signalisieren, werden ferner über einen opto-elektrischen Koppler 126 an eine Anschlussstelle IRG des Mikrocomputers 120 angelegt. Es ist somit ersichtlich, dass alle Signale von und zu der Buchungseinheit über opto-elektrische Koppler geführt werden müssen, um die elektrische und physikalische Unbedenklichkeit oder Lauterkeit dieser Einheit sicherzustellen. Die Buchungseinheit weist ferner eine Anzahl von programmierbaren Nurlesespeichern oder PROMS 127 auf, die an die Adressen- und Datenleitungen des Mikrocomputers 120 angekoppelt sind, wobei beispielsweise jeder PROM 127 ein löschbarer PROM oder E-PROM des Typs 8755 von Intel Corporation ist. Die Nurlesespeicher sind mit einem elektrisch veränderbaren Nurlesespeicher (EAROM) 128, beispielsweise des Typs ER 3400 verbunden, der bei Stromausfall als ein leistungsunabhängiger Speicher dient. Der Arbeitsspeicher für die Buchungseinheit einschliesslich der zur Speicherung aller Betriebsdaten dienenden Register ist in dem Mikrocomputer 120 vorgesehen, wobei diese Daten dem elektrisch veränderbaren ROM 128 zu einem solchen Zeitpunkt zugeleitet werden, zu dem ein Stromabfall erfasst wird. Um eine vollständige Übertragung der Daten sicherzustellen, können in herkömmlicher Weise Speicherkondensatoren eingeschaltet sein, um eine angemessene Energie zu speichern, durch die die einwandfreie Funktion des Schaltkreises sichergestellt ist, bis die Übertragung der Daten bewirkt worden ist.
Ein bevorzugtes Blockdiagramm einer bevorzugten Ausführungsform der Druckereinheit ist in Fig. 9 dargestellt. Die Druckereinheit weist einen Mikrocomputer 130, beispielsweise des Typs 8748-8 von Intel Corporation auf. Der Mikrocomputer ist über geeignete Puffer mit den in der Druckereinheit vorhandenen Eingabe-Ausgabevorrichtungen verbunden. Die me5
10
15
20
25
30
35
40
45
50
55
60
65
662 436
6
chanischen und opto-elektrischen Fühlereinrichtungen innerhalb der Druckereinheit sich von herkömmlicher Art. Auf diese Weise ist der Mikrocomputer mit einer Anzahl von nicht dargestellten opto-elektrischen Fühlern zur Erfassung der Lageeinstellung des Druckräderwerks verbunden. Ein nicht dargestellter Zugangsberechtigungsschalter ist innerhalb der Druckereinheit angeordnet und nur über eine durch das Postamt versiegelte Tür zugänglich. Diese Leitungen des Mikrocomputers sind weiter derart geschaltet, dass die Stellung einer Zeitgebertür er-fasst wird, wobei der Zeitgebertürschalter und der Zugangsberechtigungsschalter durch weitere Ausgangssignale des Mikrocomputers 130 abgetastet werden. Die Leuchtdioden der optischen Fühler werden zu den geeigneten Zeiten mittels weiterer Ausgangssignale des Mikrocomputers 130 abgetastet und wieder andere Ausgangssignale des Mikrocomputers ermöglichen den Schrittbetrieb der Reihen- und Ziffernschrittmotore für das Druckräderwerk. Ferner weist der Mikrocomputer 130 Anschlussstellen zur seriellen Kommunikation mit der Buchungseinheit auf. Ferner wird durch das von der Buchungseinheit herrührende Sperrglied-Ausgangssignal und ein weiteres Ausgangssignal des Mikrocomputers 130 ein Paar von Transistoren angesteuert, um das Solenoid 153 des Sperrgliedes zu erregen, wobei das Solenoid 153 erst dann erregt wird, wenn sowohl in der Buchungseinheit als auch in der Druckereinheit alle Vorbedingungen erfüllt sind. Demzufolge kann solange kein Druckzyklus beginnen, bis die physikalischen und elektrischen Bedingungen innerhalb der Frankiermaschine für einen normalen Druckvorgang realisiert sind. In der Druckereinheit ist ersichtlich, dass das Programm innerhalb der CPU selbst vorgesehen ist.
Frankiermaschinen der vorstehend beschriebenen Art können mit mehreren Abwandlungen versehen sein. Beispielsweise besteht bei einer Abwandlung, die abgekürzt als «RMRS» bezeichnet wird, die Möglichkeit zum fernbetätigten Laden, wobei der Schlüssel für einen Betrieb eines in drei Stellungen schaltbaren Ladeschalters auf der Tastatur vorgesehen ist. Einer Bedienungsperson der Frankiermaschine kann auf diese Weise eine in die Tastatur einzugebende geeignete Kombination angegeben werden, um ihr ein fernbedientes Laden (d.h. über eine Entfernung von dem Postamt) zu ermöglichen. Bei derartigen Frankiermaschinen ist der Zugangsberechtigungsschalter weggelassen.
In einer weiteren Abwandlung kann der in die drei Stellungen schaltbare Nachladeschalter durch einen einfachen Knopf gesteuert werden, ohne dass ein Schlüssel erforderlich ist. Bei dieser Art von System, das abgekürzt als «MMRS» bezeichnet wird, kann die Frankiermaschine am Postamt von Hand nachgeladen werden, wogegen die Wartungsfunktionen ebenso wie bei den Einheiten des RMRS-Typs lokal bewirkt werden können.
Anders ausgedrückt kann das Nachladen einer Frankiermaschine der oben beschriebenen Art lokal bewirkt werden, wenn die Frankiermaschine mit einem Schlüssel für den in drei Stellungen schaltbaren Schalter versehen ist, wobei in diesem Fall weitere Schutzmassnahmen erforderlich sind, wie später noch besprochen werden wird. Andererseits ist bei den einen einfachen Knopfschalter anstelle des Schlüsselschalters aufweisenden Frankiermaschinen die durch das Postamt versiegelte «Zugangsberechtigung» für ein manuelles Nachladen vorgesehen.
Befindet sich die Frankiermaschine in ihrem normalen Betriebszustand, wird durch ein Niederdrücken der sechs Anzeigetasten die Anzeige von sechs Parameter auf dem Anzeigefeld bewirkt, d.h. die in dem anwachsenden Register vorhandene Gesamtsumme der gesamten bereits ausgedruckten Portogebühren, die in dem abfallenden Register vorhandene verbleibende Gesamtsumme der noch vorhandenen Portogebühren, die Kontrollsumme, die Gesamtzahl der von der Frankiermaschine ausgeführten Druckvorgänge, der Wert der gedruckten Portogebühren und die Anzahl der seit der letzten Stapellöschoperation der zugehörigen Register gedruckten Stücke. Durch das Niederdrücken dieser Tasten wird die betreffende Zahl nach dem Loslassen der entsprechenden Taste nur während einer bestimmten Zeitspanne angezeigt, beispielsweise für zwei Sekunden, wonach die Anzeigeeinheit in den Portogebühreinstellbetrieb zurückkehrt.
Bei allen diesen Frankiermaschinentypen tritt eine unterschiedliche Anzeigefunktion der Anzeigetasten auf, wenn der Wartungsschalter in die Wartungsstellung gebracht wird und der in die drei Stellungen schaltbare Schalter weiterhin in der Betriebsstellung verbleibt. Auf diese Weise bewirkt sodann ein Niederdrücken der Taste «verbrauchte Portogebühr» eine Anzeige des in einem Register der Maschine gesetzten Sperrwertes, bei dem oder oberhalb dessen eine Bedienungsperson keine Portogebühr ausdrucken kann. Über diesem Wert liegende Portogebührenwerte erfordern zur Ausführung ein zusätzliches Niederdrücken der Portoeinstelltaste, um ein unbeabsichtigtes Drucken von Portogebührenwerten zu vermeiden. Durch ein Niederdrücken der Taste «unverbrauchte Portogebühr» 36 wird nun eine Anzeige des in dem Register für die untere Portogebühren-Warngrenze vorhandenen Wertes bewirkt, bei dem eine Warnung erfolgen sollte, dass der Inhalt des abfallenden Registers einen bestimmten Betrag unterschritten hat. Ein Niederdrücken der Kontrolltaste oder Taste «Portogebührensumme» 37 bewirkt nun die Anzeige der Seriennummer der Frankiermaschine. Das Niederdrücken der Taste «Stückzahl» 38 bewirkt nun eine Anzeige des Diagnosestatus der Frankiermaschine. Diese Anzeige liefert dem Wartungstechniker Hinweise auf mögliche Fehlfunktionen. Ein Niederdrücken der Taste «Stapelwert» 39 bewirkt nun eine Anzeige des einstellbaren Höchstbetrags, d.h. des innerhalb der Frankiermaschine eingestellten Höchstbetrags, oberhalb dessen die Druckregister der Frankiermaschine nicht eingestellt werden können. Ein Niederdrücken der Taste «Stapelzahl» 40 ist in dem Wartungs-Betriebszustand wirkungslos.
Der in die drei Stellungen schaltbare Schalter dient dazu, ein Nachladen der Frankiermaschine oder eine Änderung der in dem Register für den Sperrwert, dem Register für den unteren Portogebührenbetrag und dem Register für den einstellbaren Höchstbetrag vorhandenen Werte zu bewirken.
Bei der RMRS-Ausführungsform, d.h. dem ferngesteuerten Frankiermaschinenrückstellsystem wird durch Einstellung des die drei Schaltstellungen aufweisenden Schalters in die Stellung «Kombinationseingabe» oder die Stellung «Betragseingabe» der Benutzer in die Lage gesetzt, mittels der Tastatur bei einer Anzeige durch die Anzeigeeinheit die Kombination bzw. den Betrag in die Frankiermaschine einzugeben. Beim Verlassen dieser Schaltstellung wird der angezeigte Wert in die Buchungseinheit eingegeben und die Anzeigeeinheit für die nächste Eingabe gelöscht. Durch die Rückkehr des die drei Schaltstellungen aufweisenden Schalters in die Betriebsstellung wird eine vollständige Durchführung der Nachladeroutine durch die Buchungseinheit bewirkt sowie eine Rückkehr der Frankiermaschine in den Normalbetrieb, wonach der Nachladebetrag zu dem Register «unverbrauchte Portogebühren» addiert wird. Die für die RMRS-Ausführungsform erforderliche Kombination wird von einem RMRS-Datenzentrum erhalten und stellt eine Zufallsoder Pseudozufallszahl dar, die sich aus Sicherheitsgründen bei jedem Nachladevorgang ändert.
Bei der MMRS-Ausführungsform der Frankiermaschine, d.h. dem handbetätigten Frankiermaschinenrückstellsystem wird der Nachladebetrieb dadurch bewirkt, dass das Siegel der Zugangsberechtigungstür erbrochen und der Zugangsberechtigungsschalter umgeschaltet wird. Zum Nachladen der Frankiermaschine wird dieselbe Folge von Betätigungen des die drei Schaltstellungen aufweisenden Schalters befolgt, die oben im Zusammenhang mit der RMRS-Ausführungsform beim fernbe5
10
15
20
25
30
35
40
45
50
55
60
65
7
662 436
tätigten Nachladen beschrieben worden ist. In der MMRS-Aus-führungsform ist nur Postpersonal berechtigt, die Änderung durchzuführen. Die Kombination besteht aus einer nur dem Postamt bekannten festen Zahl, die in der Frankiermaschine gespeichert ist. Der Normalbetrieb der Frankiermaschine geht weiter, sobald der Zugangsberechtigungsschalter in seine Stellung «Betrieb» zurückgeschaltet ist.
Zur Änderung der in den den Sperrwert, den unteren Porto-Gebühren-Betrag und den einstellbaren Höchstbetrag betreffenden Registern vorhandenen Werte wird die Frankiermaschine durch den Wartungstechniker in den Wartungs-Betriebszustand versetzt, indem der Wartungsschalter in die Wartungsstellung gebracht wird. Zur Eingabe der Werte für Kombination und Betrag wird der die drei Schaltstellungen aufweisende Schalter in der oben beschriebenen Weise verwendet. Der Kombinationswert wird durch die Frankiermaschine interpretiert um anzuzeigen, welches Register zu ändern ist. Wenn bei der RMRS-Ausführungsform und der MMRS-Ausführungsform ein Fehler bei der Eingabe erfolgt ist, wird das Auftreten dieses Fehlers als ein Anzeichen für einen Fälschungsversuch der Maschine gezählt. Wenn seit der letzten Einstellung der Frankiermaschine eine bestimmte Anzahl derartiger Fehler aufgetreten ist, beispielsweise neun, wird die Funktion der Maschine für ein Nachladen von Postgebühren gesperrt. Eine Rückführung der Frankiermaschine in ihren Betriebszustand kann unter solchen Umständen beim Postamt ausgeführt werden. Eine Diskussion der Mittel für eine Rückführung der Maschine in ihren vollen Betriebszustand ist für die Erfindung nicht von Belang und bezieht sich auf den Schutz der Frankiermaschine.
Wie vorstehend beschrieben worden ist, weist jede der drei Einheiten der Frankiermaschine einen Mikroprozessor bzw. Mikrocomputer mit einem ein bestimmtes Programm festlegenden Nurlesespeicher auf, und die Kommunikation zwischen den Einheiten wird seriell und asynchron bewirkt. Dies wird in erster Linie dadurch erreicht, dass jedes der Computersysteme mit einem kristallgesteuerten Taktgeber ausgestattet ist. Ferner sind die Signale derartig festgelegt, dass ihre Übergänge genau kontrolliert werden, wodurch sichergestellt ist, dass, sofern ein Signal auftritt, dieses innerhalb einer vorgegebenen Zeitspannung auftreten muss. Als eine weitere Sicherheitsmassnahme für die Richtigkeit der Kommunikation werden zum Zwecke einer Fehlerprüfung beim Sender die Bits eines Signals zum Sender rückübertragen, sobald sie empfangen worden sind, wobei ein Bit «kein Fehler» unmittelbar im Anschluss an eine Datenmeldung übertragen werden kann, wenn die Daten in richtiger Weise erfolgt sind.
Das Programm der Steuereinheit spricht auf den Status der Frankiermaschine in bezug auf vorbestimmte Parameter an. Ein in dem Mikrocomputer der Buchungseinheit vorhandenes Register enthält eine Statusinformation der Frankiermaschine von beispielsweise zwei Bites, durch deren Bits digital angezeigt wird, wenn der Auslösemechanismus der Frankiermaschine eine Freigabe erfordert, wenn die Zeitgebertür im Anschluss an die letzte Anlegung des Betriebsstroms nicht geöffnet worden ist oder gegenwärtig offen ist, wenn keine ausreichenden Geldmittel vorhanden sind, welche das Drucken des im Druckräderwerk eingestellten Betrags ermöglichen, wenn der untere Portogebührenwert erreicht worden ist, wenn sich die Frankiermaschine in einem Wartungszustand befindet, wenn die Frankiermaschine in Betriebsbereitschaft versetzt ist, wenn die Stapelregister gelöscht sind, wenn ein Auslösevorgang vollständig durchgeführt ist oder wenn verschiedene Arten von Fehlern aufgetreten sind. Die mit diesen Bits verbundene Statusnachricht stimmt nicht mit der oben erwähnten Diagnosenachricht überein, die im Wartungsbetrieb verwendet wird. Die Buchungseinheit hält die Steuereinheit über den gegenwärtigen Status auf dem laufenden, indem sie die Statusnachricht auf die Steuereinheit überträgt, nachdem der Strom angeschaltet worden ist und danach immer dann, wenn eine Änderung des Status auftritt, wobei die Steuereinheit auf alle derartigen Nachrichten anspricht, indem sie sicherstellt, dass die Anzeige der Frankiermaschine mit der oben besprochenen Statusnachricht konsistent ist. Diese letztgenannten Schritte können beispielsweise die Anzeige einer Zeile von Dezimalziffern beim Auftreten bestimmter Fehler beinhalten, sowie einen Blinkbetrieb des Dezimalpunktes beim Auftreten der unteren Portomittelgrenze, einen Blinkbetrieb der gesamten Anzeigeeinheit beim Auftreten einer unzureichenden Portogebühr, die Anzeige von Unterstreichungen anstelle von Leerstellen, wenn sich die Frankiermaschine im Wartungszustand befindet. Ein in der Steuereinheit vorgesehenes Unterbrechungsprogramm unterbricht das Hauptprogramm der Steuereinheit in regelmässigen Zeitabständen, um die Tastatur und den Schlüsselschalter abzutasten und die Anzeigeeinheit auszusteuern. Um zu verhindern, dass auf der Anzeigeeinheit Scheinzeichen auftreten, die durch unerwünschte Nebenschlussströme erzeugt werden können, wenn mehr als eine Taste niedergedrückt werden, bewirkt das Unterbrechungsprogramm statt dessen eine Leeranzeige der Anzeigeeinheit. Die Bestandsführung der Werte, die sich auf die Zeit, die Tastatur und den Schlüsselschalter beziehen, erfolgt durch das Unterbrechungsprogramm für eine Verwendung durch das Hauptsteuerprogramm.
Das Hauptprogramm für die Steuereinheit beinhaltet Schritte der Anfangswertsetzung, Programmschritte für die in beiden Richtungen erfolgende Übertragung von Nachrichten zwischen der Buchungseinheit und externen Geräten und für eine Steuerung der zeitgesteuerten Anzeigeeinheit, eine Prüfung der Statusnachricht, um sicherzustellen, dass die Datumgebertür und die Rückstellbasislichter entsprechend dem Status erleuchtet sind, ein Ansprechen auf die mitgeteilten Stellungen von Schaltern und des die drei Stellungen aufweisenden Schalters, um darin auftretende Zustandsänderungen sicherzustellen, so dass die Steuereinheitunterroutine, die der für einen derartigen Zustand oder Änderung eines Zustands definierten Funktion entspricht, ausgeführt wird.
Das Programm der Buchungseinheit weist Prozeduren zur Anfangswertsetzung auf, um sicherzustellen, dass die Arbeitsregister auf den neuesten Stand gebracht werden und dass keine Portogebühr gedruckt worden ist, die nicht gebucht worden ist, sowie ein Stromausfall-Verarbeitungsprogramm, um die Datenübertragung in einen leistungsunabhängigen (elektrisch veränderbaren) Speicher zu bewirken, falls der Strom zusammenbricht oder ausfällt.
Das Hauptprogramm der Buchungseinheit bewirkt die Übertragung der Statusnachricht der Frankiermaschine an die Steuereinheit auf Befehl oder auf eine Änderung des Status, er-fasst die Wirkung jedes augenblicklich eingegebenen Portogebührenwertes auf die augenblicklich registrierten Daten über die Gebührenmittel und führt alle notwendigen Änderungen der Statusnachricht durch. Das Hauptprogramm steuert auch den Zeitablauf in der Buchungseinheit für den Empfang von Nachrichten von der Steuereinheit und dem Drucker. Das Programm der Buchungseinheit weist* ferner Unterroutinen für die Verarbeitung von Signalen auf, durch die die Register auf den neuesten Stand gebracht werden können, wenn eine Portogebühr gedruckt werden soll und durch die der Betriebsablauf des Systems gesteuert wird, wenn die Frankiermaschine ausgelöst ist. Eine weitere Unterroutine dient dazu, die Statusnachricht der Frankiermaschine auf den neuesten Stand zu bringen. Ferner ist in die Software der Buchungseinheit eine Fehlerprüfroutine einprogrammiert, die eine zyklische Redundanzprüfung ausführt. Dies wird in Einzelheiten unten noch beschrieben.
Das Programm der Druckereinheit weist ein Hauptprogramm auf mit Schritten zur Anfangswertsetzung, Schritten zur Abtastung der Fühler und Steuerung der Auftastungen für die Leuchtdioden der Fühler sowie die Bearbeitung von Nachrich5
10
15
20
25
30
35
40
45
50
55
60
65
662 436
8
ten für eine Kommunikation mit der Buchungseinheit. Es sind Unterroutinen vorgesehen, um das Portogebühren-Druckräder-werk einzustellen, um festzustellen, ob Fühlermesswerte richtig sind, und um festzustellen, ob irgendwelche Änderungen in den Ausgangssignalen der verschiedenen Hardwarefühler und Schalter wie des Zugangsberechtigungsschalters und des Zeitgebertürschalters aufgetreten sind.
Hinsichtlich des Programms zur Setzung des oben beschriebenen Anzeige-Entsperrungswertes, des einstellbaren Höchstbetrages und des unteren Portogebührenbetrages sind die eine derartige Setzung bewirkenden Tasten in der oben beschriebenen Art und Weise in der Tastatur als Matrix angeordnet und sie werden periodisch abgetastet, um festzustellen, ob eine Änderung des Status erfolgt ist. Die Abtastposition tritt auch gegenüber dem Wartungsschalter in der Steuereinheit auf, wodurch die Steuerung jeder Taste und jedes Schalters der Buchungseinheit mitgeteilt wird, um darin gespeichert und verarbeitet zu werden. Wenn beispielsweise der Wartungsschalter in seine Stellung «Ein» eingestellt wird, setzt die Abtastung, die auch bezüglich des die drei Schaltstellungen aufweisenden Schalters wirksam ist, in Abhängigkeit von der Stellung des die drei Schaltstellungen aufweisenden Schalters als eine Anzeigeroutine eine Kombinationseingaberoutine oder Betragseingaberoutine in Betriebsbereitschaft.
Durch die Anzeigeunterroutine werden die in einem einer gedrückten Anzeigetaste entsprechenden Register vorhandenen Daten an die Steuereinheit zur Anzeige gesendet. In der Kombi-nationseingabeunterroutine wird die nächste auf der Tastatur erfolgende Eingabe gespeichert, so dass der auf der Tastatur eingegebene Wert im Falle, dass der die drei Schaltstellungen aufweisende Schalter in eine Betragseingabestellung gedreht worden ist, in das entsprechende Register des Mikrocomputers der Buchungseinheit eingegeben wird, wodurch der auf diese Weise eingegebene Wert beim künftigen Betrieb der Maschine in den normalen Betriebsprozeduren zur Wirkung kommt. Natürlich ist klar, dass die Prüfung der eingestellten Werte im Normalbetrieb effektiv hinsichtlich eines Wertebereichs durchgeführt wird, beispielsweise einem Bereich von Portogebührenwerten, die kleiner oder grösser als der gespeicherte Betrag sind, so dass die notwendige Anzeige abgegeben werden kann. Der Ausdruck «Anzeige», wie er in diesem Sinne verwendet ist, bezieht sich auf die Anzeigeeinheit. Falls der eingegebene Portogebührenwert den einstellbaren Höchstbetrag überschreitet, wird der eingegebene Wert übergangen und die Anzeige kehrt zu ihrem ursprünglichen Portogebührenwert zurück. Die bei der Wartung einstellbaren Eigenschaften, wie sie oben offenbart worden sind, können ebenfalls als der Steuerung der Frankiermaschine in verschiedene Zustände dienend angesehen werden, wie einen unwirksamen Zustand, wenn der einstellbare Höchstbetrag überschritten worden ist, einen Untergrenzen-Warnzustand, wenn die Untergrenzenanzeige blinkt und einen ein zusätzliches Drücken der Einstelltaste erfordernden Sperr-wertzustand, wenn der in der Anzeige eingestellte Betrag diesen gespeicherten Wert überschreitet.
In weiterer Hinsicht auf die Systemdiagnose, auf die oben kurz Bezug genommen worden ist, sind in der Software-Routine der Frankiermaschine zwei grundlegende Fehlerprüfungen vorgesehen. Diese beiden Fehlerprüfungen werden als verhängnisvoll bzw. als prozedurbedingt bezeichnet. Innerhalb der Kategorie der verhängnisvollen Fehlerprüfungen sind zwei Unterkategorien definiert. Diese beiden Unterkategorien werden als hart bzw. als weich bezeichnet. Die Erfassung harter Fehler erfolgt durch Überwachung von Hardware-Fühlern, wie Grup-penwahl- und Ziffernwahlfühler, Vermittlerstellungsfühlern, Querriegelfühlern und dergleichen. Ein Ausfall von durch diese Fühler erzeugter richtiger Lesewerte wird ein verhängnisvoller harter Fehler genannt, der die Frankiermaschine sperrt und der sich nach Stromeinschaltung nicht wieder behebbar erweist. Es h
ist dann das Eingreifen einer zentralen Autorität erforderlich, um einen weiteren Betrieb der Frankiermaschine zu ermöglichen.
Ein weiteres Beispiel für einen verhängnisvollen harten Feh-5 1er ist ein sich ergebender NichtVergleich aus einer zyklischen Redundanzprüfung. Jedes Datenregister wird fortlaufend überwacht. Unter Verwendung standardmässiger Polynomtechniken wird ein zyklischer Redundanzrest für jeden auf den neuesten Stand gebrachten Datenregisterwert errechnet. Wenn ein io Stromausfallzyklus in Gang gesetzt wird, wird der Inhalt jedes Datenregisters sowie sein zugehöriger zyklischer Redundanzrest in einen leistungsunabhängigen Speicher übertragen. Bei Stromeinschaltung wird der zyklische Redundanzrest jedes Datenregisters erneut berechnet und mit dem bei der Stromabschaltung i5 vorher errechneten zyklischen Rest verglichen. Ein Nichtver-gleich erzeugt einen verhängnisvollen harten Fehler.
Verhängnisvolle weiche Fehler beziehen sich auf die Inter-kommunikationseigenschaften der Frankiermaschineneinheiten. Dabei werden Kommunikationsfehler zwischen internen Einhei-20 ten, wie der Buchungs-, Drucker- und Steuereinheit auf der Grundlage der früher beschriebenen Bitrückübertragung er-fasst. Zusätzlich sind Kommunikationszeitausgabefunktionen vorgesehen, so dass das Ausbleiben der Kommunikation einer Einheit innerhalb einer bestimmten Zeitdauer ebenfalls einen 25 weichen verhängnisvollen Fehler erzeugt. Weiche verhängnisvolle Fehler sperren den Betrieb der Frankiermaschine. Eine Freigabe kann durch eine zyklische Rückführung der Frankiermaschine bewirkt werden; d.h., dass die Frankiermaschine abzuschalten und dann wieder einzuschalten ist, wodurch die zy-30 klische Rückführung und Löschung des Fehlers herbeigeführt wird. Die zyklische Rückführung der Stromversorgung wird in einem Datenregister gezählt und kann, wenn dies gewünscht ist, bei Erreichung einer vorbestimmten Zahl eine totale Sperre hervorrufen. Mit anderen Worten gleicht somit eine vorbestimmte 35 Anzahl von weichen verhängnisvollen Fehlern einem einzigen harten verhängnisvollen Fehler.
Prozedurbedingte Fehler, wie beispielsweise unrichtige (zu hohe) Werteingaben oder der Versuch einer unrichtigen Prozedur äussern sich als Sichtmarken auf der Anzeigeeinheit. 40 Weitere Diagnoseprüfungen ebenso wie Abänderungen können, wie oben ausgeführt worden ist, leicht in die hierin implementierten Software-Routinen eingepasst werden.
Indem die Kommunikation der Daten zwischen den Einheiten auf der Basis von Nachrichten seriell erfolgt und indem die 45 vorbeschriebene «Echo»-Technik verwendet wird, kann die Implementierung der vorbeschriebenen Fehlerprüfungseigenschaften leicht erreicht werden.
Wie vorstehend erläutert, erfolgt die Kommunikation zwischen den Mikroprozessoren bzw. Mikrocomputern der Einhei-50 ten aus einer in seriellem Kanal erfolgenden, bitsynchronen, zeichenasynchronen Start/Stopp-Kommunikation und kann beispielsweise mit 9600 baud erfolgen. Die Kommunikation beruht ausschliesslich auf der Basis von Nachrichten, d.h. dass getrennte Steuerleitungen zwischen den Mikroprozessoren bzw. 55 Mikrocomputern zur Steuerung der Kommunikation nicht vorgesehen sind. Die Länge der Nachrichten beträgt 10 Bits, wobei jede ein Startbit und ein darauf folgendes Achtbitwort oder Byte aufweist und mit einem Stoppbit abgeschlossen ist. Der Bedeutungsinhalt des letzten Stoppbits einer Nachricht ist allen 60 anderen Stoppbits der Nachricht entgegengesetzt, um hierdurch das Ende der Nachricht anzuzeigen. Eine logische Null zeigt ein Startbit, ein Nachrichtenendebit und ein Nulldatum oder einen Niedrigwert an. Eine logische Eins ist für eine Aufforderung zum Senden, eine Sendebereitschaft, ein Byteende, einen Daten-65 pegel «1» und auch für die Anwesenheit eines Fehlerfrei-Impul-ses vorgesehen. Das erste Wort jeder Nachricht weist ein kodiertes Zweibitfeld auf, durch das festgelegt wird, ob die Nachricht Informationen, Daten oder Steuerfunktionen enthält. Ein
9
662 436
weiteres Bit des ersten Wortes zeigt an, ob die Nachricht lediglich die Anzeigeeinheit betrifft oder nicht, oder ob sie lediglich die Buchungseinheit betrifft. Der Rest der Bits des ersten Wortes bildet spezifische Nachrichtenidentifikationsbits.
Wenn die Nachrichten aus mehr als einem Wort bestehen, kann das zweite Wort der Nachricht ein Formatbyte aufweisen, das aus zwei Nibbles, d.h. Vier-Bitgruppen, besteht. Das erste Wort jeder Nachricht weist ein kodiertes Zweibitfeld auf, durch das festgelegt wird, ob die Nachricht Informationen, Daten oder Steuerfunktionen enthält. Ein weiteres Bit des ersten Wortes zeigt an, ob die Nachricht lediglich die Anzeigeeinheit betrifft oder nicht, oder ob sie lediglich die Buchungseinheit betrifft. Der Rest der Bits des ersten Wortes bildet spezifische Nachrichtenidentifikationsbits.
Falls die Nachrichten mehr als ein Wort aufweisen, kann das zweite Wort der Nachricht ein Formatbyte enthalten, das aus zwei Nibbles, d.h. Vier-Bitgruppen, besteht. Der erste Nibble gibt die Anzahl von Datennibbles in der Nachricht an, und der zweite Nibble gibt die Anzahl der rechts des Dezimalpunktes der Daten stehenden Ziffern an oder entspricht einer hexadezimalen F, falls kein Dezimalpunkt vorhanden ist.
Falls in einem Mikroprozessor bzw. in einer Einheit eine Nachricht zum Senden bereitgestellt ist, wird zuerst die Empfangsleitung des Mikroprozessors bzw. Mikrocomputers der Einheit geprüft. Liegt sie auf niedrigem Pegel, so hebt der übertragende Mikroprozessor bzw. Mikrocomputer die Sendeleitung auf einen hohen Pegel an und prüft erneut die Empfangsleitung. Wenn diese weiterhin auf niedrigem Pegel liegt, ist der Mikroprozessor bzw. Mikrocomputer zur Übertragung freigegeben, andernfalls muss er die Rolle eines Empfängers übernehmen. Hierdurch wird eine Kontroverse zwischen zwei Einheiten vermieden. Im Hinblick auf Einheiten der Frankiermaschine selbst erteilen die Programme der verschiedenen Einheiten im Falle einer möglichen Kontroverse in absteigender Ordnung die Priorität der Druckereinheit, Buchungseinheit, Steuereinheit oder dem externen Gerät. Wenn an die Frankiermaschine, d.h. an die Steuereinheit externe Geräte angeschlossen sind, wird der Steuereinheit die Priorität erteilt.
Die Zeitablaufsteuerung der Nachrichten stellt das schwierigste Probem der Kommunikation dar, wobei die Nachrichten asynchron erfolgen können. Ein typischer Zeitablauf ist daher in Fig. 10 dargestellt, in der die relative Zeitsteuerung der Leitungen des Senders für das Senden einer gegebenen Nachricht und der Leitungen eines Empfängers für den Empfang dieser Nachricht dargestellt ist. Da die Ausgangsleitung des Senders mit der Eingangsleitung des Empfängers übereinstimmt ist klar, dass diese beiden Signalleitungen identisch sind. Dasselbe gilt natürlich hinsichtlich der Eingangsleitung des Senders und der Ausgangsleitung des Empfängers.
Bei einer erfolgreichen Übertragung in einem derartigen System prüft der Sender seine Eingangsleitung zum Zeitpunkt ti und erhöht, falls ein niedriger Pegel festgestellt wird, seine Ausgangsleitung innerhalb 50 Mikrosekunden auf einen hohen Pegel,wie es bei t2 dargestellt ist. Der Sendner prüft sodann erneut innerhalb 50 bis 100 Mikrosekunden zum Zeitpunkt t3 seine Eingangsleitung. Wenn die Eingangsleitung weiterhin den niedrigen Pegel aufweist, kann der Sender nach Ablauf einer Min-destwartezeit von 120 Mikrosekunden zu einem Zeitpunkt ts mit der Sendung seiner Nachricht beginnen, indem diese Ausgangsleitung auf niedrigen Pegel abgesenkt wird, um das Anfangsbit der Nachricht zu bilden. Zwischenzeitlich hat zum Zeitpunkt U der Empfänger seine Ausgangsleitung innerhalb einer Minimalzeit von 100 Mikrosekunden auf einen hohen Pegel angehoben, wodurch angezeigt wird, dass er zum Datenempfang bereit ist. Hierdurch wird ein «Sendebereitschafts»-Zustand angezeigt. Der Zeitablaüf zwischen den aufeinanderfolgenden Bytes einer Multibytenachricht, der durch das Zeitintervall zwischen ts und t'5 angezeigt ist, beträgt mindestens 1134,375, um sicherzustellen, dass der Empfänger für die Durchführung eines richtigen Empfangs und einer richtigen Speicherung der Signale in Bereitschaft gesetzt worden ist.
Die Zeit zwischen dem Beginn t' 5 des letzten Nachrichtenbi-tes und der Übertragung eines Impulses «Fehlerfrei» zur Zeit h ist auf 1031,25 bis 1157,291 Mikrosekunden eingestellt, und der Impuls «Fehlerfrei» weist eine Breite von 309,375 Mikrosekunden bis 368,228 Mikrosekunden auf. Der Empfänger muss das Auftreten eines Impulses «Fehlerfrei» zur Zeit ts zwischen 1187,291 bis 1340,625 Mikrosekunden nach der Einleitung des Startimpulses des letzten Bytes der Nachricht prüfen. Die Bitübergänge des Senders müssen sich in Einklang mit Tabelle I befinden und die Empfängerabtastung der Daten- und Stoppbits müssen sich im Einklang mit der in Tabelle II dargestellten Zeitgabe befinden.
TABELLE I
n BIT MINIMUM MAXIMUM
1
START
0
0
2
DATEN 1
103,125
105,208
3
DATEN 2
206,250
210,417
4
DATEN 3
309,375
315,625
5
DATEN 4
412,500
420,833
6
DATEN 5
515,625
526,042
7
DATEN 6
618,750
631,250
8
DATEN 7
721,875
736,458
9
DATEN 8
825,000
841,667
10
STOP
928,125
946,875
TABELLE II
n
BIT
MINIMUM
1
START
2
DATEN 1
115,208
3
DATEN 2
220,416
4
DATEN 3
325,624
5
DATEN 4
430,832
6
DATEN 5
536,040
7
DATEN 6
641,248
8
DATEN 7
746,456
9
DATEN 8
851,664
10
STOP
956,872
Durch den obigen Zeitablauf und durch eine Kristallsteuerung der Taktgeber jeder Einheit ist dabei eine asynchrone Übertragung ausführbar, so dass Steuerleitungen für diesen Zweck zwischen den Einheiten unnötig sind.
Um sicherzustellen, dass die Information durch den Empfänger in richtiger Weise fehlerfrei empfangen wird, werden die Daten sequentiell auf der Empfängerausgangsleitung an den Sender zurückübertragen. Die Zeiten für die Rückübertragung der Daten sind ausgehend von dem Beginn der Befehlsschleife zur Erfassung der Startbits in Tabelle III angegeben, und die Zeiten zur Abtastung dieser Daten auf der Eingangsleitung für den Sender sind in Tabelle IV angegeben.
Der Impuls «Fehlerfrei» wird dann und nur dann am Ende der Nachricht übertragen, wenn die vom Sender empfangenen Daten mit den gesendeten Daten übereinstimmen.
Für eine weitere Kontrolle über die Nachrichtenkommunika5
10
15
20
25
30
35
40
45
50
55
60
65
662 436
10
tion wartet der Sender nach der Ausgabe einer Sendeaufforderung für eine Übertragung 3.5 Millisekunden lang auf ein Sen-debereitschaftssignal des Empfängers und ebenso der Empfänger ungefähr maximal 3.5 Millisekunden lang auf den Beginn einer Nachricht, nachdem er die Sendebereitschaftsnachricht ausgegeben hat. Eine Konverse zwischen den Einheiten wird weiter dadurch auf ein Minimum herabgesetzt, dass bestimmte Zeitabstände festgesetzt werden können, die zwischen aneinander angrenzenden Sendeaktivitäten einer Einheit sowie auch zwischen aneinanderangrenzenden Empfängern vorhanden sein müssen.
TABELLE III
TABELLE IV
n
BIT
MINIMUM
MAXIMUM*
1
START
32,082
73,125
2
Dl
137,292
176,250
3
D2
242,500
279,375
4
D3
347,708
382,500
5
D4
452,917
485,625
6
D5
558,125
588,750
7
D6
663,333
691,875
8
D7
768,542
795,000
9
D8
873,750
898,125
10
STOP
978,958
1001,250
n
BIT
MINIMUM
MAXIMUM
1
START
103,125
135,208
2
Dl
206,250
240,416
3
D2
309,375
345,625
4
D3
412,500
450,833
5
D4
515,625
556,041
6
D5
618,750
661,250
7
D6
721,875
766,458
8
D7
825,000
871,667
9
D8
928,125
976,875
10
STOP
1031,250
1082,083
* Ermöglicht 10 Mikrosekunden für Programmschleifenunsicherheit bei der Erfassung des Startimpulses. Falls die Unsicherheit grösser als 10 usec ist, ist der Überschuss von jedem Maximalwert abzuziehen.
Alle Steuer- und Datensignale verwenden dasselbe Paar von Leitern in jeder Richtung mit einem genau definierten Zeitablauf zum Zwecke der Steuerung.
20 Flussdiagramme, die den Betriebsablauf der verschiedenen Einheiten darstellen, sind in Fig. 11, 12 und 13 dargestellt. In allen Fällen zeigt die ohne Buchstaben numerierte Figur an, wie die mit den entsprechenden Nummern und Buchstaben versehenen Figuren zusammenzusetzen sind, um das vollständige Fluss-25 diagramm zu erhalten.
Das den Betriebsablauf der Steuereinheit darstellende Flussdiagramm ergibt sich aus der Folge gemäss Fig. 11.
Das den Betriebsablauf der Druckereinheit darstellende Flussdiagramm ergibt sich aus der Folge gemäss Fig. 12. Das 30 den Betriebsablauf der Buchungseinheit darstellende Flussdiagramm ergibt sich aus der Folge gemäss Fig. 13.
Die programmierten Funktionen ergeben sich aus dem in Einzelheiten gehenden Ausdruck für die Buchungseinheit, Steuereinheit und Druckereinheit, die als Anhang zur vorangehen-35 den Beschreibung beigefügt sind.
v
37 Blätter Zeichnungen
6 500 ACCOUNTIMG MODULE CAfìQMÌ/1) version <1.21.57 15-Oct-79 12:46:53 TABELLEN FÜR BIICIIUNGSMODUL UND RAM-SP1SICIIERTABELLR
1 DM2 : P.EPACC . SRC
2
3 NLIST
7 LIST
8
9
I 0
II 12 1 3
6 5 0 0 BüCllüNGSMODüL
>5
16
17
Iß COPYRIGHT 1979 PITNEY BOWES INÇORPORATED
1 9
20
21
22
23 INCLUDE Ol-lO ; AOCTßL
24 tl LIST fe4 LIST
65 pagi::
£500 CAflO 4 0 / i 1 version 4.21.57 15-Ocl-79 1 2 : 47 : 50
M
TABELLEN FfÎR BUCHUNGSMODUL IJND RAM-SPßTCIIERTABKLLR *
66
67 60
69
70
RAM-SPETCIIERTABELLE
F'flR LETSTUMGSUNADIIXNGIGEN SPEICHER
71
72
73
0020
PECEKT
EQU
20
fl 'Ziffern Stückzahl
74
0024
DSCECC
EQU
PECEKT
t PECESZ
1 Byte CRC für abfallendes Register
75
0025
DSCREG
EQU
DSCÉCC
t DSERSZ
fl Ziffern abfallendes Register (verwendbare Portogebühren)
76
0029
ASCECC
EQU
DSCREG
t DSCRSZ
1 Byte CRC fiir anwachsendes Register
77 70
002A 002F
ASCREG PRSTAT
EQU EQU
ASCECC i ASCREG
ASERS2 t ASCRSZ
10 Ziffern anwachsendes Register {kumulativ verbrauchte i n j r> i x. i. Portogebiihr) 1 Byte Druckerstatus
7 9
0030
POSVAL
EQU
PRSTAT
t PRSTSZ
6 Ziffern Portogebührenwert
00
0033
BATAMT
EQU
POSVAL
t POSTS2
fl Ziffern Stapelbetrag
01
0037
BATCNT
EQU
BATAHT
t RATASZ
6 Ziffern Stapelzahl
82 0.1
00 3 A
non VOI DATE
Cil ECK S UH POR EQU BATCIIT
BLOCK 0 i liATCSZ
Nächste RMRS (fernbetätiqte) COMBO (Kombination), (i i e in 'l'abulie erhältlich ist
04
003C
COHECC
EQU
DATE t
DATES2
1 Byte CRC für Prüfsumme
05
• 0030
RSTVAR
EQU
COIIECC
» 1
RMRS Masphi nen-Neueinstellwert
06
004 1
RSTCNT
EQU
RSTVAR
« RSTVSZ
1 Byte zur Zählung erfolgloser Neueinstellversuche
07 00
004 2 004 3
FATCOD PATCNT
EQU EQU
RSTCIIT • PATCOD
t 1 » 1
1 Byte zur Speicherung von Kode, der verhängnisvollen Fehl ei
2 Ziffern verhängni svol 1er Fehlerzähler verursacht
09
0044
MTRTVP
EQU
FATCNT
i
1 Byte fiir Maschinentyp : 0=Manuell, 1=RMRS
>
w
65ÛÛ ACCOUNT IMG MODULE CAA04ß/ll ver.sion 4.21.57 l5-Oct-79 Ì2:47:5B
90
0045
MSERNO
EQU
MTRTYP
i
1
91
0049
UHLOCK
EQU
MSERMO
+
M'SERSZ
92 '
0Û4C
LÛWPOS
EQU
UNLOQK
t
UWLVS2
93
00 4 E
S ETI, IM
EQU
LOWPOS
t
LWPSS2
94
0050
RSTBAS
EQU
SETLIM
t
SETLS2
95
Cil ECK S UM
FOR
BLOCK 1
9 6
0054
TI MCHT
EQU
RSTBAS t
RSTBSZ
97
0055
TIMWIIO
EQU
T1MCNT
-t
1
98
00 5 É
MRSTAT
EQU
TIMWIIO
t
1
99
0056
STATE
EQU
MRSTAT
i
2
100
0059
ACTDLK
EQU
STATE i
1
101
005A
NVMULK
EQU
ACTBLK
i
1
102
0050
CMtx FL
EQU
MVMBLK *
1
103
005C
recbfl
EQU
CN'PXPL
i
1
104
Û05D
POLCMT
EQU
recbPL
t
1
1 05
005E
recbuf equ
POLCMT
t
1
106
0066
wrkbf1
EQU
recbuf
1
RECBSZ
107
00 6 e wûiîkhp equ
WRKBP1
1
WRKBS2
100
00 7 6
amt bp equ workBP
t
WRKBSZ
10 9
007B
cmbobf
EQU
amtBP »
AMTSZ
no
007F
LAST
EQU
cmbobp
<
CMB0S2
111
1 1 2
SUBTTL HEADER
ASSICN
1 1 3
PAGE
7 Ziffern für Seriennummer 6-ziffriges Feld fiir Entsperrungswert 4-ziffriges Feld fiir unteren Portogebührenwarenwert 4-ziffriges Feld für einstellbare Portogebiihren-Manuelle Kombination
1 Byte fiir Zeitgeber-Zähler
Höchstgrenze
2 Bytes zur Wartung des Maschinenstatus
1 Byte fiir Betriebszustand oder -Art
1 Byte zur Kennzeichnung, welcher Block gerade geöffnet ist
1 Byte zur Kennzeichnung des gelöschten Teilbereichs des leistungsunabhängigen Speichers (NVM)
I Byte für Warteschlange Statusnachricht an Steuereinheit
Steuereinheit-Bnpfangsmarke
(0 = keine auf Verarbeitung wartende Nachricht) Nachrich Drucker-Empfangsmarke (0' = keine auf Verarbeitung wartende
0-Byte-Puffer zum Dtipfang von Nachrichten fi-Byte-Arbeitspuffer zweiter. 8-Byte-Arbeitspuffer
Puffer für Betragseingabe
Puffer für Kombi nationseingabe letzter verwendeter RAM-Speicherplatz
MENTS
On
On N>
«t.
ON
65ÛÛ ACCÛUNTING MODULE CA004 lì/11
HEADER ASSIGNMFNTS ACCTBL.SRC
1 1 4
1 1 5
1 1 6
117
110
119
1 20
121
122
123
124
125
version 4.21.57 15-Oct-79 12:47:50
HEADER-ZUWEISUNGEN
MNEMONIC VALUE Mnemonisclier Kode Wert
COMMANDS NO DATA
Beschreibung Befehle ohne Daten
126
0040
NODATA
EQU
40
127
0041
ENBLIID
EQU
41
Freigebe-Maschinenbefehi
120
0042
DSBL1ID
EQU
42
Sperre-Maschinenbefehi
1 29
0043
ENDEIID
EQU
43
Ende der Eingabe
1 30
0044
CLRBHD
EQU
44
Lösche Stapelbefehl
131
0045
ACMPIID
EQU
45
Buchung vollständig
132
0046
SETSIID
EQU
4 6
Setee Wartungszustand
133
0047
CLRSIID
EQU
47
Lösche Wartungs2ustand
134
1
135
0ÛMMANDS WITH
DATA
Befehle mit Daten
1 36
6500 ACCÛUNTING MODULE CA 0040/11 version HEADER ASS IGNMENTS ACCTRL.SRC
1 37
00C0
WTilDAT
EQU
oco
138
00C1
SPOSIIO
EQU
0C1
139
' SPARE
EQU
0C2
140
SPARE
EQU
0C3
141
00C4
SOATIID
EQIJ
OC 4
142
00C5
ENTAIID
EQU
0C5
143
OOC6
EMTCIIO
EQIJ
0C6
144
145
REQUEST
VALUE
146
147
0050
REQVIID
EQU
50
140
0000
VLISII0
EQU
' OflO
149
150
ITEMS REQUESTABLB
151
152
0080
STATMB
EQU
oao
153
0081
POSVMB
EQU
noi
154
VALUE
NORM
155
oxxx
156
2
ASC
REG /anwachs.Reg.
157
3
DSC
REG /cibfaHend.Reg.
158
4 CONTROL
S UM /Kontrol Ì suimte
> fjt
21.5? 15-Oct-79 ' 12:47:50 Setze Portogebührenwert Setze Datum
Eingebe Neueinstellbetrag Eingebe Neueinstellkombination
Anfordere Wert
Anfordere Wert Unterer NIBBLE gibt Wert wiedergegeben auf Aufforderung
Anforderbare Posten
Portogebührenwert Wartung
Entsperrungswert (Jntercjrenze für Portogebühr
©\
Maschinennummer g w o\
On ©\
6500 ACCÛUNTING MODULE CA fì04fl/ll version <1.21.57 15-Oct-79 1 2:47:50 £
w
HEADER ASSIGNMENTS ACCTBL.SRC ^
15 9 5 PEICß COWNT / Stückzahl Diagnosestatus
160 6 BATCH AMT / Stapel betrag Einstellbare Portogebührengrenze
161 7 BATCH COUUT / Stapelzahl. frei.
162
163
164 SUBTTL STATUS ASSIGNMRNTS £>t:nt:uszuweisungen
165 PAGE
> o\
6500 ACCÛUNTING MODULE CA004fl/n STATUS ZUWEISUNGEN ACCTBL.SRC
166
167
168
169
170
171
172
173 1 74 1 75
176
177 1 78 179 1 80
181
182
183 1 84
105
106 187
version 4.21.57 15-Oct.-79
12:47:58
STATUS ZUWEISUNGEN
BIT
PRINTER / DRUCKER 7
6
5
4
DESCRIPTION
BESCHREIBUNG
Û
PRIV ACCESS SW / Zugangs!œrechtigungsscha 1 ter
DATER DOOR / Datumsgelìertiir
SlllJTTER BAR / Riegel
LAST HOME / Ausgangsstellung
TRIP (NOT HOME) ^ (niolii: Ausgangsstellung) INTERPOSER POSITION / VennittlErstellung SPARE / Frei
HARD ERROR / harter Fehler
CONTROL (METER) STATUS /Steuer (Maschinen) Status FIRST WORD / Erstes Wort
7 RESET BASE / Basisneueinstellung
1 = gewählt
1 = offen, 0 = geschlossen
1 = vorne, 0 = Ausgangsstellung
1 = von oder in Stellung 2
0 = von oder in Stellung 1
1 = ausgelöst
1 = freigegeben (in Betrieb)
1 = verhängnisvoller Fehler, Fortsetzung unmög1ich
1 = Basis muß rückgesetzt werden
6500 ACCÛUNTING MODULE C A fl 0 4 fl / 1 1 version 4.21.57 15-Oct-79 1 2:47:58 STATUS ASSIGNMENTS ACCTBL.SRC
öffnet seit Stromeinschal ti
1 00 6 CIII2CK DATI-)'/ Datimispriifung 1 = Datumsgebertiir offen oder nicht rjo-
109 5 INSUPFIC1 ENT PUNDS / HSîauîîrenfnf 0?ll 1 = Abfall .Reg. < Portowert
190 : 4 LOW POSTAGß / unterer Portowert 1 = abfall.Reg. < unterer Portowert
191 3 SERVICß MODE / Wartungszustand 1 = Wartung
1 92 2 ENABLßD / in lie tri eh 1 = in Betrieb gesetzt
.193 1 BATCH CLEAR / Stapel.lösch 1 = Stapelbetrag und -Zahl = 0
194 0 TRIP /Auslösung
195 SECOND WORD / Zweites Wort
1 96 7 HARD ( FATAL) ERROR. harter (verhängnisvoller) Fehler
197 6 SPARE / Prei
190 5 SPARE / Prei
199 4 SPARE / Prei
200 3 SPARE / Prei
201 2 SPARE / Prei
202 1 SOFT ERROR / weicher'Fehler heilbarer Fehler
203 0 SPARE / Prei
204
205 METER MODE (STATE) / Maschinenzustand
206 AM. 0 / Alles NORMAL OPERATION Normalbetrieb
207 7 TRIP / Auslösung
200 fi ENABLE / Betriehssetzung
209 5 01SABLß / Außerbetriebsetzung
TIME VALUES TRPSET EQU 100 TRPTOL EQIJ 163
6500 ACCÛUNTING MODULE CAfl04fl/ll ASSIGNMENT TABLE ACCTBL.SRC 210
219
220
221
222
223
224
225
226 0064
227 00A3 2 2 8
229
230
231 OOFF CRC INL
232 009B CRCPLY
233
234
235
236
237
2 30 00 01 PRTFAT EQIJ 1 239 0002 PROFAT EQtJ 2
version 4.21.57 l5-Oct-79 Zuwei sungstahelle
Zuwei sungstabelle
12:47:58
CRC ASSIG NMENTS/Zuweisungen EQU OFF EQU 9B
Zeitwerte für Auslöseaktivität 2 Sek. Sperrzeit
Residue + <- no carry ok, C=1 Overspeed Residue < 93, Counts
Anfangsv/ert für CRC-Berechnung CRC-Erzeugungspolynom
Verhängnisvolle Fehlerkodes .für ßuchungs-erfaßte Fehler FATAI, ERROR CODES FOR ACCOUNTJ NC DETECTED FAILURES
Druckerkommunikation tot ungültiger Header oder Softwarefeh 1er
6500 ACCOUNTIHG MODUI.E CA0040/11 version 4 ASS IGNMENT TABLE ACCTBL.SKC
240 0003 COMFAT EQU 3
241 000 4 IIITFAT EQU' 4 24 2 0005 IIOMPAT EQU 5 243 0006 ECIIPAT EQU 6 24 4 000? S ET PAT EQIJ 7 245 OOOfl TRPPAT EQU A 24 6 000 9 RSTTRY EQU 9 247
24 0 SIJBTTL
24 9 PAGE
ON
W 0\
21.57 15-Oc t-7 9 12:47:58
Sperrzeit während Kommunikation (Drucker oder Stcunnin ACC Interposer line shorted
Synchronisationsverlust in Ausgangsstellungen Echofehler während Übertragung > 2 Sek. auf Portoeinstellung
Über- oder Untergeschwindigkeit bei Auslösung (140<ms TRIP <
2 Spk keine erfolgreiche Neueinstellung in 9 aufeinanderfolgenden Versuchen
Unterbrechung s vektor en
6500 ACCÛUNTING MODULE CAflû4fl/ll version 4.21.57 15-Oct-79 12:47:58 INTERUPT VECTORS PEPACC.SRC
250
251
1 Jn 1: e rbrec hungs vektoren
252
INTERRUPT VECTORS
253
254
-
*
255
256
POWER
UP
Stromei nscha1tung
257
0000
ORG
0
258
0000
04
OE
*il M P
PWRUP
259
260
POWER
PA I LURE
Stromausfall
261
0003
ORG
3
262
0003
65
STOP
TCNT
263
0004
04
09
JHP
PWRON
264
265
TIMER
INTERRUPT Zei tgeber-Unterbrechung
266
OOfi?
ORG
7
267
0007
fié
24
JMP
TI MI NT
268
269
INCLUDE
DMO:PWRDN
270
SDUTTI.
POWRR DOWN / Stromabschaltung
271
PAGE
On on
■t*. (*>
On
6500 ACCOUNTING MODULE CAn04ß/ll version <1.21.57 15-Oct-79 12:47:58 POWER DOWN PWRON.SRC
272
273
274
T
STROMAnSCIIALTUNG UND STROMAUSFALL POWER DOWN AND POWER FAILURE
275
276
277
278
Speichere Variable In leistungsunabhängigem Sepicher (NVM), sperre Zentraleinheit (CPU) in Riicksetzzustand STORE VARIABLES IN NVM, LOCK CPU IN RESET MODE.
279
280
0009
15
PWRDN
DIS
1
281
000A
F 4
OE
CALL
NVMWR Schreibe in NVM
282
OOOC
fi A
40
ORL
P2. Ì40 Ermögliche 8755 in Riicksetzung und schalte NVM ab
283
204
000E
86
OE
pwrup
JHI
$ Warte auf Stromausfall zur Löschung
285
0010
27
CLR
A
286 '
0011
07
MOV
PSW, A
287
001 2
9A
OF
AHL
P2, BOP Lösche 0755 Rücksetzung, schälte NVM ein
288
CLEAR
ram
289
001 4
lUi
20
mov
RO, ÉPECEKT
290
001 6
ßa
60
mov r2 , II 80-PECEKT
291
292 298
001 fi 001 A
F 4 Bfi
12 E 56
SET iii
CAI.L il TI AL MOV
CLRßLK
mp'immi q'I'am'iiq ip piifpk natf - Setze anfänglichen Maschinen ' SI AIUS IE CHECK DA IL statusj d>h. Datumsprüfunq
RO, ÏMRSTAT
294
001C
BO
CO
MOV
@R0, Ï0C0
6500 ACCÛUNTING
MODULE
CAOO 4 0/11
version 4.21.
57 15-Oct-79 12:47:58
POWER DOWN PWRDN
.SRC
295
LOAD NVM
296
001E
P4
6 1
CALL
NVMRD
297
0020
C6
24
JZ
PWRUPO
Lesen in Ordnung?
290
0022
94
ÇA
CALL
NVMPAT
Setze verhängnisvollen Zustand
299
00 2 4
54
CA
PWRUPO CALL
ASCCRC
300
0026
l?5
SEL
MB 1
Stromeinschaltung in oberen 2 K
301
0027
E4
0 4
.JHP
PWRIJPA
302
303
INCLUDE DMOiCTXBYT
304
SUBTTL TRANSMIT ONB
; BYTE - Übertrage 1 Byte
305
PAGE
6500 ACCÛUNTING MODULE CA0040/11 version 4.21.57 15-Oct-79 12 : 47:50 TRANSMIT ONE BYTE CTXBYT.SRC • 306
307
308 ÜBERTRAGE BYTE MÎT ECHOPRÜFUNG
309
310
311
Obertragel0 Bits (1 Start + fl Daten + 1 Stopp), Empfange Echo, und
312 TRANSMIT 10 BITS
313 SET ERROR IP NOT EXACT MATCH - setze Fehler, wenn nicht genau passend
314 NOTE; INTERNAI. LOGTO LEVEL REQUIRES INVERSION FOR TRANSMIT FUNCTION -JJ5 Achtung: Interner logikpegel erfordert Inversion für Übertragungsfunktion
316 -OM A = Pehlerzähl während Übertragung
317 1-M R0 = Adresse von Datenbyte 310 --M R3 - R7
319 l— PI = Einheit
3 20 0 Steuerung
321 1 Drucker
322 1-- C = Stopp-Bit-Pegel
323 0 Nachrichtenende
324 1 Byteende
325
326 0029 27 ' CTXBYT CLR A
327 002A AC MOV R4, A Lösche Fehlerzähler
6500 ACCÛUNTING MODULE CAQ040/11 TRANSMIT ONE BYTE CTXBYT.SRC
MOV MOV INC IIOV JMP
LOOP
CTXBLP JNC OUTPUT LOW OIJTL MOV NOP
CTXBL1 XCII JP1 CONTROL .ITO
CTXBL2 DEC NOP
320
0020
0A
329
0020
BP
02
3;3 0
00 2P
1 7
33 1
00 30
AO
332
0031
04
57
333
334
0033
E6
57
335
336
0035
39
337
0036
23
01
330
n03fl
00
339
340
0039
20
34 1
00 3 A
76
51
342
343
003C
36
55
344
00 3 E
07
345
00 3 P
00
346
347
0040
C6
5C
340
349
0042
IC
350
004 3
27
351
0044
00
352
vera 1 on
R3, 110 R7, 12 A
R5, A CTXDLÛ
CTXBLO
PI, A A, I 1
A , ns
CTXBL6
CTXBL7 A
CTXBL3 .1C CTXBLO
SAVE ERROR OCCURRANCI INC R4 CLR A CTXBL4 NOP
.57 15-Oct-79 12 : 4? : 5U
Schleifenzahl fiir 10 Bytes
Schalter für Echoprüfung des Stopp-Bits
Vorbereitung für erstes Scheinecho Ausgang niedrig für Startflanke
Ausgang hoch
Vorbereite ACC (Akkumulator) für Echo
Angebe Echo von logischer "1" ?.ei tausgleich kein Fehler
Anpasse Schleifenzeitgabe
6500 ACCOUNTIHG MODULE CA£1040/1 1 veraion 4.21 TRANSMIT ONE BYTE CTXBYT.SRC
353
0045
fo
nov a, 0 r0
354
0046
67
rrc a
355
00*1 7
a0
mov-
@ro, a
356
357
0048
fe
mov a, r6
358
0049
eb
33
djnz r3, ctxblp
359
360
00 4 b bb
01
mov r3, ii
361
00 4 d ef
3 9
dj hz r7, ctxbl1
362
00 4 f fc
mov a, r4
363
0050 .
83
ret
364
365
0051
46
3e ctxbl6
jnt ctxbl2
366
echo
= logic "0"
367
0053
04
40
jmp ctxbl3
36b
369
0055
04
40
ctxbl7
jmp ctxbl3
370
{
371
0057
89
22
ctxbl8
gbl f1 , *22
372
0059
27
clr a
373
005a
04
39
jmp ctxbl1 •
374
375
ûû5c
04
44
ctxbl9
jmp ctxdl4
9\
57 l5-Oct-79 • 1 2 : 4 7 ; 5 8 Lade Daten
Bringe nächstes Bit zu C-Marke speichere gedrehte Daten Achtung, Übertrag ist zerstörend lade Maske 10 nits ausgeben letzte Meldungsschleife für Stop-Echo Bringe Fehlerzahl in ACC
Echo = logische "1"
Zei tausgleich Ausgang hoch
2ei tausgleich
► M
> l-fc
6500 ACCOUNTIMG MODULE CA8048/11 verpion 4.21.57 15-Oct-79 12:47:58 ^
TRANSMIT ONE BYTE CTXBYT.SRC
376
377 INCLUDE DMO; STCIIK
378 3 7 9
Zustandspriif-Hilf sroutine 3 80 STATE CHECK UTILITY
381
382
383
384
385 Û05E 54 D3 STCIIK CALL DISABL kann nicht RECBUF-Inhalt zerstören
386 307 300 309
3 90 INCLUDE DM0 :BLKMOV
391 SUBTTL BLOCK MOVE
392 PAGE
005E
54
D3
STCIIK
CALL
DISABL kann
0060
54
E8
STCIIK1
CALL
LSTATW
0062
B9
56
MOV
RI, IMUSTAT
0064
83
RET
On ®\ Ni
-fe. UJ
On ©\ bJ
M On
6 500 account ing MOr»«Jr4|3
CA 0 0 4 fl / 1 1
version 4.21.57 15-Octo-79 12:47:50
BLOCK MOVE BLKMOV.SKC
393
394
/
395
BLOCKBEWEGUNG
396
397
*
398
399
1-M
Zielstartadresse
400
1 -M
Ki Quellenstartadresse
401
1-M
112 Anzahl der zu bewegenden Bytes
402
403
0065 Fl BLKMOV; MOV
A, @R1
404
0066 A0
MOV
@ U0, A
405
0067 18
INC
406
0068 19
INC
RI
407
0069 EA 65
B.1NZ
R2, BLKMOV
400
006B C8
DEC
HO • Zeiger auf letztes Byte
409
006C 83
RET
410
411
INCLUDE DM0;DE
412
StJU'I'TL Dezimalsubtraktion und Vergleich
413
PAG 13
>
M 00
6 5ÛÛ ACCÛUNTING MODULE CAÛ04fl/ll version 4.21.57 15-Oct-79 12:47:50
>
M V©
DECIMAL
SUBl'IUCT
AMD COMPARE
N DIGITS
DECSUH.SRC
414
415
416
DEZTMALSUDTRAKTION UND VERGLEICH VON ZIFFERNFOLGEN
417
4 1 Û
4 1 9 420
ABZIEHE, StJliTRACT,
UND AND
VERGLEICHE, ZWEI BCD-DATENFOLGEM COMPARE, TWO BCD STRINGS (A=A-B)
421
422
1-M
RO
= Adresse des Bytes niedriger Ordnung der
423
1 -M
R 1
= Adresse des niedrigen Bytesder Ziffernf olgeB
424
1 -M
R2
= Anzahl abzuziehender Bytes
425
-0M
F0
0 , A II B ; 1 , A = B
426
-0M
C
0, A < B; 1, A > B
427
4 2 0
006D
97
DECStlß
CLR
C
429
00 6 E
A7
C PL
C
430
006F
05
CLR
F0
43 1
0070
95
CPL
F0
Set2e auf Gleichheit
4 32
433
007 1
Fl
DECSB1
MOV
A,
@ R Ì
Lade einen Byte-Wert in ACC
434
0072
37
CPL
A
435
0073
1 3
9 a a noe
A ,
BOA
4 36
0075
60
ADO
A, .
e ho
folge
ON ON N»
«t
ON
o\
■U M 0\
6500 ACCOUNT! NG MODULE CA804n/ll version 4.21.57 DECIMAL SUBTRACT AMD COMPARE N DIGITS DECSUB.SRC
15-Oct-79
12:47:58
437
0076
57
DA
A
438
0077
A0
MOV
0RO, A,
439
0078
C6
7B
JIZ
DECSB2
A = B
440
007A
85
CLR
PO
A < > B
441
007B
C8
DECSB2 DEC
R0
442
007G
C9
DEC
RI
443
007D
EA
71
D.1N2
R2, DECSB1
Bringe Bytezähler auf
444
007P
03
RET
445
446
INCLUDE DMO:MISC
447
SUBTTL
Verschiedene Routinen
448
PAGE
>
N> O
6500 ACCÛUNTING MODULE CA0040/11 version 4.21.57 15-Oct-79 12:47:58 MISC ROUTINES TO SAVE CODE MISC.SRC .
449
450
Verschiedene Routinen
4 51
MISCELLANEOUS ROUTINES
452
453
'r
454
455
0080
D4
28
RECSTS
CALL
PRCRX
456
0082
04
96
JMP
RECST1
457
458
0084
B 8
6F
GETD
MOV
RO, 1WORKBF + 1
459
0086
AO
MOV
@R0, a Speichere Header
460
00 8 7
ça
DEC
RO
461
0088
BO
01
MOV
m Größe des Übertragungs-Da tenpakets
462
00 8 A
F8
GETDO
MOV
A, RO
463
OOOB
94
OA
CALL
PRCTX
464
0Û8D
D4
28
CALL
PRCRX
4 65
OOfiP
83
RET
4 6 6
G ET
PRINTER
STATUS
467
0Û90
94
04
GETSTA
CALL
STRI 0M
4 ó Q
0092
23
50
MOV
A, KhO Anfordere Statusheader
469
û û 9 4
1 4
04
GETS?S
CALL
fiß'1'0 Sende Nachricht und verarbeite zurückgegebenen
470
0096
74
1 6
RECST1
CALL
DOSTAT
471
Û09fl
83
RET
65ÛO ACCÛUNTING MODUI.E CAB04B/11 version 4.21.57 15-Oct-79 . 12:47:58 MISC ROUTINES TO SAVE CODE MISC.SRC
472
473
* INCLUDE DMOjLIMTST
474 SUIÌTTL LOAD AND REFORMAT LIMIT / Lade und neuformatiere Grenze
4 75 PAGE
6500 accûunting moduls loao and reformat limit
476
477
478
479 4 fiO
481
482
483
484
caû04 0/1 1 limtst.src version 4.21.57 l5-Oct-79 12:47:58
1--—M
Lade und neuformatiere Grenze LOAD AND REFORMAT LIMIT
R1 ro
ADDI
R2
485
0099
ß 3
6 6 LIMTST
MOV
RO, II WRKßP1
486
0Û9B
nA
02
MOV
R2, 12
487
009D
ßü
40
MOV
ÖRO, 140
488
00 9 F
1 Û
INC
RO
489
00A0
1 4
65
CALL
ßLKMOV
499
00A2
ß9
66
MOV
RI, II WRKBP1
491
00A 4
23
83
MOV
A, 183
492
00 A 6
A4
32
JMP
PMTCII
493
494
INCLUDE
DMO ; CIIGPRV
495
SUßTTL
496
PAGE
/ Adresse der Grenze
/ Leer-Header
/ Ändere Berechtigungs-Marke
6500 ACCÛUNTING MODULE CA8048/11 Version 4.21.57 15-Oct-79 12:47:58 CHANGE PRIV FLAG CIIGPRV.SRC
497
498
Ändere
Berechtigungsmarke
499
CHANGE
PRIV FLAG
500
501
*
502
503
Ändere
Berechtigungszustand : Norm -> PRIV OR PRIV -P NORM
504
505
00A8
54
E8
CIIGPRV CALL LSTATW
Lade Zustandswert
506
00AA
D3
01
XRL A, Il
Ändere Berechtigungszustands-Bit
507
00 AC
AO
MOV @R0, A
Speichere neuen Zustandswert
508
OOAD
F4
OA
CALL NVMCHG
Ändere offenen Block in NVM (leistungsunabhängiger
509
00 AF
93
RETR
Speicher)
510
511
*
INCLUDE DM0: MILDE.'
512
SUBTTL
Millisekundenverzögerung
513
PAGE
>■
6500 ACCÛUNTING MODULE CA804Û/11 version 4.21.57 15-Oct-79 12:47:58 &
MILLISECOND DELAY MILDEL.SRC
514
515 c;
Verzögere N Millisekunden
516 DELAY N MILLISECONDS
517
518
519
520 DELAY 302.4 U-SEC.
1 DEL30Û MOV R6, *33. Mit Aufruf 302.4 ji-sek.
2 DELOOP DJNZ R6, DELOOP warte
21
22
00BÛ
BE
23
OOB 2
EE
24
ÛÛB4
83
25
26
27
0100
28
29
30
RET
ORG 100 INCLUDE DM0 ;ACCEXC
PAGE
Ilauptsteuerschleife fiir Buchungsfunktion
On on
■U. OJ On
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 MAIN CONTROL LOOP POR ACCOUNTING FUNCTION ACCEXC.SRC
12:47:50
OS os
■U
w os
531
532
533
BUCIHJNGS
-IIAUPTSTEUERSCIILEÏFE
534
T
535
536
537
Schlei fe anhängige Nachrichten für fortlaufende Abtastung von Empfangsleitung auf
538
Liefert
Fähigkeit zum Empfang einer Nachricht und Verarbeitung
539
zur Verarbeitung empfangener Nachriclit während Übertragung versucht wird
540
54 1
NO DATA
keine Daten
542
0100
76
TBCMDN
DB
LOW
SOFTER
frei
543
0101
7C
DB
LOW
ENBLE
setze Maschine in Betrieb
544
0102
89
DB
LOW
DSBLE
setze Maschine außer Betrieb
545
0103
AC
DB
LOW
ENDENT
Ende der Eingabe
546
0104
OF
DB
LOW
CLRBAT
Lösche Stapel
547
0105
76
DB
LOW
SOFTER
Buchung vollständig
548
0106
97
DB
LOW
SETSER
setze Wartungszustand
549
0107
A 2
DB
LOW
CLRSER
lösche Wartungszustand
550
551 ..
CMDS
WI TU
DATA
mit Daten
552
0108
76
TBCMDW
DB
LOW
SOFTER
frei
553
0109
C7
DB
LOW
SETPO
einstelle Portogebühr oder
> os
6500 ACCOUNTING MODULE CAG040/11 version 4.21.57 15-Oct-79 12:47:50 ^
MAIN CONTROL LOOP FOR ACCOUNTING FUNCTION ACCEXC.SRC
554
010A
76
DB
LOW
SOFTER
frei
555
01 OB
76
DB
LOW
SOFTER
frei
556
Ol OC
76
DB
LOW
SOFTER
einstelle Datum
557
0 1 OD
C 3
DB
LOW
ENTAMT
eingebe Betrag
558
010E
B9
DB
LOW
ENTCMB
eingebe Kombination
559
010F
76
DB
LOW
SOFTER
frei
560
Adressenta bei le fiir wa rtungsmäßige Eingabe von Neuwert und Portogebiihreinstellunç.
561
ADDRESS TA
BLE
FOR SERVICE ENTER NEW VALUE AND SET POSTAGE
562
0110
49
TBCMDS DB
LOW
UNLOCK
entsperre Adresse
563
011 1
4C
DB
LOW
LOWPOS
untere Portogebühren-Warnadresse
564
0112
4 E
DB
LOW
SETLIM
Adresse für einstellbare Grenze
565
0113
7 B
DB
LOW
CMBOBF
Adresse für eingestellten Portogebührenwert
566
567
PAGE
o\
■U W 9\
6500 ACCOUNTING MODULE CAG048/11 version 4.2Ì.57 15-Oct-79 12:47:58 »
MAIN CONTROL LOOP POR ACCOUNTING FUNCTION ACCEXC.SRC
568
QUE
METER
STATUS ENTRY
TO EXC / Warteschlange Maschinenstatuseingabe fiir EXC
569
0114
B8
5B
QUESTA
MOV
RO, iCTXPL
570
0116
.10
INC
@R0
setze Marke Nichtnull
57]
UPDATE FLAGS IN METER
STATUS / Marken in Maschinenstatus auf neuen Stand
572
0117
94
F4
RETEXC
CALL
POSIJPD
ACC = Wiedergabekode wie folgt
573
Bit 0 = "0" Porto unter•Entsperrungswert
574
Bit 1 = "1
" unzureichende Gebührenmittel für gegenwärtige Portogebühr
575
0119
67
RRC
A
Speichere Entsperrwert in Übertragungsbit
576
011A
14
60
CALL
STCIIK 1
Lade Zustand und Zeiger in MRSTAT
577
01 IC
96
30
JNZ
EXCDIS
wenn Normalzustand, prüfe Vermittler
578
01 IE
Fl
MOV
A , @ R1
lade Maschinenstatus
579
011 F
B 2
30
JB5
EXCDIS
wenn unzureichende Portogebühr
580
0121
D2
30
JB6
EXCDIS
wenn Datumsgébertûr offen
581
0123
F2
2B
JB7
EXCBAS
Riickstelle Basis aktiv, prüfe ob weitere Inbetriebsetzung
.... erforderlich
582
0125
F6
3.2
JC
IDLE2
wenn über Entsperrwert, mache nichts
583
0127
B4
BB
EXCENB
CALL
ENABLE
584
0129
24
32
JMP
IDLE2
585
01 2B
09
EXCBAS
IN
A, PI
lese Vermittler-Befehlsleitung
586
01 2C
52
27
JB2
EXCENB
wenn Vermittlerbefehlsleitung niedrig, lasse allein
587
01 2E
24
32
JMP
IDLE2
588
589
0130
34
D3
EXCDIS
CALL
DISABL
N
> 00
>
6500 ACCOUNTING MODULE CA004Û/11 version 4.21.57 15-Oct-79 12:47:50 vo
MAIN CONTROL LOOP FOR ACCOUNTING FUNCTION ACCEXC.SRC
590
IS
STATUS
TO BE OUTPUT
TO PRINTER / Ist Status auf Drucker auszugeben?
591
0132
27
IDLE2
CLR
A
592
0133
BB
5B
MOV
R0, ÏCNTXl
Marke wenn keine Null zur Maschinen-Status-Übertragung
593
,0135
20
XCII
A, @R0
Lade Marke und Null
594
Ol 36
96
06
JNZ
METSTA
sende Status
595
0130
F 4
OA
CALL
MVMCBG
ändere offenen Block, wenn nötig
596
01 3A
27
IDLEO
CLR
A
597
0 1 3 B
5C
MOV
RO, KRECBF
Zeiger auf Empfangspuffer-Marke
590
01 3D
20
XCII
A, @RO
599
01 3E
96
5F
JN2
C N M E S S
Warteschlangenachricht, kann nur Steuemachricht sein
600
0140
54
E7
IDLE1
CALL
LSTATE
601
602
014 2 0 14 4
52 56
54 4C
JB 2 JT1
IDLE3 IDLE4
wenn bereits verhängnisvoll, keine Konrnunikation mit
Druck'
keine Drucker-RTS (Sendeaufferderung)
603
0146
94
04
CALL
STRIOM
starte Zeitgeber
604
01 4 B
1 4
00
-
CALL
RECSTS
empfange und verarbeite Status
605
0 1 4A
24
53
JMP
1 OLE 5
606
607
Ink rement -
Abfrage Zähl erverzögerung
60 Q
01 4 C
1 0
1 DLE4
INC
RO
Zeiger auf Sendeaufrufsverzögerungszähler
609
01 4D
1 0
INC
@ RO
Erhöhe Sendeaufrufszähler-Verzogerung
610
0 1 4 E
f0
MOV
A, @ RO
611
014F
96
54
JNZ
IOLE 3
612
0151
1 4
90
CALL
GETSTA
6500 ACCOUNTING MODUI 'MAIN CONTROL LOOP FOR
os ON bJ
Jà. W os iE CAB048/11 version 4.21.57 ACCOUNTING FUNCTION ACCEXC.SRC
15-Oct-79
12:47:58
613
0153
65
IDLE5
STOP
TCNT
614
Prüfe Steuer RTS
615
0154
25
IDLE3
JNT0
RCNMES
Empfange Steuernachricht
616
01 56
24
17
JMP
RETEXC
617
618
0158
94
04
RCNMES
CALL
STRIOM
619
01 5A
04
2C
CALL
CNCRX
620
01 5C
65
STOP
TCNT
Stoppe Zeitgeber
621
01 5D
24
32
JMP
IDLE2
622
623
015F
BB
5E
CNMESS
MOV
R0, HRECBUF
Adresse von Empfangspuffer
624
Prüfe hohen NIBBLE und verzeige auf richtigen
625
0161
83
CLR
F0
für eingestellte Portogebühr verwendet
626
0162
27
CLR
A
627
0163
20
SCII
A, @R0
,
628
0164
72
74
J B 3
IIRDBAD
Bit 3 sollte nicht gesetzt sein
629
0166
30
XCIID
A, @R0
Trenne hohen und niedrigen NIBBLE
630
0167
47
SWAP
A
Bringe hohen NIB in untere ACC-Hälfte
631
0168
D3
0C
XRL
A, «0C
Befehl mit Daten?
632
016A
C6
B5
JZ
CMQOAT
633
016C
95
CPL
FO
634
016D
03
09
XRL
A, 109
Wertanforderung?
635
01 6P
C6
CD
JZ
RETVAL
Typenbefehl
> w
6500 ACCOUNTING MODULE CA00 4 0/11 versioni 4.21 MAIN CONTROL LOOP FOR ACCOUNTING FUNCTION ACCEXC
636
0171
07
dec a
637
0172
c6
7a
jz cmdony
636
0174
24
1 7
iirdbad jmp retexc
639
0176
23
0f softer mov a, äof
640
0178:
44
32
jmp values
641
642
command only
643
01 7a f0
cmdony mov a, 0 r0
644
017b b3
jmpp
@a
645
646
017 c
54
es enble call lstatw
647
01 7e
53
df
aml a( |=dp
648
0180
95
cpl f0
649
018 1
a0
dissta mov
0ro, a
650
0132
b6
14
jf0
questa
651
0104
b 4
bb
call enable
652
653
01 06
27
metsta clr a
654
0107
44
32
jmp.
values
655
656
0109
1 4
5 e dsble call stciik
657
ul 00
43
20
orl a, 8 20
650
01 od
24
n 1
jmp dissta
57 15-Oct-79 12:47:58 src
Wenn Header unzulässig für PEP, übergehe und keine Antwort
Lade niedrigen Teil .
auf Seite indirekter Tabellensprung
Lade Zustandwert
Lösche Außerbetriebssetzungsbit Speichere auf neuen Stand gebrachten Zustandswert
Setze
Außerbetriebsetzungsbit
6500 ACCOUNTING MODULE CA804B/11 version 4.21.57 MAIN CONTROL LOOP FOR ACCOUNTING FUNCTION ACCEXC.SRC
15-Oct-79' 12:47:50
659
Ol ßF
B8
33
CLRBAT
MOV
RO, û BATAI
660
0191
BA
0 7
MOV
R2, «BATA
661
0193
; F 4
E E
CALL
CLRBLK
662
0195
24
1 4
JMP
QUESTA
663
0197
1 4
5 E
SETSER
CALL
STCIIK
Eingebe Wartungszustand
664
0199
43
02
ORL
A, »2
Setze Wartungsbit
665
019B
AO
MOV
@R0, A
666
01 9C
Fl
MOV
A, @ R1
Lade Maschinenstatus
667
01 9D
43
08
ORL
A, 1(8
668
01 9F
AI
SETSR1
MOV
0 R1 , A
669
01 A0
24
1 4
JMP
QUESTA
670
01 A2
1 4
5 E
CLRSER
CALL
STCIIK
671
0 1 A4
53
FD
ANL
A, KO FDM
Lösche Wartungsbit
672
Û1A6
AO
MOV
0 RO , A
673
01 A7
Fl
MOV
A, 0R1
Lade Maschinenstatus
674
01 AB
53
F7
ANL
A, H 0P7
675
01 AA
24
9 F
JMP"
SETSR1
676
677
01 AC
1 4
5C
ENDENT
CALL
STCIIK
Prüfe ob verhängnisvoll
678
01AE
52
76
JB2
SOFTER
wenn verhängnisvoll, nur
679
0 1 DO
32
CF
JB1
SERENT
wenn im Wartungszustand
680
01 B 2
F5
SEL
MB1
681
Û1Q3
24
04
JMP
RESET
6500 ACCOUNTING MODULE CAQ04Ö/11 version 4.21.57 l5-Oct-79 12:47:58 MAIN CONTROL LOOP POR ACCOUNTING FUNCTION ACCEXC.SRC
682
683
COMMAND WITII DATA Befehl mit Daten
684
01B5
FQ
CMDDAT
MOV
A, SRO
685
01B6
v°3
03
ADD
A, II LOW TBCMDW
686
Olßfl
B3
JMPP
@A Springe auf Tabelle
687
01B9
B8
7B
ENTCMB
MOV
R0, HCMBOBF
688
01BB
B9
5F
ENTCB1
MOV
R1, HRECBUF*1
689
01 BD
BA
05
MOV
R2, IAMTSZ
690
0 1 BF
1 4
65
CALL
BLKMOV
691
01C1
24
14
SERENI
JMP
QUESTA
692
0 1C 3
B8
76
ENTANT
MOV
R0 , I AMTBiF
693
01C5
24
BB
JMP
ENTCB1
£94
01C7
23
03
SETPO
MOV
Aj |3 Achtung: kann keine Daten im Bnpfangspuf fer zerstören
695
01C9
B 9
5 F
MOV
RI, II RECBUF + 1
696
01CB
' 24
DP
JMP
SETPOS
697
698
699
VALUE
REQUEST Wertanforderung
700
O 1 CD
44
27
RETVAL
JMP
FMTVAL
701
702
SERVICE VALUE SET AND SET POSTAGE / Wartungswert gesetzt und Portogebühreneinstellung
703
0 1CF
B9
76
SKREUT
mov
RI, ÏAMTBF
On Os N>
■fe. W Os
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:58
on on
■U W ©\
1 CONTROL L
,00 P
FOR ACCOUNTING FUNCTION ACCEXC
.SRC
704
01D1
B8
7B
MOV
RO, SCMBOBP
705
01D3
FO
MOV
A, @R0
Lade COMBO-Format, annehme
706
01D4
D3
i F
XRL
A, K 1 F
707
01 D6
96
76
JNZ
SOFTER
708
01D3
18
INC
RO
Prüfe COMBO-Wert
709
01D9
FO
MOV
A, @R0 •
710
01 DA
53
FC
ANL
A, Ï0FC
nur gültig sind 0, 1, 2, 3
711
01DC
96
76
JN2
SOFTER
712
01 DE
FO
MOV
A, @ RO
713
o i ûf
43
10
SETPOS
ORL
A, «10
Versetzen für Tabelle
714
01E1
AB
MOV
R3 , A
Rette für später
715
01E2
E3
MOVP3
A, @ A
Lade Formatspezifikation
716
01E3
B4
32
CALL
PMTCH
Prüfe Format
717
01E5
03
02
ADD
A, 12
Für Entsperrung Zeiger auf
718
Ol E7
A8
MOV
RO, A
719
01E8
F4
F4
CALL
CLRAM
720
01EA
FB
MOV
A, R3
721
Kodiere,
um Eingang des Entsperrungswertes in MTLS zu verhindern
722
0 1 ED
32
F3
JB1
SERENO
kein Entsperrungswert
723
01 ED
12
F3
JBO
SERENO
724
0 IEP
27
CLR
A
725
01 PO
30
XCIID
A, @RÛ
726
01 F 1
96
76
JNZ
SOFTER
c*>
-U
6500 ACCOUNTING MODULE CA8040/11 version 4.21.57 15-Oct-79 MAIN CONTROL LOOP FOR ACCOUNTING FUNCTION ACCESC.SRC.
12:47:58
727
01F3
FD
SERENO MOV
A, B3
728
01F4
A3
MOVP
A, @ A
Lade Zieladresse
729
01 F5.
A8
MOV
R0, A
730
01F6'
14
65
CALL
BLKMOV
731
01F8
B6
14
JF0
QUESTA
nicht SETPOS
732
01 FA
A4
DE
JMP
SETINT
733
734
735
0200
ORG
200
736
INCLUDE DM0 :FMTOUT
737
SUBTTL RETURN VALUE
/ Wiedergebe Wert
738
PAGE
6500 ACCOUNTING MODULE CA0048/11 version 4. 21.57 15-Oct-79 RETURN VALUE WITH UNECESSARV ZEROS REMOVED FMTOUT.SRC
12:47:58
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757 750
759
760
0200
0201
0202
2 F 33 53
Wiedergebe angeforderten Wert
Gebe Wert unter Unterdrückung unnötiger Nullen wieder. Zwei Eingänge sind vorgesehen: (1) Ausgabe in Maschineneinheiten benötigt, und (2) Benutzung zur Lieferung von Dezimalplätzen. Sprungtabelle leitet richtige Eintragung unter der Annahme, daß niedriger NIBBLE von Header + 10H in Akkumulator ist.
R0 R1 R2 R4 R5
= I = I
Adresse zu formatierender Daten
Adressenzeiger
Größe von Daten .in Bytes
Anzahl vorkommender Dezimalplätze
Header für Übertragung
-M RI, R3,
„,.hi3,)e fiir Dfltcnformate (hoher NIBBLE = keine Bytes, niedriger NIBBLE = Anzahl der jciuewc ezimalplätze)
DB DB DB
2 F 33 53
Maschinenstatus Portogebührenwert anwachsendes Register
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 RETURN VALUE WITII UNECESSARY 2EROS REMOVED FMTOUT.SRC
>
w
-j
12:47:58
761
0203
43
DB
43
DESCENDING REGISTER
abfallendes Register
762
0204
53
DB
53
CONTROL SUM
Kontrollsumme
763
0205
4 F
DB
4 F
PIECE COUNT
Stückzahl
764
0206
43
DB
43
BATCH AMOU^T
Stapelbetrag
765
0207
3F
DB
3 F
BATCH COUNT
Stapelzahl
766
767
SERVICE
Wartung
768
0208
20
DB
20
METER STATUS
Maschinens ta tus
769
0209
33
DB
33
POSTAGE VALUE
Portogebührenwert
770
020A
33
DB-
33
UNLOCK VALUE
Entsperrungswert
771
020B
20
DB
20
LOW POSTAGE WARNING
untere Portogebühren-War
772
0 2 OC
4 F
DB
4 F
METER SERIAL NUMBER
Maschinen-Seriennummer
773
0 2 OD
3F
DB
3 F
DIAGNOSTIC STATUS
Diagnosestatus
774
020E
20
DB
20
SETTABLE POSTAGE LIM
IT/ Einstellbare Portoge
775
020F
2F
DB
2F
USED FOR SOFT ERROR
Für weichen Fehler verwe
776
777
PAGE
©\
on ■&-
W on
6500 ACCOUNTING MODULE CAß04ß/ll version 4.21.57 15-Oct-79 12:47:58 RETURN VALUE WITII UNECESSARY ZEROS REMOVED FHTOUT.SRC
778
LOOP FOR DELETING ZERO
BYTES Schleife zur Entfernung von Null-Bytes
779
0210
1 8
FMTOU1 INC
RO
Bringe Adressenzeiger auf neuen Stand
780
0211
EA
5E
DJNZ
R2, FMTOU'O
781
»1ERE IF ALL
ZERO BYTES
Hier wenn alle Null-Bytes .
782
0213
CB
DEC
RO
Zeiger auf bekannte '0-Daten
783
0214
FC
MOV
A, R4
Lade Dezimalplätze
784
0215
BB
01
MOV
R3 , Kl
785
0217
C6
9C
JZ
FMT014
0 Dezimalplätze
786
0219
D3
0F
XRL
A, HOF
Prüfung auf keine Dezimalplätze
787
0 2 1 B
CS
9C
JZ
FMT014
Ausgebe 0
788
021 D
DEC
RO
789
0 2 1 E
BB
03
MOV
R3, 13
790
0220
D3
OC
XRL
A, IOC
791
0222
96
9C
JNZ
FMT014
Ausgebe 0, 00
792
0224
1B
INC
R3
793
0225
44
78
JMP
FMTOU 3
•Ausgebe 0.00 nach Abstreifen nachgestellter Null
794
795
0227
F0
FMTVAL MOV
A, @ RO
Lade Header
796
0228
07
DEC
A
Prüfe ob Portogebührenwert
797
0229
C6
31
JZ
VALUE
Wenn Akku. = 0, setze nicht Wartungsbit ein
798
799
022B 022D
34 53
E7 02
CALL ANL
LSTATE A, «02
Interpretiere Aufforderung verschieden, wenn im Wartungs-
betrieb
800
0 2 2 F
E7
RL
A
6500 ACCOUNTING MODULE CA804G/11 version 4.21.57 15-Oct-79 12:47:50 RETURN VALUE WITH UNECESSARY ZEROS REMOVED FMTOUT.SRC
BOI
0230
E7
RL
A
602
0231
40
VALUE
ORL
A, @ R0
Lade Header und füge Wartungsbit dazu, wenn erforder
803
0232
A9
VALUES
MOV
RI, A
aus niedrigem NIBB extrahiere Datenadresse, Größe, Anz. i
804
0233
E3
MOVP3
A, @A
Datenadresse Dezimalstell«
805
0234
29
XCI!
A, RI
speichere Adresse
806
0235
AD
.MOV
R5 , A
807
0236
A3
MOVP
A, @A
Lade SPEC
808
0237
AC
MOV
R4 , A
Hoch = Anzahl der Bytes, Nieder = Dezimalstellen
809
0238
53
0F
ANL
A, Ì0F
Maske für niederen NIBB
810
023A
2C
XCII
A, R4
Speichere Dezimalstellen
811
O 2 3 B
DC
XRL
A, R4
Bilde Anzahl der Bytes
812
023C
.47
SWAP
A
813
0 2 3 D
AA
MOV
R2 , A
814
0 2 3 E
AF
MOV
R7 , A
Rette für späteren Gebrauch
815
0 2 3 F
BB
03
MOV
R3 , »3
Setze Fehlziffern-Zähler
816
.
017
02 4 1
FI
MOV
A, @ R1
BIO
02 4 2
17
INC
A
'
819
024 3
96
47
JNZ
FMTOT1
Wenn Daten = FF fehlerhaft
820
0245
24
76
JMP
SOFTER
021
0247
f 4
e9
fmtot1
CALL
CLRWK
022
0249
b0
7 1
MOV
no, n (i*
023
0240
1 4
65
CALL
BLKMOV
Bewege in Arbeitsbereich
W
os
6500 ACCOUNTING MODULE CA0048/11 "version 4.21.57 15-Oct-79 12:47:58 RETURN VALUE WITH UNECESSARY ZEROS REMOVED FMTOUT.SRC.
824
CHECK
FOR
SERVICE VALUE
Prüfe auf Service Wert
825
0 2 4 D _
FD
MOV
A, R5
Lade Header
826
0 2 4 E "
17
INC
A
827
0 2 4 F
92
B7
JB4
FMTSOF
weicher Fehler = XF, =10
828
CHECK
FOR
CONTROL SUM
829
0251
FD
FMTOT2
MOV
A, R5
830
0252
C6
B9
JZ
FMTSTA
wenn Status, übergehe Format
831
0254
D3
04
XRL
A, #4
832
0256
96
5A
JNZ
FMTOUA
Nicht Kontrol1 summe
833
CONTROL SUM
Kontrollsumme
834
0253
54
BF
CALL
CTLSUM
835
836
025A
B8
71
FMTOUA
MOV
R0, | (WORI
837
025C
FF
MOV
A, R7
838
025D
AA
MOV
R2, A
839
025E
F0
FMTOUO
MOV
A, @R0
Lade 1 Datenbyte
840
025F
C 6
I 0
JZ
FMTOU1
wenn beide Ziffern 0, setze Prüfung fort
841
kann noch eine vorangestelle Null in oberem NIBBLE
842
0261
FA
MOV
A, R2
Bilde Ziffernzahl
843
0262
E7
RL
A
844
0263
AB
MOV
R3, A
Rette in R3
845
0264
F0
MOV
A, @R0
846
0265
53
F0
ANL
A, UOPO
Prüfe hohen NIBBLE des Datenbyte
6500 ACCOUNTING
MODULE CA8
048/11
vers i on
4.21.57 15-Oct-79 12:47:58
RETURN
VALUE
WITH
UNECESSARY
ZEROS
REMOVED FMTOUT.SRC
847
0267
96
6 A
JNZ
FMTOU2
848
0269
CB
DEC
R3
Überlege ob Unterdrückung von hoher Null
849
026A
FC
FMTOU2
MOV
A, R4
Prüfe ob 3 Dezimalstellen
850
02 6B
D3
03
XRL
A, #3
851
0 2 6D
■ 96
86
JNZ
FMTOIO
Wenn nicht MILLS, keine weitere Unterdrückung
852
HERE
IF TlIREE (3) DEC
REQUIRED
853
026F
F8
MOV
>
53 O
Datenzeiger
854
0270
6A
ADD
A, R2
855
0271
0 7
DEC
A
Start + Größe - 1
856
0272
A9
MOV
RI , A
857
0273
Fl
MOV
A, @R1
Lade niedriges Byte
8 5 8.
0274
53
OF
ANL
A, HOF
Prüfe niedrigen NIBB auf Nüll
859
0276
96
06
JNZ
FMTOIO
Springe, wenn Unterdrückung nicht möglich
860
Hier nachlaufende Null angeben
861
0278
FB
FMTOU 3
MOV
A, R3
862
0279
17
INC
A
Aufrunden für Bytezähler von Daten
863
027A
67
RRC
A
Bilde Bytezahl
864
027B
AA
MOV
R2 , A
865
027C
E6
00
J NC
FMTOU4
bereits ungerade Ziffernzahl
866
867
0 2 7 E 027F
CB 1A
DEC I NC
R0 R2
Anpasse Adresse, um anzusehen wie ungerade
Z i f fernzah1
868
0200
FMTOU4
MOV
A, R0
869
0281
B 4
02
CALL
FMTNB 2
Linksverschiebung um 1 NIBBLE
6500 ACCOUNTING ,
MODULE CA8048/11
version 4
.21.57 15-Oct-79 12:47:58
RETURN
VALUE
WITH
UNECESSARY
ZEROS
REMOVED FMTOUT.SRC
870
0283
A8
MOV
R0, A
Neuer Adressenzeiger
871
0284
: CB
DEC
R3
Anpasse Ziffernzahl
872
0285
CC
DEC
R4
Anpasse Dezimalenzahl
873
Vorbereite Übertragungspaket
874
0286
FC
FMTOIO
MOV
A, R4
Prüfe ob von Null verschiedene Ziffern Dezimalpli
875
0207
C6
9C
JZ
FMTOl4
876
0289
D3
OF
XRL
A , ï OF
877
0288
C6
9C
JZ
FMTOl4
wenn Dezimalplätze = 0, überspringe Prüfung
878
028D
FC
MOV
A, R4
879
028E
87
CPL
A
Subtrahiere und prüfe Übertrag
880
028F
97
CLR
C
881
0290
7B
ADDC
A, R3
882
0291
F6
9C
JC
FMTOl4
Ziffern in Ordnung
883
PAD IN
LEADING "0" S AS
NEEDED Auffülle vorderde "0" wenn nötig
804
0293
2B
FMTOl1
XCII
A, R3
Prüfe, ob ungerade Ziffernzahl
885
0294
12
97
JB0
FMTOl2
886
0296
C 8
DEC
R0
Bewege Adressenzeiger um 1 Byte nach oben
807
0297
2B
FMTOl2
XCII
A, R3
Ersetze Ziffer in R3 und anpasse Zahlung in
88 8
0298
1B
INC
R3
Erhöhe Ziffernzähler
889
0299
17
INC
A
Anpasse Zähler
890
029A
96
93
JNZ
FMTOl1
891
029C
FB
FMTOl4
MO V
A, R3
Bilde Format in Akkumulator
892
029D
47
SWAP
A
► «t w
6500 ACCOUNTING
MODULE CA00
48/11
vers i.on
4.21.57 15-Oct-79 12:47:58
RETURN
VALUE
WITII
UNECESSARY
ZEROS
REMOVED
FMTOUT.SRC
893
029E
4C
ORL
A, R4
894
029F
C8
DEC
R0
Anpasse Adressenzeiger
895
02A0
AO
MOV
@R0, A
Speichere Format
896
■0 2 A1
C 8
FMTSTS
DEC
R0
897
02A2
FD
MOV
A, R5
Einsetze Header
898
0 2 A 3
43
80
ORL
A, 180
Einsetze oberen NIBBLE des Header
899
02A5
A0
MOV
@R0, A
900
02A6
CB
DEC
R0 •
901
02A7
FB
MOV
A, R3
Berechne Übertratungsbyte-Zahl
902
02A8
97
CLR
C
90 3
02A9
17
INC
A
904
02AA
67
RRC
A
Dividieren durch 2
905
0 2 AB
03
02
ADD
A, 12
906
0 2 AD
A0
MOV
@R0, A
Speichere Bytezahl
907
02AE
F 8
FMTTRP
MOV
AM RO
gepackte Adresse
908
02AF
94
04
CALL
STR10M
909
02B1
A 5
CLR
Fl
910
0282
94
8C
CALL
CTXMES
911
0 2 B 4
65
STOP
TCNT
912
02B5
24
3 A
JMP
IDLEO
913
91 4
02B7
10
FMTSOF
INC
@ RO
setze Fehlerbit für weichen Fehler in Üb
915
0 2 B 8
1 0
I NC
@R0
ON ON N>
W on
On on
6
On
6500 ACCOUNTING MODULE CA8048/11 version 4./21.57 RETURN VALUE WITH UNECESSARY ZEROS REMOVED FMTOUT.SRC
15-Oct-79 12:47:50
916
02B9
BD
00
FMTSTA
MOV
R5, IVLISHD
Ändere Schein-Header "QF" in "80"
917
02BB
C8
DEC
R0
Zurück auf erstes Byte
918 •
02BC
CB
DEC
R3
Ändere Ziffernzahl, so Nachricht = 3 Bytes
919
02BD
44
Al
JMP
FMTSTS
920
921
CONTROL S
UM
922
02BF
B9
20
CTLSUM
MOV
RI, iDSCREG+C
923
02C1
DA
04
MOV
R2, HDSCRSZ
924
02C3
54
EC
CALL
DECADD
925
02C5
27
CLR
A
926
02C6
70
ADDC
A, 0RO
Addiere C-Marke und hohes Byte des Akkumulators
927
02C7
57
DA
A
928
02C8
A0
MOV
0 R0, A
929
02C9
83
RET
930
931
INCLUDE DM0 :ASCCRC '
932
SUBTTL
Berechne CRC für anwachsendes Register
933
PAGE
i
>
> c/1
6500 ACCOUNTING MODULE CA0O4Û/11 version 4.21.57 15-Oct-79 12:47:50 COMPUTE CRC FOR ASCENDING REGISTER ASCCRC.SRC
934 . :
935
936 Berechne CRC für anwachsendes Register .937
938
939
940
02CA
B8
2 A ASCCRC
MOV
R0,
1 ASCREG
941
0 2CC
BA
05
MOV
R2 ,
H ASCRSZ
942
02CE
F 4
CF
CALL
CRC
943
02D0
B 8
29
MOV
R0 ,
II ASCECC
944
02D2
83
RET
945
946 INCLUDE DM0 : DISABL
947 SUBTTL DISABLE METER Setze Maschine außer Betrieb
948 PAGE
Os os bJ
£>. w
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:50
DISABLE
METER
DISABL
.SRC
949
950
Setze
Maschine außer
Betrieb
951
, 952
953
'
954
955
Wenn Maschine in Betriebsbereitschaft, setze Maschine außer
956
Betriebsbereitschaft und prüfe Antwort des Druckers, sonst tue nichts
957
958
IS METER ENABLED?
Maschine in Betrieb?
959
02D3
89
04
DISABL
ORL
PI, 114
Setze ACC Hälfte des Vermittlers außer
960
02D5
B8
2 F
MOV
R0, il PRSTAT
961
02D7
FO
MOV
A, @ R0
962
02D8
52
DB
JB2
DISAB1
gegenwärtig in Betrieb
963
0 2 DA
83
DISRET
RET
964
.965
02D8
54
E7
DISAB1
CALL'
LSTATE
966
02DD
52
DA
JB2
DISRET
wenn verhängnisvoll, kein Gespräch mit Drucker
967
02DF
94
1 2
CALL
STR6 0M
968
02E1
14
80
DISAB2
CALL
RECSTS
Warte auf Statusantwort
969
02E3
52
El
JB2
DISAB2
Warte bis außer Betrieb oder Sperrzeit
970
02E5
A4
CF
DISAB3
JMP
ENABRT
971
6500 ACCOUNTING MODULE CA8O40/11 version 4 DISABLE METER DISABL.SRC
972 INCLUDE
973 S.UBTTL
974 PAGE
21.57 15-Oct-79 12:47:50
> «k.
-j
Lade Zustandswert o\
OS
W ON
«t w o\
6500 ACCOUNTING MODULE CA8048/11 LOAD STATE VALUE LSTATE.SRC
version 4.21.57 15-Oct-79 12:47:58
975
976
ï
977
Lade Zustandswert
978
979
980
9 B 1
02E7
D5
LSTATE
SEL
RB1
982
02E8
B8 58
LSTATW
mov
RO, iSTATE
983
02EA
FO
mov
A, @ RO
984
02EB
93
RETR
985
986
INCLUDE DM0 :DECAD
987
SUBTTL Dezimale
988
PAGE
> **■
oo
► S©
6500 ACCOUNTING MODULE CA0048/11 version'4.21.57 DECIMAL ADDITION OF N DIGITS DECADO.SRC
15-Oct-79
12:47:50
909
990
991
Dezimale
Addition von
N Bytes
992
993
994
995
Addiere zwei (2) Datenfolgen von BCD-Zahlen (A = A + B)
996
997
1--
R0
Adresse des Byte niedriger Ordnung
990
1 --
RI
Adresse des Byte niedriger Ordnung
999
1 —
R2
Anzahl zu addierender Bytes
1 000
-om
C
0, kein Überlauf; = 1, Überlauf
1 001
1 002
0 2EC
97
DECADD CLR
C
1 003
1004
C 2 ED
F0
DECADI mov
A, @ RO
Lade ACC mit Byte "A"
1005
02EE
71
ADDC
A, @ R1
Addiere "A" + "B"
1006
02EF
57
DA
A
1007
0 2 FO
A0
mov
@R0 , A
Rette (zwischenspeichere) Antwort
1 008
1009
Bringe Adressenzeiger auf neuen Stand
1010
0 2 F1
Cfl
DEC
R0
1011
0 2 F 2
C9
DEC
ni
On on
■tk w
©N
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:50
DECIMAL ADDITION OF N DIGITS DECADD.SRC
1012 02P3 EA ED DJNZ R2, DECADI Erniedrige ByLe-Zähler und fahre fort
101 3 02F5 ;8 3 RET
1014
1015 INCLUDE DMO:TMRTST
1016 Prüfe verbleibende Zeit, bis Zeitgeber-Unterbrechung
1017 PAGE
6500 ACCOUNTING MODULE CA8040/11 version 4.21.57. 15-Oct-79 CHECK TIME LEFT TILL TIMMER INTERUPT TMRTST.SRC
12:47:58
1018
1019
1020
1021
1022
1023
1030
1031
1032
1033
1034
1035
.Stelle sicher, daß'Zeitgeber nicht unterbricht für > 4 msek.
1024
02F6
42
TMRTST
MOV
A, T
Lade Zeitgeberwett
1025
02F7
03
30
ADD
A, 1130
Addiere ungefähr 5-6 msek.
1026
02F9
E6
FE
JNC
TMRTS1
C = 0 in Ordnung
1027
02FB
53
CF
ANL
A, II OC F
Ändere Zeitgeber auf Wartezeit von 5
1028
0 2FD
62
MOV
T, A
Bringe geänderten Wert zu Zeitgeber
1029
0 2 FE
83
TMRTS1
RET
0300
ORG 300
INCLUDE DM0 ;PG3TBL
SUBTTL
PAGE
Datentabelle der RAM-Adressen os
Os K>
W os
On o\
b) «-
w C\
6500 ACCOUNTING MODULE CAB048/n vers ion 4.21.57 I5-Oct-79 1 2:47:50 DATA TABLE OF RAM ADDRESS PG3TBL.SRC
1036
1037
1038
Tabelle fiir Adressen der Daten
1039
1040
1041
1042
Jede Eintragung ist Anfangsadresse von mit Header
1043
1044
NORMAL MODE
Normalbetrieb
1045
0300
56
DB
MRSTAT
Maschinenstatus
1046
0301
30
DB
POSVAL
Portogebührenwert
1047
0302
2 A
DB
ASCREG
anwachsendes Register
1048
0303
25
DB
DSCREG
abfallendes Register
1049
0304
2 A
DB
ASCREG
Kontrollsumme
1050
0305
20
DB
PECEKT
Stückzahl
1051
0306
33
DB
BATANT
Stapelzahl
1052
0307
37
DB
BATCNT
Stapelbetrag
1053
1054
SURVIVE MESSAGES
Wartungsnachriehten
1055
0308
56
DB
MRSTAT
Maschinenstatus
1056
0309
30
DB
POSVAL
Portogebührenwert
1057
030A
49
DB
UNLOCK
Entsperrungswert
1058
0300
4C
DB
LOWPOS
unterer Portogebührenwert
> Ol i
6500 ACCOUNTING MODULE CA8040/11 version 4.21.57 15-Oct-79 12:47:58
. TABLE OF
RAM
ADDRESS PG3TBL.
SRC
1059
030C
45
DB
MSERNO
Maschi nenseriennuinmer
1060
030D
41
DB
RSTCNT
Kode für verhängnisvollen Zustand
1061
030E
4 E
DB
SETLIM
Einstellbare Portogebührenhöchs tgrenze
1062
0 30F
56
DB
MRSTAT
frei
1063
1064
Wartungsbetri eb-Betragsforma tspezi fikationen (SPEC)
1065
0310
63
DB
63
Entsperrungsforma t-Spez.
1066
0311
40
DB
40
unterer Portogebührenwert-Formatspez.
1067
0312
40
DB
40
Einstellbare Höchstgrenzen-Formatspez.
1068
0313
53
DB
53
Portoeins tellgebühr-Spez.
1069
1070
INCLUDE DMO:DOSTAT
1071
SUBTTL
verarbei te Druckersta tus
1072
PAGE
6500 ACCOUNTING MODULE CA8048/11 PROCESS PRINTER STATUS DOSTAT.SRC
1073
1074
1075
1076
1077
1078
1079
Bringe Druckerstatus auf neuen Stand,
gebe Änderungen in Zustand und Frankiermaschinenstatus
1080
1081
1 —
R0
Adresse an Nachricht'mit Header und Statusbyte
1002
--M
RI, R5, R6,
1003
100 4
0314
64
7C
TRIPST
JMP
DOTRIP
1085
7
1006
0316
B9
5D
DOSTAT
MOV
RI, «POLCNT
Nullsetze Sendeaufrufsverzögerungszäh1er
1087
0318
Q1
CO
MOV
@R1, 8 0C0
ungefähr 200 msek.
1008
03 1A
23
80
MOV
A, « VLISHD
Prüfe.Statusheader
1009
031C
DO
XRL
A, @ RO
1090
0 3 1 D
C6
23
JZ
DOSTA 1
Header in Ordnung
1091
; BAD
HEADER FATAL - PROCEDURE
1092
0 3 1 F
BF
02
MOV
R7, H PROFAT
verhängnisvoller Kode
1093
0321
84
33
JMP
FATERR
1 094
0323
B9
2F
DOSTA1
MOV
RI, «PRSTAT
Austausche Status
1095
0325
1 0
INC
RO
Zeige auf Daten version 4.21.57 15-Oct-79 12;47;50
Verarbeite Druckerstatus
6500 ACCOUNTING MODULE CA804Q/11 version 4.21.57 15-Oct-79 12:47:58
:ess
PRINTER
STATUS
DOSTAT
.SRC
1096
0326
15
DIS
1
stelle sicher, daß wenn Auslösung übertragen wird, diese verarbeitet
1097
0327
FO
MOV
A, @R0
wird
1098
0328
21
XCH
A / @R1
1099
0329
01
XRL
A, @R 1
Bilde XRL aus altem und neuem Status
1 100
032A
53
DF i
ANL
A, HOOF
Maske für Sperrstange
1101
032C
C6
6 E
* y
JZ
DOSTA7
keine Änderung
1102
032E
AF
MOV
R7 , A
.
1103
032F
51
ANL
A, @R1
Bilde UND aus neuem und XRL von altem und neuem
1 104
0330
AE
MOV
R6 , A
1 105
0331
72
1 4
JB3
TRIPST
Führe Buchung aus bei Beginn der Auslösung
1106
0333
05
EN
1
Keine Auslösung
1 107
0334
1 2
71
JDO
GETDIA
Wenn neuer verhängnisvoller Fehler, erhalte Diagnosestatus
1108
0336
FF
MOV
A, R7
1 109
0337
72
3 B
JB3
DOSTA3
War Änderung in Auslösebit?
1110
Prüfe
Ausga ngsstellung
1111
0339
92
A 2
JB 4
BADHOM
Ausgangsstellung anerkennen
1112
033B
37
DOSTA 3
CPL
A
1113.
033Ç
AD
MOV
R5 , A
1114
0330
B8
5B
MOV
RO, SCNTXFL
Änderung in Status, daher Warteschlange an Steuerung
1115
033F
10
INC
@ RO
1116
CHECK
IF CHANGE IN INTERPOSTER
1117
0340
B8
56
DOSTA 4
MOV
RO, «MRSTAT
1118
034 2
52
54
JB2
DOSTA5
Keine Änderung in Vermittler
6500 ACCOUNTING MODULE CA0O4O/11 version PROCESS PRINTER STATUS DOSTAT.SRC
1119
034 4
Fl
MOV
A, @ R1
1 120
0345
V
RR
A
1121
0346
in
RR
A
1122
0347
6 7
RRC
A
1123
0348
E0
MOV
A, @ R0
1124
0349
E6
4 D
JNC
DOST4 A
11 25
1
C = 1
METER ->
1126
034B
53
7F
ANL
A, 17F
1127
034D
77
DOST4A
RR
A
1128
034E
77
RR
A
1129
034F
77
RR
A
1130
0350
F7
RLC
A
1131
0351
E7
RL
A
1132
0352
E7
RL
A
1133
0353
A0
MOV
0RO, A
1134
0354
FD
DOSTA5
MOV
A, R5
1135
CHECK DATER
DOOR
1136
0355
D2
63
Jß6
DOSTA6
1137
0357
97
CLR
C
1 1 30
0358
A7
CPL
C
1 139
0359
FE
MOV
A, R6
1 140
035A
D2
5D
JB6
DOST5A
1141
0 3 5C
A 7
CPL
C
21.57 15-Oct-79 12:47:50
Übertrag = Vermittlerstellung
Lade Maschinenstatus und einsetze Vermittler C = 0 - ) Setze außer Betrieb
Inbetriebsetzung muß Basisrücksetzungs-Bit löschen
Keine Änderung Fehlprüfungsdatenbit auf = 1
Tür gerade geöffnet; verwende Fehlsetzung Türänderung und nicht gerade geöffnet
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:50 PROCESS PRINTER STATUS DOSTAT.SRC
1142
035D
F0
DOST5A
MOV
A, @R0
Lade Maschinenstatus
114 3
035E
E7
RL
A
1144
035F
E7
RL
A
1145
0360
67
RRC
. A
1146
0361
RR
A
1147
0362
AO
-
MOV
@R0, A
Rette auf neuen Stand gebrachten
1148
0363
FD
DOSTA6
MOV
A, R5
1149
CHECK
PRIV
SWITCH
1 150
0364
F2
6 E
JB7
DOSTA7
Keine Änderung
1151
0366
B8
58
MOV
R0, «STATE
1152
0368
Fl
MOV
A, @R1
Lade neuen Status
1153
0369
F7
RLC
A
Prüfe Berechtigungsbit
1 154
036A
F0
MOV
A, @R0
Lade Zustandswert
1155
036B
77
RR
A
1156
0 36C
F7
RLC
A
Einsetze Berechtigungs-Info
1 157
036D
A0
MOV
@ R0, A
1158
0 3 6 E
Fl
DOSTA7
MOV
A, @R1
Lade Druckerstatus in Akku.
1159
036F
05
EN
l
1 1 60
0370
83
RET
1161
1162
0371
94
04
getdia:
CALL
STRI0M
1163
03 7 3
23
5d
MOV
A, 8 5 Dil
Header für "DIA"-Status
1164
0370
1 4
84
CALL
getd
4*.
w
9\
6500' ACCOUNTING MODULE PROCESS PRINTER STATUS
1165
0377
:6 5
1166
0370
18
1167
0379
F0
1 168
037A
84
1169
11 70
1171
1 172
CAB04 8/11 DOSTAT.SRC
STOP INC MOV JMP
version 4.21.57
TCNT RO
A, @ RO FATRRl
15-Oct-79
1 2 : -4 7 : 5 8
INCLUDE DM0:DOTRIP
Verarbeite Auslösung und Buchung
PAGE
6500 ACCOUNTING MODULE CAB040/11 version 4.21.
PROCESS TRIP AND ACCOUNTING DOTRIP.SRC
1173
1174
1175 Verarbeite Auslösung und Buchung
1176
1177 1 1 70
1179 Verarbeite Auftreten von Auslösung und Buchung
1 1 80
1101
1 --
A
Wert des neuen Status
118 2
1 --
R0
Adresse des alten Status
1 1 Ü3
1--
RI
Adresse des neuen Status
1184
1 185
Bringe Maschinenstatus auf neuen Stand
1 186
0 3 7C
65
DOTRIP STOP
TCNT
1 187
037D
23
64
MOV
A, 8TRPSET
Zulässige Zeit für Auslösung
1 1 88
0 3 7 F
94
19
CALL
STR20M
Starte Zeitgeber
1 189
038 1
B0
02
MOV
@R0 , 112
zeigt Zeitgabe der Auslösung an
1 190
038 3
74
BO
CALL
DOACCT
1191
0385
05
EN
1
Gestatte Stromabfall
1192
0386
94
F 4
CALL
POS U PD
1 193
03BB
C 6
8C
JZ
DOTRP1
Lasse in Betriebsbereitschaft
1194
O30A
89
04
ORL
PI , 84
Setze jetzt außer Betriebsbereitschaft
1 195
Kritisclie
Buchung jetzt vollendet, so zeige dem Drucker an
on on
4*. M ON
6500' ACCOUNTING MODULE CA0040/11 version 4.21 PROCESS TRIP AND ACCOUNTING DOTRIP.SRC
.57
15-Oct-79
12:47:50
1 1 96
0 3 OC
23
45
DOTRPl'
MOV
A, «ACMPIID
1197
0 3 BE
1 4
94
CALL
GETSTS
11 90
0390
37
CPL
A-
1199
0391
72
97
JB3
DOT R P 3
Auslösung vollendet
1200
WAIT
FOR TRIP COMPLETE
Warte auf Auslösung vollständig
1 201
0393
14
00
DOTRP2
CALL
RECSTS
1 202
0395
72
93
JB3
DOTRP2
Verbleibe wartend, bis Auslösebit gelöscht
1203
0397
94
01
DOT R P 3
CALL
T1MSTP
Stoppe Zeitgeber
1204
0399
03
A3
ADD
A, «TRPTOL
Prüfe auf Übergeschwindigkeit
1 205
039B
E6
9 P
JNC
DOTRP4
Geschwindigkeit in Ordnung
1206
OVERSPEED
1 207
039D
04
79
JMP
TRIPTM
1200
039 P
FF
DOTRP4
MOV
A, R7
Prüfe Ausgangs-(HOME)-Stellung
1 209
0 3 A0
92
A6
JB4
DOTRP5
Ausgangsstellung geändert, in Ordnung
1210
BAD HOME POSITION
1211
03A2
BF
05
BADIIOM
MOV
R7, HIIOMPAT
1212
0 3 A4
04
33
JMP
FATERR
1213
03A6
B9
56
DOT R P 5
MOV
RI, «MRSTAT
1214
03AO
BO
70
MOV
R0, « WO R K ß P * 2
1215
03AA
BA
02
MOV
R2 , « 2
1216
0 3 AC
1 4
65
CALL
ßLKMOV
1217
03AE
CO
DEC
R0
Zeiger auf erstes Byte
1210
0 3 AP
10
INC
0 R0
Auslösebit 0
> o
>
6500 ACCOUNTING MODULE CA PROCESS TRIP AND ACCOUNTING
1219 03B0 CB
1220 03B1 BO 00
1221 03B3 CO
1222 03B4 BÖ 03
1223 03B6 44 AE
1224 1 225 1226
040/11 version 4.21.57 DOTRIP.SRC
DEC RO
MOV @R0, ÏVLISIID
DEC RO
MOV @R0, 1(3
JMP FMTTRP
Buchung für Auftreten PAGE
15-Oct-79 12:47:50
von Auslösung o\
«t ©\
0\
os bJ
«t
Oi Os
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:50 ACCOUNT FOR OCCURANCE OF TRIP DOTRIP.SRC
1 227
i 220
1229
Buchung für Auslösung
1230
1231
1232
\
1233
Bringe anwachsendes und abfallendes Register, Stückzahl sowie
1234
Stapelzahl und Stapelbetragsfelder auf neuen Stand
12 35
1236
03BQ
94
E3
DOACCT CALL
POSWRK Bewege Portogebührenwert in Arbeitspuffer mit
1237
Bringe anwachsendes Register auf neuen Stand
1230
03DA
BB
2E
MOV
R0, 4(ASCREG*ASCRSZ-1)
1239
03BC
B9
73
MOV
Rl, #(WORKBF+POSTSZ+3-1)
1240
03BE
BA
05
MOV
R2, H ASCRSZ
1241
03C0
54
EC
CALL
DECADD R0 = R0 j R1
1242
NEW CRC
1243
03C2
54
CA
CALL
ASCCRC
1244
03C4
A0
MOV
@ R0 , A
I 245
Bringe abfallendes Register auf neuen Stand
1246
03C5
C8
DEC
RÛ POINT AT
1247
03C6
B9
73
MOV
R 1 , # (WORKBFi POSTSZO-1
1248
Û3C0
BA
04
MOV
R2, SDSCRSZ
1249
03CA
1 4
6D
CALL
DECSUB
> os
6500 ACCOUNTING MODULE CA0048/11 version 4.21.57 15-Oct-79 12:47:58 ACCOUNT FOR OCCURANCE OF TRIP DOTRIP.SRC
1250
Û3CC
E6
A2
JNC
BADIIOM
1251
NEW CRC
1252
03CE
D4
65
CALL
DSCCRC
1 253
0 300
A0
MOV
@R0, A
1254
-
UPDATE BATCH
AMOUNT FIELD
Bringe Stapelbetragsfeld auf neuen Stand
1 255
03D1
B8
36
MOV
RO, 8 BATAMT +
BATASZ - 1
1 256
03D3
B9
73
MOV
RI, fl(WORKBF+POSTSZ+3-1)
1 257
03D5
BA
04
MOV
R2, BBATASZ
1250
03D7
54
EC
CALL
DECADD
1 259
UPDATE PIECE
COUNT
Bringe Stückzahl auf neuesten Stand
1260
03D9
F4
EA
CALL
CLRWRK
1 261
03DB
B9
75
MOV
RI , H WORKBF +
WRKBSZ - :
1262
0 3 DD
11
INC
@R1
1263
03DE
BB
23
MOV
RO, 8 (PECEKT +PECESZ-1 ) / Adresse des letzten Byte des Stückzählers
1264
03E0
BA
04
MOV
R2, HPECESZ
Anzahl der Bytes
1 265
03E2
54
EC
CALL
DECADD
1 266
UPDATE BATCH
VARIABLES
Bringe Stapelvariable auf neuen Stand
1 267
03E4
B8
09
MOV
RO, ÄßATCNT +
BATCSZ -
1268
03E6
B9
75
MOV
RI, H WORKBF +
WRKBSZ -
1269
03E8
BA
03
MOV
R 2, HBATCSZ
1 270
03EA
54
EC
CALL
DECADD
1 271
CHECK CONTROL SUM CRC
Prüfe Kontrol1 summen - CRC
1272
0 3EC
94
D2
CALL
CTLECC
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 ACCOUNT FOR OCCURANCE OF TRIP DOTRIP.SRC
15-Oc t-7 9
12:47:58
1273
1274 1 275 1276 1 277
1278
1279
03EE DO 03EF 96 A2 0 3 F1 03
XRL JNZ RET
A, @ RO BADIIOM
INCLUDE DMO;LOWSET
PAGE
Kommunikationsmaske gesetzt
6500 ACCOUNTING MODULE CA004Q/1] version 4.21 COMMUNICATION MASK SET LOV
1 280
.
1281
1282
Untere Kommunikationsmaske gesetzt
1283
1 284
1 205
1286
Bestimme richtige Ausgabe für PI um niedrigen Pegel auf aktiver
1 287
Kommuni ka t ion auszugeben und andere Leitung unbeeinflußt zu lassen
1 288
1289
-OM
a
Maskenwert bei Aussprung
1 290
1291
0 3F2
09
LOWSET IN
A, PI
Lese gegenwärtigen PI
1292
0 3F3
53
CC
ANL
a, noce
Lösche Kommunikationsleitungen
1293
03F5
76
FA
JF1
LOWST1
Drucker
1294
CONTROL
S teuerung
1295
03F7
43
1 3
ORL
A, II 1 3
1 296
03F9
33
RET
1297
PRINTER
Drucker
1298
0 3 FA
43
31
LOWST1 ORL
A , B 31
1 299
0 3 FC
03
RET
1 300
130 1
1 302
0400
ORG
400
os
6S00 ACCOUNTING MODULE CA0048/11 version 4.21.57 15-Oct-79 : 12:47:58 COMMUNICATION MASK SET LOWSET.SRC
1303 INCLUDE DMOìTIMER Zeitgeber
1304 Zeitgeber- und verhängnisvolle Fehler-Funktionen
1305 PAGE
os os
6500 ACCOUNTING MODULE CA0048/11 versiön '4 . 21 . 57 15-Oct-79 12:17:50 TIMER AND FATAL ERROR FUNCTIONS TIMER.SRC
1 306
1307
1300
Zeitgeber -
Verhängnisvoller Fehler
J 309
1310
1311
*
1312
Liefert drei
Funktionen: (1) Steuerung des Chip-Zeitgebers, (2) Sperrzeitverarbeitung
1313
zeitgesteuerter Ereignisse und (3) Verarbeitung bei verhängnisvollem Fehler
1314
1315
Zeitbetrag zum Zählen
1316
— M
R0
1317
1318
TABLE FOR
TIMEOUT JUMPS /Tabelle für Sperrzeitsprünge
1319
0400
31
DB
LOW FATCOM Wenn Kommunikationszeit aus
1 320
0401
57
DB
LOW INTPOS Wenn Sperrzeit bei Vermittleränderung
1321
0402
79
DB
LOW TRIPTM . Auslösung zu lang
1 322
0403
7D
DB
LOW SETPTM Portogebühr zeitausgesperrt
1323
1 324
Schaffe Sperrzeitfunktion für Zeiten von 1 - 20 rosee.
1 325
0404
AB
STRIÛM MOV
R 3 , A
1326
0405
23
OE
MOV
a, b l 4 Allgemeine Kommunikations-Sperrzeit
1327
0407
B8
54
STRM 1L MOV
Ri), U TIMCNT Eintritt mit Sperrzeit in Akku in msec
1320
0409
00
Ol
MOV
0«.t y i Einstellung für 1 Durchgang durch Hauptzeitschleife
6500 ACCOUNTING MODULE CAÖ04A/11 version 4.21.57
R AND
FATAL
ERROR
FUNCTIONS TIMER.SRC
329
0 4 OB
E7
RL
A
330
04 0C
E7
RL
A
331
0 4 OD
E 7
RL
A
332
0 4 OB
37
CPL
A
333
04 0F
17
INC
A
334
0410
84
IE
JMP
STRTIM
335
MAIN
TIMER
LOOPS
336
0412
55
STR60M
MOV
R0, ï TIMWIIO
337
0414
B0
01
MOV
SRO, VI
330
0416
AB
MOV
R3, A
339
0417
23
04
MOV
A, #4
340
0419
B8
54
STR20M
MOV
R0, STIMCNT
341
04 1 B
A0
RSTR20
MOV
@ R0 , A
342
04 IC
23
60
MOV
A, 8256. - 149
343
04 1 E
62
STRTIM
MOV
T, A
344
0 4 1F
55
STRT
T
345
0420
25
EN
TCNT 1
346
0421
FB
MOV
A, R3
347
0422
1 8
INC
R0
348
0423
93
TIMDMY
RETR
349
350
0424
D5
TIM INT
SEL
ROI
351
0425
AB
MOV
R3 , A
15-Oct-79 12:47:50 msec * ß ist ungefähr benötigte Zahl
Bilde 2-er Komplement für Hochzähl-Überlauf Verwende Zentralkode Hauptzei tgeberschleife Eintritt für Vermittler-Sperrzeit Tabelleneintrag für Vermittler-Sperrzeit Rette Akku.-Wert
60 msec. = 3 * 20 msec-Zählungen Eintritt, wenn allgemeiner Wert in Akku Zentralkode für neue Zählung und Neustart des 20-msec-Zähl Komplementzeit-Zählung für 20 msec.
Lade Zeitgeber
Wiederherstelle Akku, für Zeitgeberneustart o\ o\
w ©\
Bei Unterbrechung störe unterbrochene Aktivität nicht
>
SAV R3 a
6500 ACCOUNTING MODULE CA0040/11 version 4.21 TIMER AND FATAL ERROR FUNCTIONS TIMER.SRC
1352
0426
65
STOP
TCNT
1353
0427
54
,
MOV
R0, «TIMCNT
1354
04 29
F0
MOV
A, @ R0
1 355
0 4 2 A
07
DEC
A
1356
042B
96
1B
JNZ
RSTR2Û
1357
TI MED
OUT
1 350
042D
10
INC
R0
1 359
04 2E
20
XCII
A, @ R0
1360
0 4 2 F
C5
SEL
RB0
1361
04 30
B 3
JMPP
@ A
1 362
1 363
04 31
BF
03
FATCOM
MOV
R7, «COMFAT
1 364
0433
94
ei
FATERR
CALL
TIMSTP
1 365
04 35
09
FF
ORL
PI, «OFF
1366
04 37
54
E7
CALL
LSTATE
1367
04 39
52
47
J B 2
FATER1
1360
04 3B
FF
MOV .
A, R7
1 369
04 3E
A0
FATRRl;
MOV
RO,ÏPATCOD
1371
04 3F
10
INC
R0
1 372
04 40
F0
MOV
A , tì R0
1373
04 4 1
1 7
I NC
A
1 374
04 4 2
97
CLR
C
1 375
04 4 3
57
DA
A
57 15-OCL-79 12:47:50 Stoppe Zeitgeber
Wenn Zähler 0, warte weitere 20 msec.
Zeiger auf TIMWIIO
Gehe zu richtiger Sperrzeit-Routine Kode fiir Kommunikationsfehlschlag
Lösche Kommunikationsleitungen und erzwinge Anzeige Wenn bereits verhängnisvoll, überspringe
Speichere verhängnisvollen Kode
Erhöhe Zähler für verhängnisvollen Fehler
Muß in I3CD bleiben
6500 ACCOUNTING MODULE CAG040/11 version 4.21.57 15- Oct-79 12:47:50
Ell AND
FATAL
ERROR
FUNCTIONS TIMER.SRC
1376
0444
AO
MOV
@R0 , A
1377 1370
0445 0447
94 C5
4 A
CALL FATER1 SEL
NVMFAT RBO
Zentralkode, um verhängnisvollenZustarvd und Bit in Maschinen status zu setzen
1379
0440
2 4
1 4
JMP
QUESTA
1 300
1 301
0 4 4 A
1 4
60
NVMFAT CALL
STCIIK 1
1 302
044C
43
04
ORL
A, H 4
Setze verhängnisvolles Fehlerbit
1 303
0 4 4 E
A0
MOV
@ RO , A
Rette Status
1304
04 4F
Fl
MOV
A, @R1
1305
0450
53
FB
ANL
A,ÏOFB
1306
0452
AI
MOV
@R1 , A
1307
0453
19
INC
RI
Zeiger auf zweites Maschinenstatusbyte
1300
0454
B1
06
MOV
@R1, ï 00
Setze verhängnisvolles Bit in Maschinenstatus
1 309
0456
93
RETR
1 390
im
0457
0458
09 37
INTPOS: IN CPL
A, PI A
Sperrzeit Programme
1393
0459
Q8
2F
MOV
RO, If PRSTAT
1394
045B
52
6C
JB2
ENABTM
Betrieb durch Sperrzeit beendet
1 395
DI SABLE TIMED OUT
1396
045D
FO
DISBTM MOV
A, @ RO
1397
CHECK SIIUTTER BAR
1 390
045E
132
77
JB5
ENTMDN
1399
TRY TO TALK TO PRINTER
MY HALF COULD BE SHORTED
5
6500 ACCOUNTING MODULE CAÛ040/11 version 4.21.57 TIMER AND FATAL ERROR FUNCTIONS TIMER.SRC
1 5-Oc t.-7 9
12:47:58
1400
0460
99
FD
ANL
PI, HOFDII
1401
0462
B8
46
MOV
RO, «70
Sperrzeitsteuerung
1402
0464
14
BO
DISTMI CALL
DEL300
1403
0466
64
DJNZ
RO, DISTM1
1404
0468
BF
04
MOV
R7, IINTPAT
1405
0 4 6 A
84
33
JMP
FATERR
1406
ENABLE TIME
l-OUT
1 407
046C
F0
ENABTM MOV
A, @ RO
1408
046D
53
Cl
ANL
A, «0C1
Prüfe auf Einschaltung von
1409
0 4 6 F
96
77
JNZ
ENTMDN
Sperrzeit in Ordnung
14 10
RESET BASE
- BEST GUESS
14 11
0471
BB
56
MOV
RO, «MRSTAT
14 12
04 73
F0
MOV
A, @ RO
14 13
0474
43
80
ORL
A , «no
1414
0476
AO
MOV
@ RO , A
14 15
0477
24
76
ENTMDN JMP
SOFTER
14 16
TRIP TIMß-OUT
Ausiöse-Sperrzeit
14 17
0479
BF
OB
TRIPTM MOV
R7, « TRPFAT
14 18
04 7B
84
33
JMP
FATERR
14 19
1420
0 4 7D
BF
07
SETPTM MOV
R7, «SRTPAT
14 21
047F
04
3 3
JMP
FATERR
1422
CLEAR TIMER
TIMß-OlJT
Räume Timer Sperrzeit
Fehler
OS
o\
-u.
w
0\
6500 ACCOUNTING MODULE CAB04B/11 version 4.21.57 15-OCL-79 12:47:50 TIMER AND FATAL ERROR FUNCTIONS TIMER.SRC
14 2 3
0481
D5
T I M S T P • SEL
RDI
1424
0 4 B 2
65v
STOP
TCNT
1425
0483
27
CLR
A
1426
0484
DB 55
MOV
R0, S TIMWIIO
1427
0486
A0
MOV
@R0 , A
14 26
0487
CB
DEC
RO
Zeiger auf TIMCNT
1429
0 4 B 8
20
XCII
A, @ RO
0 und lade übrige Zeitzähler
1430
0489
93
RETR
1431
1432
INCLUDE DM0 :CTXMES
1433
SUßTTL
Übertrage Nachricht
1434
PAGE
6500 ACCOUNTING MODULE CAÛ04B/11 TRANSMIT MESSAGE CTXMES
version 4.21.57 15-Oct-79 12:47:58
1435
1436
1437
1438
1439
1440 144 1
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
04 8 A 0 4 8 B
A5 B5
Übertrage Nachricht und prüfe auf Echo
Übertrage Nachricht ! von N Bytes auf Drucker oder Steuerung. Aussprung tei erfolgreicher Übertragung oder Sperrzeit. Wenn Nachricht dreimal erfolglos übertragen, tritt verhängnisvoller Fehler auf. Übertragungsdatenpaket enthält: (1) Zahl der zu übertragenden Bytes und (2) die zu übertragenden Daten
1 -M --M 1--
A
R0 PI
= ADDRESS R2 - R7 = UNIT
0
1
PRCTX
CLR CPL
PI Fl
04 OC AB
04 BD 74 P2
CTXMES MOV R0, A
SET VALUE FOR LOW OUTPUT CTXME1 CALL LOWSET
Adresse des Sende-Datenpakets
Einhei t
Steuerung
Drucker
Setze Fl-Marke für Drucker .
Rette Paketadresse
Einstelle untere Ausgabemaske
65ÛQ ACCOUNTING MODULE CABÛ40/11 TRANSMIT MESSAGE CTXMES.SRC
1458
1459
04 0F
76
98
JP1
1460
CONTROL
1461
0491
26
C3
JNT0
1462
0493
39
OUTL
1463
0494
36
94
CTXCWT
JT0
1464
0496
04
A3
JMP
1465
PRINTER
1466
0490
46
CB
CTXMSO
JNT1
1467
049A
39
OUTL
1460
1469
049B
BA
04
MOV
1470
049D
46
C8
CTXMSP
JNT1
1471
049F
EA
9D
DJNZ
1472
0 4 A1
56
AI
CTXPWT
JT1
1473
1474
04 A3
AE
CTXMS1
MOV
1475
04 A4
54
F6
CALL
J 476
04A6
F0
MOV
1477
04A7
18
INC
1470
Û4A0
07
DEC
1479
04A9
AA
MOV
1400
04AA
C6
B5
JZ
Version 4.
CTXMSO
CTXCNC PI , A CTXCWT CTXMS1
CTXCNP PI , A
R2, #4 CTXCNP R2 , CTXMSP CTXPWT
R6 , A TMRTST A, @ RO RO A
R2, A CTXMS7
57 15-OCL-79 12:47:58
Versuche Übertragungsleitung zu erlangen Drucker
Empfange
Warte auf Steuer-CTS Übernehme Steuerung
Empfange
Warte Konfliktsperiode ab, 50 - 100 usec.
Warte 75 usec. lang
Drucker in Konflikt siegreich
Warte auf Drucker-CTS
Übernehme jetzt Steuerung, warte >120 p sec.'vor Startflanke Speichöre untere Maske
Bytes = > Akku Zeiger auf Datum Einstelle Byte-Zähler auf N-1 Rette eingesteilten Byte-Zäh1er Nachricht nur ein (1) Byte
6500 ACCOUNTING MODULE CA0048/11 version 4. TRANSMIT MESSAGE CTXMES.SRC
1481
LOOP FOR N-
1 BYTES
1 4 Q 2
0 4 AC
97
CTXMLP CLR
C
1403
0 4 AD
A7
CPL
C
1484
04AE
14
29
CALL
CTXBYT
1485
0 4 DO
96
DO
JNZ
CTXMER
1486
0 4 D 2
10
INC
RO
1487
0 4 B 3
EA
AC
DJNZ
R2 , CTXML1
1488
OUTPUT LAST
BYTE
1409
04B5
97
CTXMS7 CLR
C
1490
0406
1 4
29
. CALL
CTXBYT
1491
0 4 0 0
96
DO
JNZ
CTXMER
1492
1493
0 4 BA
. FE
MOV
A, R6
1494
0 4 3 B
39
OUTL
PI , A
1495
0 4DC
14
DO
CALL
DEL300
1496
04BE
09
22
ORL
PI, «22
1497
04C0
1 4
89
CALL
DEL 3 0 0
1490
04C2
03
RET
14 99
RECEIVE PIRST
1 500
04C3
D5
CTXCNC SEL
RB1
1 501
04C4
D4
2C
CALL
CNCRX
1 502
04C6
84
CD
JMP
CTXCN2
1 503
PRINTER
57 15-Oct-79 12:47:58
Byteende verhängnisvoller Kommunikationsfehler
Ausgabe letztes Byte C = 0 Nachrichtende
Verhängsnisvoller Kommunikationsfehler Nachricht in Ordnung, ausgebe Anerkennung s impul s (ACK) Maske von Byteroutine Steuerimpuls
Endimpuls
Stelle richtige Ruhezeit sicher Kein Fehler Empfange zuerst
Empfange Nachricht Drucker
6500 ACCOUNTING MODULE CA8Û48/11 TRANSMIT MESSAGE CTXMES.SRC
1 501 1505 1 506
1507
1508 1 509
1510
1511
1512
1513
1514
01C8 04C9 04CB 04CD 0 4 CE
D5
D4 20
7 4 16 C5
8 4 8 D
0 4 DO C4 61
CTXCNP SEL CALL CALL CTXCN2 SEL JMP FATAL ERROR CTXMER JMP
ve rs i on 4.21
RB1 PRCRX DOSTAT RB0
CTXME1 FATECII
INCLUDE DM0 :CTLECC
SUBTTL
PAGE
57 15-Oct-79 12:47:58
Verarbeite jetzt Druckernachricht
Schwerwiegender Fehler
Berechne Kontrollsummen-CRC
6500 ACCOUNTING MODULE COMPUTE CONTROL SUM CRC
1515
1516 i 5 17
1518
1519 1 520 1521
CAÛ048/11 CTLECC.SRC
version 4.21.57 15-Oct-79
12:47:58
-j -i
1531 1 532
1533
1534
Berechne Kontrollsummen-CRC
1522
04D2
B8
6 E CTLECC
MOV
R0,
IWORKBF
1523
04D4
B 9
2A
MOV
R1 ,
SASCREG
1524
04D6
BA
05
MOV
R2 ,
KASCRSZ
1525
04DB
14
65
CALL
BLKMOV
1526
0 4 DA
54
BF
CALL
CTLSUM
1527
0 4DC
BA
05
MOV
R2 ,
ÏASCRSZ
1528
0 4 DE
F 4
CF
CALL
CRC
1529
04E0
B0
3C
MOV
R0 ,
«CONECC
1530
04E2
83
RET
INCLUDE DMfl:POSUPD
PAGE
Berechne Kontrollsummen-CRC
Berechne Kontrollsumme
Bringe Maschinen/Steuermarken auf neuen Stand os os N»
JU W
o\
650Û ACCOUNTING MODULE CAQ048/11 version 4.21.57 UPDATE METER/CONTROL FLAGS POSUPD.SRC
1535
1536
1537 1530 1539 1 5 4 Ü 154 1
15-OCL--79
12 ; 47 : 50
Bringe Maschinen-Steuer-Marken auf neuen Stand
1542
in Maschinenstatus auf neuen Stand
1543
-OM
A = '
Ergebnis nach neuem Stand
1544
Unzureichende Gebührenmittel
BIT 1= "1", Unzureichende Gebührenmittel
1545
BIT 0 = "1", Entsperrungswert
1546
--M
R0, RI, R2
1547
--M
F0
1548
1549
Allgemeine Unterroutine 2ur
Löschung und zum Einladen von Portogebühr in'Arbeitspuffer
1550
04E3
F4
EA
POSWRK CALL
CLRWRK
Nullsetze Arbeitspuffer
1551
04E5
B8
71
MOV
R0, 8WORKBF
4 3
1552
04E7
B9
30
MOV
RI, ÏPOSVAL
1 553
04E9
BA
02
Moy
R2, HPOSTSZ
- 1
1554
04EB
Fl
MOV
A, @R1
1 555
0 4 EC
30
XCIID
A, @R0
Bewege nur unteren NIBBLE des oberen Portogebührenbytes
1 556
04ED
18
INC
R0
> -J
vo
6500 ACCOUNTING MODULE CA0O4O/11 version 4.21.57 UPDATE METER/CONTROL FLAGS POSUPD.SRC
15-Oct-79
12:47:50
1557
04 EÈ
19
INC
RI
1550
04 EF
14
65
CALL
BLKMOV
1559
0 4 F1
BA
03
MOV
R2, D POSTSZ
1560
04F3
B 3
RET
1561
Bringe. Masclùnenstatus auf neuen Stand und bestimme Entsperrungsstatus
1562
04F4
94
E3
POSUPD CALL
POSWRK
1563
04F6
B9
28
MOV
RI, IDSCREG
1564
04 F0
1 A
INC
R2
Wiederkehr als Nach-Größe, Benötige
1 565
04F9
1 4
6D
CALL
DECSUB
1566
04FB
27
CLR
A
1567
0 4 FC
B6
FF
JF0
POSBAT
wenn gleich, in Ordnung
1 568
0 4 FE
F7
RLC
A
C = INSUFF
1 569
0 4 FF
AB
POSBAT MOV
R3 , A
1 570
0500
BO
37
MOV
R0( 8BATCNT
1571
0502
BA
03
MOV
R2 , IBATCSZ
1 572
0504
F0
POSBA1 MOV
A, @R0
1 573
0505
96
0E
JNZ
POSLOW
1574
0507
1 0
1 NC
R0
1575
0500
EA
04
DJ N Z
R2 , POSBA1
1 576
ALL ZERO
1577
050A
23
] 0
MOV
A, BIO
1570
050C
4 B
ORL
A , R 3
1579
050D
AB
MOV
R3, A
Os Os K>
4^ W Os
6500 ACCOUNTING MODULE CA0048/11 version 4.21. UPDATE METER/CONTROL FLAGS POSUPD.SRC
1580
050E
B9
4C
POSLOW MOV
R1, ü LOWPOS
1581
0510
1 4
99
CALL
LIMTST
1582
0512
$3
03
ADD
A, #4-1
1503
0514
AB
MOV
R0, A
1584
0515
B9
20
MOV
RI, 1DSCREG + 1
1585
0517
BA
04
MOV
R2, ÏDSCRSZ
1586
0519
1 4
6D
CALL
DECÔUB
1507
05 1 Q
FB
MOV
A, R3
1500
051C
F7
RLC
A
1509
05 1 D
47
SWAP
A
1590
051 E
BB
56
MOV
R0, Il MRSTAT
1591
0520
20
XCil
A, @R0
1592
0521
53
CD
AML
A, H0CDU
1593
0523
40
ORL
A, @R0
1594
05 2 4
A0
MOV
@ R0 , A
1595
1596
0525
94
E3
CALL
.POSWRK
1597
0527
B9
4 B
MOV
RI, ! UNLOCK♦l
1598
0529
1 4
6D
CALL
DECSUD
1599
052B
FB
MOV
A, R 3
1 600
052C
53
0F
AML
A, ÏOP
1 601
052E
F7
RLC
A
1 602
052F
83
RET
-Oct-79 12:47:50
C = 0 keine Warnung, C = 1 Warnung
Bestimme Entsperr-Status •
£►
6500 ACCOUNTING MODULE CA0040/11 version 4.21.57 15-Oct-79 12:47:58 2
UPDATE METER/CONTROL FLAGS POSUPD.SRC
1603
1604 INCLUDE DM0;FMT
1605 Umwandlungsroutine tun variables Format auf Maschineneinheiten zu übertragen 160 6 PAß E
on on
-U W
on
6500 ACCÛUNTING MODULE CA0040/11 version 4.21.57 15-Oct-79 12:47:58 CONVERSION ROUTINE TO TAKE VARIABLE FORMAT TO METER UNITS FMTIN.SRC
1607
1608
1609
*
Verwandle in Maschineneinheiten
1610
1611
1612
1613
Ergreift ein Datenpaket und führt Anpassung der angenommenen Dezimalstelle zur Überein
1614
stimmung mit Maschineneinheiten aus.
Das Paket besteht aus einem Formatbyte (Hoher
1615
NTBBLE = Anz. der
Ziffern, niedriger NIBBLE = Anz. der Dezimalen) und N Datenbytes.
1616
1617
10M
A
Bei Anruf, Konversion Spez. Endformat
1618
=
bei Aussprung, Startadresse der umgewandelten Daten
1619
1--
RI
Eingabepaketadresse
1620
--M
R0, R2
1621
1622
0530
24
76 FMTERR JMP
.SOFTER
1623
1624
0532
AD
FMTCII MOV
R5, A
Rette SPEC
1625
0533
53
0F ANL
A, DOP
Extrahiere tatsächliche Maschinen-Dezimalstellen
1626
0535
2D
XCII
A, R5
Rette
1627
0536
DD
XRL
A, R5
Maske auf Anz. Ziffern
1628
0537
47
S WAP
A
1629
0530
AC
MOV
R4 , A
Rette
6500 ACCOUNTING MODULE CA8040/11 version 4 CONVERSION ROUTINE TO TAKE VARIABLE FORMAT TO
1630
0539
27
CLR
A
1631
05 3A
31
XCIID
A, @ R1
1632
053B
97
CLR
C
1633
053C
; A 7
CPL
C
1634
053D
17
INC
A
1635
053E
C6
4 1
JZ
FMTCII1
1636
0540
07
DEC
A
1637
0541
37
FMTCII1 CPL
A
1638
0542
7D
ADDC
A, R5
1639
0543
E6
30
JNC
FMTERR
1640
0545
AD
MOV
R5, A
164 1
0546
Fl
MOV
A, @ R1
164 2
0547
47
SWAP
A
1643
0 5 4 û
C6
30
JZ
FMTERR
1644
054A
A E
MOV
R6 , A
1645
0 5 4 B
6 D
ADD
A, R5
1646
054C
A 7
CPL
C
1647
054D
37
CPL
A
1648
0 5 4 E
IC
ADDC
A, R4
1649
0 5 4 F
E 6
30
JNC
FMTERR
1650
0551
AF
MOV
R7 , A '
1 65 1
0552
1 9
I MC
RI
.57 15-Oct-79 12:47:58 2R UNITS FMTIN.SRC
Lade unteren NIBBLE, keine Anz.-Dezimalstellen Berechne zu addierende angehängte Nullen
Prüfe ab Fehleinstellung in Gebrauch Zweierkomplement von 0 ist 0 Wiederherstelle A
Übertrag sollte gesetzt sein
Nullziffern nicht erlaubt
Berechne Anzahl zu addierende vorangestellter
Nullen
Anpasse Zeiger auf Daten
6500 ACCOUNTING MODULE CAÛ048/11 version 4.21.57 15-Oct-79 .12:47:50 CONVERSION ROUTINE TO TAKE VARIABLE FORMAT TO METER UNITS FMTIN.SRC
1652 Zur Berechnung der Nummer des vorderen Null-Bytes bewege die Gleichung wie folgt:
1 65 3 BASIC EQ(J (Lead Digits + 1 (Round) + 1 if shift needed - 1 if ODO Num of Dig in) all Div by2
1654
FIRST MOD
(LEAD DIG +1
if eve'n DIG ub + 1 shift) ali DIV by 2
1655
FINAL (LEAC
i DIG i■ 1 IF
(DIG in + 1 ) ODD + 1 if shift
1656
0553
FD
MOV
A, R5
Lade Zähler für nachgestellte Nullen
1 657
0554
67
RRC
A
Speichere ungerade/gerade in Übertragungsbit
1658
0555
F 4
EA
CALL
CLRWRK
Nullsetze Arbeitspuffer
1659
0557
7F
ADDC
A, R7
Vordere Stellen + verschieben oder nicht verschieben
1660
0558
2 E
XCil
A, R6
1661
0559
17
INC
A
+ 1 für Rundung
1662
055A
67
RRC
A
Dividiere durch 2
1663
055B
AA
MOV
R2, A
Rette Bytezähler in
1664
055C
27
CLR
A
1665
055D
7E
ADD C
A, R6
1666
055E
67
RRC
A
1 667
055F
03
6E
ADD •
A, ÄWORKBF
Bewege Zeiger auf Ende der vorangestellten Nullen
1668
0561
Afl
MOV
RO i A
1669
Bewege von REC BUFF um zu arbeiten und mache Stellen 0-9 fällig
1670
0562
Fl
FMTCII2 MOV
A, @R1
1671
0563
A0
MOV
@R0, A
1 672
VALI DATE
1673
0564
03
60
ADD
A, 1160
1674
0566
F6
30
JC
FMTERR
>
00 VI
6500 ACCOUNTING MODULE CA0040/11 version 4.21.57 ' 15-Oct-79 12:47:50 CONVERSION ROUTINE TO TAKE VARIABLE FORMAT TO METER UNITS FMTIN.SRC
1675
0560
47
SWAP
A
1676
0569
03
60
ADD
A,
«60
1677
056B
F6
30
JC
FMTERR
16 7 8-
056D
10
INC
R0
1679
05 6 E
1 9
INC
R1
1680
05 6F
EA
62
DJNZ
R2,
FMTCII2
1 681
0571
FC
MOV
A,
R4
Lade Byte-Zählung in R2
1682
0572
1 7
INC
A
Round
1683
0573
67
RRC
A
Teile durch 2
1684
0574
AA
MOV
R2,
A ■
1685
0575
2D
XCII
A,
R5
Lade hintere Noll-Zählung
1686
0576
67
RRC
A
Bewege ungeradzahlig/geradzahlig in
1687
0577
23
6 E
MOV
A,
«WORKBF
Zeige auf Beginn der Daten
1688
0579
E 6
7D
JNC
FMTCII3
Wenn geradzahlig keine Verschiebung
1 689
057B
B 4
02
CALL
FMTNB2
1690
0 5 7 D
2D
FMTCII3
XCII
A,
R5
1691
0 5 7 E
AA
MOV
R2,
A
1692
057F
FD
MOV
A,
R5
1693
0500
A 9
MOV
Rl,
A
1694
0501
03
nET
1695
1696
SUBTTI.
J
Bewege
Datenfolge N NIBBLES nach links
1697
PAGE
CBIT
benötigt
9\ ON N>
W 0\
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:50 MOVE STRING LEFT M NI OULES FMT1N.SRC
1690
1699
1700
Bewege Datenfolge N
NÏBBLES nach links
1701
1702
.
1703
1704
IOM
A
Pufferadresse, Eingabe und Ausgabe
1705
1~
R0
Zeiger von
1706
1--
Rl
Zielzeiger
1707
1 —
R2
Anzahl zu verschiebender Bytes
170B
--M
R7
1709
1710
ODD COUNT
SET UP
1711
0582
A9
FMTNB2 MOV
RI , A
1712
0583
AO
MOV
RO, A
1713
0584
AF
MOV
R7, A
Rette Pufferadressenzeiger
1714
0585
1 8
INC •
RO
1715
0586
27
CLR
A
1716
0507
3 1
XCIID
A, @R1
Vertausche erstes Byte
1717
0588
47
S WAP
A «
Bewege NIBB um 1 NIBB nach links
1718
0509
AI
MOV
@R1 , A
Speichere
1719
MOVE LOOP
Bewegungsschleife
1720
05 BA
FO
FMTNßl MOV
A. 0RO
Lade 1 Bvte
00 -4
6500 ACCOUNTING MODULE CA804B/11 version 4.21.57 MOVE STRING LEFT N NIBBLES FMTIN.SRC
15-Oct-79 12:47:50
1721
05 OB
47
S WAP
A
Bewege unteren NIBBLE nach links
1722
058C
31
XCIID
A, ®R1
Bewege oberen NIBB zu unterem NIBB der nächsten
1723
0 5 80
AO
MOV
@R0 , A
Rette Zwischenergebnis
1724
0 5 8 E
18
INC
RO
1725
05 8 F
1 9 :
INC
RI
1726
0590
EA 0 A
DJNZ
R2, FMTNB1
Fahre fort, bis alle NIBBLES bewegt
1727
0592
FF
MÓV
A, R7
R1 hat Pufferadresse
1728
0593
83
RET
1 729
17 30
INCLUDE DM0 :CRXBYT
1731
SUBTTI.
4
Empfange 1 Byte
1 732
PAGE
On on K»
on
ON
ON N»
«t
W ON
6500 ACCOUNTING MODULE CA004 0/11 RECEIVE ONE BYTE CRXfiYT.SRC 1733
version 1.21.57 15-Oct-79 12:47:58
1734
1735
1736
1737
1738
1739
1740 174 1 1742
Empfange Byte und führe Echo aus
Empfange 10 Bits (1 Start- + Q Daten- + 1 Stopp-) und führe Echo aus. Jedes Bit wird 6*-ß Zyklen ab Vorderflanke abgetastet und innerhalb 20 jisec. nach Abtastung zum Sender rückübertragen.
1743
1--
R0
Adresse von DAtenbyte
1744
1 --
R7
Maske für unteren Ausgang
1745
--M
R5, R'
1746
-0M
C
Wert von Stopp-Bit
1747
1748
0594
BE
0A
CRXBYT
MOV
R6, 810
Setze Schleifenzählerwert für 10 Bits
1749
0596
76
9C
JP1
CRXPEC
Suche nach Drucker-Startflanke
1750
0598
26
90
CRXCWT
JNT0
CRXCWT
Warte auf Steuer-Startflanke
1751
059A
A4
AB
JMP
CRXBYL
Fahre fort Steuererfassung
1752
1 753
059C
46
9C
CRXPED
JNT1
CRXPED
Warte auf Drucker-Startflanke
1754
059E
A4
JMP
CRXBYI.
Zei tausgleich
1755
Haupt-Abtastschlei fe
1756
05A0
BD
0-1
CRXBL0
MOV
R5, 84
Schaffe richtige Verzögerung um 104 jisec
>
oo oc
6500 ACCOUNTING MODULE CA0040/11 version 4.21.57 15-Oct-79 12:47:50 RECEIVE ONE BYTE CRXBYT.SRC
1757
0 5 A 2
ED
A2
CRXBL1
DJNZ
R5, CRXBL1
Warte
1 750
05A4
F0
MOV
A, @R0
Lade erlangte Daten in Akku
1759
0 5 A 5
67
RRC
A
Schiebe Bit in Daten
1760
05A6
AO
MOV
SRO, A
Speichere erlangte Daten
1761
0 5 A 7
00
NOP
1762
05A8
97
CRXBYL
CLR
C
1763
05A9
A 7
CPL
C
Einstelle auf logische "1"
1764
05AA
76
B4
J P 1
CRXBL3
Drucker
1765
CONTROL
1766
0 5 AC
26
n6
JH TO
CRXBL4
Steuereinheit-empfangene logische
1767
RECEIVED LOGIC "0"
1760
05AE
A 7
CRX0L2
CPL
C
1769
0 5 A F
09
22
ORL
PI, «22
Echo hoch
1770
0 5 B 1
EE
A0
DJ M Z
R6, CRXBLO
1771
0 5 B 3
03
RET
1772
1773
0 5 B 4
56
A E
CRXnL3
JT1
CRXBL2
Druckerempfangene logische "0"
1774
RECEIVED LOGIC "0"
1775
0 5 B 6
FF
CRX 01.4
MOV
A, R7
1776
0 5 B 7
39
OÜTI,
PI , A
Echo niedrig
1777
0 5 B Q
CE
AO
DJ NZ
R6, CRXBLO
1770
0 5 B A
03
RET
1779
1700
INCLUDE DM0 ;ENABLE
1701
S UIÌTT
1.
Gib Maschine frei
1782
PAGE
6500 ACCOUNTING MODULE CA0040/11 version 4.21.57 15-Oct-79 1 2:47:50 ENADLE METER ENABLE.SRC
1 703
1 704
,
1 705
Setze
Maschine betriebsbereit
1 706
'
1707
1700
t
1709
Wenn Maschine außer Betriebsbereitschaft gesetzt, dann setze Maschine betriebs
1790
bereit und verifiziere die Antwort des Druckers, andernfalls tue nichts.
1791
1 792
Prüfe of Maschine betriebsberei t
1793
05BB
1 4
60
EHABLE CALL
STCIIK1
Prüfe Zustand
1794
05BD
96
DB
J II 2
EMARET
kann nicht in Betrieb setzen
1795
Prüfe
Maschinen-Status wenn erlaube
1796
05BF
Fl
MOV
A, @RI
1797
05C0
53
64
AML
A, «064
DATER, INSUF, ENABLED
1790
05C2
96
DB
JNZ
EMARET
1799
NOW TRY TO
EHABLE
1000
05C4
94
1 2
CALL
STR6 0M
1001
05C6
99
FB
ANL
PI, «OFBII
ENABLE ACC HALF
1 002
05C0
23
41
ENABI.1 MOV
A , tt 1:1 NB LUD
SEND ENABLE COMMAND TO PR
1 803
05CA
1 4
94
CALL
GETSTS
SEND CMD, REC STATUS AND PROCESS
1 004
0 5CC
37
CPL
A
PR STATUS RETURNED IN ACC
1005
05CD
52
CB
JB2
EMAßLI
Wenn nicht freigegeben, schau weiter bis Sperrzeit
6500 ACCOUHTING MODULE CA0040/11 version 4.21.57 15-Oct-79 12;47:5ü ENABLE METER EHABLE.SRC
1006
05CF
BD
oc •
ENADRT
MOV
R3, ü140
1007
05D1
1 4
DO
ENADL2
CALL
DEL300
1 000
05D3
56
D7
JT1
ENAQL3
1009
0 5!) 5
1 4
00
CALL
RECSTS
1810
0507
ED
Dl
ENADL3
DJ N2
R3, ENABL2
1011
05D9
94
01
CALL
TIMSTP
1012
0 5 DB
03
ENARET
RET
1013
1014 INCLUDE DM0 s SETI ITT
1815 SUßTTL Einstelle Portogebühr für Druckvorgang
IUI 6 PAGE
6500 ACCOUNTING MODULE CA0040/11 SET POSTAGE FOU PR1 HT ING SETI HT.SRC
vers i on 4.21.57
15-Oct-79
12:47:50
IBI 7
1818
1819
Stella Portogebühr auf den DruckrHdern ein
1820
1821
1 B22
1021
— M
RO, RI
1024
1825
0 5DC
2 4
76
SETERR
JMP
SOFTER
1826
1027
05DE
B9
•4 E
SETI HT
MOV
RI, ÌSETLIM
1020
05E0
1 4
99
CALL
LIMTST
1029
05E2
00
03
ADD
A, 113
Zeiger auf letztes Byte
1030
0 5 E 4
A0
MOV
R0, A
103 1
05E5
09
7 D
MOV
RI, K CMBOBF
Letztes Byte von Portogebührenwert
1832
05E7
J 4
6P
CALL
DECSUß
1033
05E9
E6
DC
JNC
SETERR
Wert ) Grenze = Fehler
1834
0 5EB
54
E 7
CALL
LSTATE
1035
05ED
53
0F
AML
A, HOF
Maske außer 3etriebsetzungsmarke heraus
1036
05EF
96
DC
JNZ
SETERR
zur Portogebühreneinstellung muß Normalzustand
1037
0 5 F 1
54
D3
CALL
DISABL
1030
05F3
D9
7 B
MOV
R1 , KCMBOBP
1039
05F5
Fl
MOV
A, @R1
1040
05P6
43
00
ORL
A, pOO
Unbekannte Einstellung
► ve
6500 ACCQUNTIMG MODULE CAGO4 0/11 SET POSTAGE FOR PRI NTIHG SETINT.SRC
1041
0 5 FO
Al
MOV
1042
0 5F9
BA
03
MOV
1043
0 5 FD
B 0
30
MOV
1044
;0 5FD
1 4
65
CALL
1045
e 5 FF
23
64
MOV
1046
0601
9 4
1 9
CALL
1047
0603
BO
03
MOV
1040
0605
B 0
7 A
MOV
1049
0607
BO
CI
MOV
1050
0609
C0
DEC
1051
060A
BO
0 4 '
MOV
1052
0 6 OC
1 4
QA
CALL
1053
060E
FO
SET IIIO
MOV
1054
0 6 0 F
D 3
û 1
XRL
1855
06 1 1
C 6
1 7
JZ
1056
0613
7 4
1 6
CALL
1057
06 1 5
C 4
24
JMP
1050
06 1 7
94
0 1
SETI NI
CALL
1059
0619
F 4
F 5
CALL
1060
06 10
B 9
5C
MOV
106 1
06 1 D
A 1
MOV
1062
061 E
HO
30
MOV
1063
06 20
30
XCIID
vers ion 4.21 . 57 15-Oct-79 12:47:50
@R1, A R2, 13 RO, II POSVAL PllKMOV A, »100. STR20M @ RO, H 3 RO, ÏCMDOBP-1 @RO , ÄSPOSIID RO
@R0, «4
GETDO
A, @ RO
A, II POSVNB
SETINI
DOSTAT
SETIN2
TIMSTP
CLRAMT
R1 , ï RECBFL
@R1 , A
RO, II POSVAL
A, @ RO
100 Zählungen * 2(1 MS pro Zählung
Zeige an, gesetzte Gebühr ist Zeituhr abgestimmt
Header ist ein Erwarteter
6500 ACCOUNTING MODULE CA0O40/11 version 4.21 SET POSTAGE FOR PRIHTIH SETINT.SRC
1064
0621
2 0
XCII
A, @ R0
1065
0622
2-1
7C
.'JMP
ENBLE
1 066
0624
DI
20
SETIN2 CALL
PRCRX
1 067
0 6 2'6
C 4
0E
JMP
SETI NO
1068
1069
INCLUDE DM0 ;CRXMEi
1070
SUBTTL
r
1071
PAGE
57 15-Oct-7 9 1 2:47:58
Lösche Marke "Unbekannte Einstellung Löse li e Auflerbetriebse tzungsbit Empfange Druckernachricht
Empfange Nachricht
6500 ACCOUNTIMG MODULE CAOO40/11 RECEIVE MESSAGE CRXMES.SRC
version 4.21.57
15-Oct-79 12:47:58
>
NO Ol
107 2
1073
1074
1075
1076
1077
-
1070
el
1079
1000
1001
1002
06 20
a5
1003
0629
b5
1804
0 6 2 a c 4
1005
1006
062c a 5
1007
06 2d ufl
1800
06 2f b 9
1009
06 3 1
27
1090
06 3 2
2 1
1091
0633
96
1092
0635
76
1093
1094
06 3 7
dc
Rnp fange Nachricht
—M RO, RI, R4 - R7, FI, C
PRCRX
CNCRX CRXMES
CLR CPL JMP
CLR MOV MOV CLR XCII JMZ JIM CONTROL
MOV
FI PI CRXMES
FI
RO ; K RECQUF RI , KRECBFL A
A , e RI
FATECI! CRXMS1
F1 = für Drucker
Marke auf Null und stelle sicher, daß kein Über-Lauf
R4, «0
Drucker
Bytegrenze fiir Steuernachricht
On On S»
4^. W ON
6 500 ACCOUNTING MODULE CAB04 0/11 RECEIVE MESSAGE CRXMES.SRC
CRXMSO JT 0 JMP PRINTER CRXMS1 JT1 MOV
1095
0639
36
39
1896
063B
C4
41
1097
1090
0 6 30
56
30
1899
0 6 3 P
BC
04
1900
1901
064 1
54
P6
1902
1903
06 43
74
P 2
1904
0645
AP
1 905
0646
39
1906
1907
0647
B4
04
1 900
0649
1 1
1 909
0 6 4 A
1 Q
1910
0 6 4 B
E6
51
1911
06 4D
EC
• 47
1912
0 6 4 P
C 4
60
1913
1914
0651
1 4
B0
1915
0653
27
1916
0654
76
50
1917
veirs i on 4 ,
CRXMSO CRXMS 2
CRXMS1 R4, 14
CRXMS2 CALL TMRTST RESPOND WITII CTS
CALI, LOWSET MOV R7, A OUTL PI, A RECEIVE LOOP CRXMLP CALL CRXBYT 1UC @ R1 INC RO JNC- CRXPIN DJ HZ R4,CRXMLP J N P CRXPAT
CRXPIN C ALL CLR JP1 CONTROL
DEL300 A
CnXPnJ
On on bJ
w
1.57 15-Oct-79 1 2:47:58 ^
Erfasse Steuer-RTS
Drucker-Bybegrenze
Stelle sicher, daß Zeitgeber hat > 4 Millisek. bis Unterbrechung gebe CTS
Empfange 1 Byte Erhöhe Byteziihler ErhÖhe Adressenzeiger Nachricht empfangen Empfange weiteres Byte
Drucker
> ve on
6500 ACCOUNTING MODULE CAÜ040/11 version 4.21.57 15-Oct-79 12:47:58 RECEIVE MESSAGE CRXMES.SRC
1918
0656
36
60
JTO
CRXPAT
1919
0 6 5 0
BO
FF
CRXMRT:
MOV
0RO, HOFF
Einsetze Marke fiir ungültige Daten nach letztem
192Ü
065A
Ii Ü
5E
MOV
RO, HRECnUP
1921
065C
0 3
RET
1922
1923
065D
AI
CRXFtll
MOV
@R1 , A
Lösche Harke
1924
0 6 5 E
Û
50
JHT1
CRXMRT
1925
1926
0660
Al
CRXFAT
MOV
@R1 , A
Empfangsmarke auf Null
1927
0661
BF
06
FATECI!
MOV
R7 , ff ECIIFAT
1920
0663
04
33
JMP
PATERR
1929
1930
INCLUDE DMOjDSCCRC
1931
SU OTTI.
1
Derechne CRC für abfallendes Register
1932
PAGE
6500 ACCOUNTING MODULE CA0040/11 COMPUTE CRC FOR DESCEMDING REGISTER
version 4.21.57 DSCCRC.SRC
15-Oct-79
12:47:50
1933
1934
1935
1936
1937
1938
1944
1945
1946
1947
Berechne CRC fiir abfallendes Register
1939
0665
DO
25
DSCCRC MOV
R0 ,
»DSCREG
1940
0667
BA
04
MOV
R2,
8 DSC RS <4
194 1
0669
F 4
CF
CALL
CRC
1942
066B
DO
24
MOV
R0,
»DSC.ECC
1943
066D
03
RET
INCLUDE DM0 :RSTCOM
SUßTTL
PAGE
Zentraler Neueinstellkode
6500 ACCOUNTING MODULE CAflOlfi/ll COMMON RESET CODE RSTCOM.SRC
version 4.21.57 15-Oct-79 12:47:58
>
v© ve
1940
1949
1950
Zen tra 1er Neueins te.1. Ikode
1951
19 5 2
1953
1954
Zentraler MeueinstelIkode
1955
1956
0 6 6 E
P 4
F5
RSTCOM CALL CLRAMT
1957
0 6 7 0
13 8
4 1
MOV R0, H RSTCNT
1958
0672
93
RETR
1959
I960
INCLUDE DM0 ; tJVMSTP
1961
SIJBTTL NVM
1962
PAGE
Q\ ®s hJ ».
W 0\
6500 ACCOUNTING MODULE CA804B/11 version 4.21.57 15-Oct-79 12:47:50 NVM SETUP PAGE AHD BASE ADDRESS SUBROUTINE NVMSTP.SRC
1963
1964
1 965 NVM (leistungsunahhlingiger Speicher) Seiten- und Basisadressen-Erstellungsroutine
1966
1967
1968
1 96 9 Anfangssetzung von P2 auf NMOS-Se.ite und R5 auf tt-10S-Adresse für
1 970 laufer^en Block des 3ei.stungsunabiiiing.igen Speichers (NVM)
1971
1972
-OM
R5 = NMOS
NMOS-Adresse
1973
--M
RI , R7
1974
-OM
P2 = BITS 4-5
sind NMOS-Seite
1 975
1 —
NVMBLK =
gegenwärtiger Block des NVM
1976
1 977
0673
B9
5 A
NVMSTP
MOV
RI, iNVMBLK
Erhalte Speicherplatznummer
1970
0675
Fl
MOV
A, @R1
1979
0676
47
NVMST1
SWAP
A
Bewege zum oberen NIBBLE
1980
0677
AD
MOV
R5 , A
Zwischenspeicherung von Platznummer
1981
067Q
53
CO
ANL
A , li OCOll
Verwende Bis 6-7 für Basisadresse
1982
067A
2D
XCII
A, R5
Rette Basisadresse und aufsuche Platznurmer
1903
067B
53
30
ANL
A , i 3011
Verwende Bit 4-5 für Seite (PAGE)
1904
067D
AF
MOV
R7 , A
Zeitweilige Zwischenspeicherung der Seite
1985
067E
53
10
ANL
A, H 1011
SKEW Start-Adresse
6500 ACCOUNTING MODULE CAOO<lfl/ll version 4.21.57 15-Oct-79 12 : 47:58 NVM SETUP PAGE AND BASE ADDRESS SUBROUTINE NVMSTP.SRC
I 906
0600
77
RR
A
1907
0601
77'
RR
A
1 9 0 tì >
0602
4 D
ORL
A, R5
1 909.
0603
AD
MOV
R5 , A
1990
0604
0A
IN
A,P2
Erhalte laufende Daten von Port 2 (Tor 2)
1991
• 0605
53 CF
ANL
A, 0OCPII
Abstreife Seite
1992
0687
4F
ORL
A, R7
Einsetze neue Seite'
1993
0608
3 A
OUTL
P2, A
Ausgabe nach PORT 2
1994
0609
03
RET
1995
1996
INCLUDE DM0:NVMB
1997
SUßTTL
NVM Byte-Lese/Lösche/Schreib-Un terroutine
1998
PAGE
NVM By te-L es e/T. ösche/Schrei b-Un ter rou ti rie
6500 ACCOUNTING MODULE CA004Ö/11 version 4.21.57 NVM BYTE REAO/ERASE/WRITE SUBROUTINE NVMBYT.SRC
1999
2000
2001 ;
2002
2003
2004
2005
2006
2007
2008
2009
15-Oct-79 12:47:50
Lese/Lösche/Schreibe zwei aufeinanderfolgende NIBBLES des H40S, vergleiche die mit den erwarteten Daten und dehne CRC-Berechnung auf diese NIBBLES aus
I OM
Bei Aufruf, doppelter OPP-Kode Bei Aussprung, Vergleichsergebnisse
2010
1--
R0
Adresse von Daten oder Speicher
201 1
IOM
R3
N ich tiiber eins tinunungs zäh 1er
2012
I OM
R 4
CRC-Wert
2013
I OM
R5
NMOS-, Adresse
201 4
— M
RI, R6, R7,
F0 Fl
2015
— M •
WORKBF + 7
2016
2017
SETUP
READ
OPP CODE
2018
06QA
23
44
NVMBYR
MOV
A, 8 4 411
Doppeltes Lesen OPP-Kode
2019
06BC
C4
90
JMP
NVMBYT
2020
SETUP
WRITE
OPP CO
2021
068E
23
1 1
NVMBYW
MOV
A, 8 1 III
Doppeltes Schreiben OPP-Kode
6500 ACCOUNTING MODULE CAB048/11 version 4.21.57 15-Oct-79 12:47;58 NVM BYTE READ/ERASE/WRITE SUBROUTINE NVMBYT.'SRC
2022
Rette Daten zur
Verwendung bei Verifikation
2023
0690
20
NVMBYT XCII
A, @ R0
einlagere Daten in den Akku
2024
0691
119
75
MOV
RI,H(WORKBF * 7) und. rette für Vergleich
20 2 5.
0693
Al
MOV
@R1 , A
2026;
Le s e/Lösche/Sc hrei.be
1 Byte
2027
0694
30
xeno
A, 0 RO
Aufsetze OPP-Kode und Daten für obere NIBBLE-Operation
202B
0695
47
S WAP
A
2029
0696
04
A5
CALL
NVMN1B
Ausführe obere NIBBLE-Operation
2030
0 6 9 B
4 7
S WAP
A
Rette Eirjebnis der oberen NIBBLE-Operation, aufsetze für
2031
0699
20
XCII
A, @ RO
untere NIBBLE-0pera tien
2032
0 6 9A
04
A5
CALL
NVMN IB
Ausführe untere NIBBLE-Operation
2033
069C
30
XCHD
A, @ RO
Rette Ergebnis der unteren NIBBLE-Operation
2034
Wiedergebe
Verifika tion
2035
0 6 9 D
MOV
A , @R0
Erhalte Ergebnisse
2036
0 6 9 E
B9
75
MOV
RI , 1) (WORKBP + 7; und vergleiche mit erwarteten Daten
2037
0 6 A0
01
XRL
A , e R1
2038
06A1
C 6
A4
JZ
NVM610
sind sie gleich?
aojy
Oli A )
1 11
1 MC
Iti
Nula, schalte ZJihlcr weiter
2040
0 6 A 4
03
NVM610 RET
NVM NIBBLE-Lese/Lösche/Sclir eib-Un terrou tine
204 1
204 2
INCLUDE OMO :NVMN1B
204 3
SUBTTL
NVM NIBBLE-Lese/Lösche/Schreib-Unterroutine
204 4
PAGE
6500 ACCOUNTING MODULE CA0O4Q/11 version 4.21.57 15-Oct-79 12 s 47158 NVM NIBBLE READ/ERASE/WRITE SUBROÜTINE NVMNIB.SRC
2045
2046
204 7 NVM NIBBLE-Lese/Lösche/Schreibe-Unterroutine
2048
2049
2050
2051 Lese/Lösche/3chreibe 1 NIBBLE des NMOS und dehne
205 2 CRC-Berechnung auf diesen NIBBLE aus
2053
2054 IOM A = Bei Anruf, Hoher NIBBLE = OPP Kode
2055 10 = Schreibe
2056 30 = Lösche 205 7 40 = Lese
205 8 C0 = DE-SELECTED (INTERNAL ONLY) .
2059 Niedriger NIBBLE = zu schreibende Daten
2060 = Dei Aussprung, Hoher NIBBLE = Undefiniert
2061 Niedriger NIBBLE = Datenlesen
2062 IOM R4 = CRC-Wert
2063 IOM R5 = bei Anruf, Adresse des NMOS-NIBBLE
2064 bei Aussprung, Adresse + 1
2065 —1.1 RI, R6, R7, F 0, Fl
2066
2 06 7 Ausgangsinfo für Datensperren und gesetzte Marken,für Lesen und schreiben
6500 ACCOUNTING MODULE CAß04B/ll version 4.21.57 15-Oct-79 12:47:58 NVM NIBBLE READ/ERASE/WRITE SUBROUTINE NVMNIB.SRC
2068
06A5
B9
01
NVMNIB
MOV
R1 , *1
Setze 8755 Adresse fiir Datenreg.-PB
2069
06A7
2D
XCII
A,R5
Auslagere Akku und R5 auf Ausgabeadresse
2070
O6A0
91
MOVX
0R1 , A
Setze MNOS-Adresse in 8 755 PIA PB
2071
0&A9
2D
XCII
A, R5
Bringe Daten und OPP-Kode in Akku zurück
2 07 2
06 AA
C9-
DEC
RI
Setze 8755 Adresse auf PA
2073
0 6 AB
91
MOVX
0R1 , A
Bewege OPP-Kode und DAten auf 8755 PA
2074
06 AC
A5
CLR
Fl
2075
0 6 AD
F7
RLC
A
Prüfe auf Lesen und Schreiben der OPP-Kodes und setze
2076
06AE
F7
RLC
A
appropriate Flags geeignete Marken
2077
06 AP
F7
RLC
A
2070
0600
85
CLR
F0
Bereite F0 Bit zum Schreiben OPP-Kode
2079
0 6 01
E 6
B 4
JNC
NVM710
BElasse F0 = ß wenn nicht löschen
2080
0 6 B 3
95
CPL
F0
Setze F(2f wenn löschen
2 0 ß 1
06B4
67
NVM710
RRC
A
Rotiere Lese-Bit zurück zu Ubertrags-Bit
2082
Setze 87
55 Datenrichtungs-Register (DDR)
2 0 8 3
06B5
B9
03
NVM715
MOV
RI , »3
Setze 8755 Adresse für DDR PB
2084
0 6 B 7
23
FF
MOV
A,H 0 EPH
Lade Ausgabemaske in Akku
2005
0 6 B 9
91
MOVX
0 R1 , A
Setze 8755 PB auf Ausgabe
2086
Setze 8755 PA DDR für Ausgabe auf hohen NIBBLE und ein oder aus auf niedrigem NIBBLE
2087
0 6 B A
E6
BE
JNC
N V M 7 2 0
Wenn nicht gelesen, Daten aus dieser Maske heraus
2088
06BC
23
F 0
MOV
A , « 0F0II
Setze Maske für Dateneingabe
2089
06BE
C9
NVM7 2 0
DEC
RI
8 7 55 Adressse für PA DDR
2090
06BF
91
MOVX
@ R1 , A
Setze 8755 PA DDR
6500 ACCOUNTING MODULE CA0O40/11 version 4.21.57 15-Oct-79 12:47:58 NVM NIBBLE READ/ERASE.WRITE SUBROUTINE NVMN.SRC
2091
UMOS je
121 a k tiv und angewìih 11
2092
06C0
B9
00
NVM7 3 0
MOV
R1 , «0
8755-Adresse gesetzt für Lesen von NIBBLE
2093
06C2
: 01
MOVX
A , 0 R1
Lese Steuerung und Daten in Akku
2094
Chip ist bereits desaktiviert, riicksetze Steuerleitungen auf deaktivierten Zustand
2095
06C3
43
CO
ORL
A, K0C0II
Uberschreibe OPP-Kode, stelle sicher, daß CHIP nicht angewählt
2096
06C5
91
MOVX
@R1 , A
i o • l werden kan Desaktiviere MNOS-Speicher •
2097
06C6
76
CD
JF1
NVM7 3 5
2090
O6C0
AE
MOV
R6 , A
2099
06C9
47
SWAP
A
2100
06CA
F 4
DB
CALL
CRCNIB
2101
06CC
FE
MOV
A,R6
2102
06CD
F6
E3
NVM7 3 5
•JC
NVM750
Wenn Lesen, fertig
2103
Aufsetze Verzögerungs wert für Schreiben oder Löschen
2104
06CP
BE
31
MOV .
R6 , «49
Setze Fehlverzögerung für 10 msec.
2105
0 6 Dl
B6
D5
JFO
NVM74 0
2106
06D3
BE
04
MOV
R6 , H 4
Ändere auf Schreiben 1 msec.
2107
06D5
BF
17
NVM7 4 0
MOV
R7,S 2 3
2108
06D7
EF
D7
NVM7 4 5
DJNZ
R7,NVM7 4 5
2109
06D9
EE
D5
DJNZ
R6,NVM740
2110
Ausgebe
Scheinlesen zur Beendigung von Lösch- oder Schreibbefehl
211 1
06DB
23
40
MOV
A, II 4 Oll
Ausgebe Scheinlesen
2112
06 DO
91
MOVX
0 R1 , A
Ausgebe Lese-OPP-Kode
21 1 3
06DE
01
MOVX
A,0R1
Scheinlesen
2114
Lese jetzt zum Verifizieren
6500 ACCOUNTING MODULE CAH040/11 version 4.21.57 NVM NIBBLE READ/ERASE/WRITE SUBROUTINE NVMM.SRC
15-Oct-7 9 12:47 : 50
211 5
06DF
A7
CPL
C
2116
06E0
B5
CPL
PI
2117
0 6 E1
C 4
05
JMP
NVM715
2118
SETUP
FOR
NEXT NinBLE
211 9
06E3
AE
NVM75 0
MOV
R6,A
2120
06E4
1D
INC
R5
2121
06E5
1D
INC
R5
2122
06E6
FD
MOV
A, R5
2123
06E7
53
0F
ANL
A,S OFM,
2124
06E9
ce
F0
JZ
NVM7 60
2125
06EB
CD
DEC
R5
2126
0 6EC
0A
IN
A , P2
2127
0 6 ED
D3
1 0
XRL
A, H 01!
2128
06EF
3 A
OUTL
P2,A
2129
0 6 F0
FE
NVM7 6 0
MOV
A, R6
2130
0 6 F1
03
RET
2131
2132
2133
0700
ORG
700
2134
INCLUDE DMOsRAMSTP
2135
SUßTTL
2136
PAGE
Setze Übertragungsbit zur CHIP-Außerbetriebsetzung
Aufsetze für nächsten NIBBLE
RAM-Zeiger- und Zähler-Erstellungsroutine
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:50 RAM POINTER AND COUNTER SETUP SUDROUTINE RAMSTP.SRC
2137
2138
2139
RAM-Zeiger- und Zähler-Erstellungsunterroutine
2140
2141
2142
2143
Anfangssetzung von R0 auf den Deginn und von RZ
2144
auf die Länge des gegenwärtig aktiven Blocks
2145
2146
-OM
R0 = ADDRESSE des aktiven RAM-Blocks
2147
-OM
R2 = Länge des aktiven Blocks (Bytes)
2140
— M
R1
2149
1--
ACTBLK =gegenwärtig aktiver Block
2150
2151
TADLE OF RAM
i POINTERS/ Tabelle der RAM-Zeiger
2152
0700
20
NVMTBL DB
20)1 Adresse des aktiven Blocks if 9
2153
0701
3 A
DB
3AH Adresse des aktiven Blocks H 1
2154
2155
Aufsetze Zei ger (R0) und Zähler (R2)
2156
0702
D9
59
RAMSTP MOV
R1,HACTBLK Aufsetze RAM-Pufferzeiger
2157
0704
PI
MOV
A, 0R1
2158
0705
A3
MOV P
A, @A
2159
0706
AO
MOV
RO. A
2160
0707
DA
1A
MOV
R 2 . W1A 11 Aufsetze Byte-Zähler
6500 ACCOUNTING MODULE CAÛ048/11 version 4.21.57 15-Oct-79 12:47:58
RAM POINTER AND COUNTER SETUP SUBROUTINE- RAMSTP.SRC
2161 0709 83 RET
2162
2163. INCLUDE DM0 : NVMCJIG
2164 SUBTTL NVM Zustandsänderungs- & Blockeröffnungsroutinen
216 5 - PAGE
NVM Zustandsänderungsroutine NVM Blockeröffnungsroutine
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 NVM CHANGE STATE £. OPEN BLOCK SUBROUTINES NVMCIIG.SRC
2166
2167 :■
2168
2169
2170
2171
2172
2173
2174
2175 ; 2176
2177
2178
2179
2180
2181
2182
15-Oct-79 12:47:58
Wenn erforderlich, dann schließe gegenwärtig aktiven Block und eröffne neuen
--M I OM I OM 1 — --M
ALIE REGISTER & MARKEN
ACTBLK = NVMBLK STATE = WORKBF+ 0,
Aktive Blocknummer Blocknummer des NVM gegenwärtiger Zustand ♦ 6, +7
Berechne neue'aktive Blocknummerii und vergleiche mit laufender
Erhalte Bit 0-2 des Zustands
Wenn Bit (3-2 Null sind, dann neue aktive Blocknummer sonst, neue aktive Blocknummer = 1 zeitweilige Zwischenspeicherung der neuen aktiven Blocknr.
2183
070A
54
E7
NVMCIIG
CALL
LSTATE
2184
070C
53
97
ANL
A, II07H
2185
070E
C6
1 2
JZ
NVM 1 0
2186
0710
23
01
MOV
A.II
2187
0712
B9
6E
NVM110
MOV
R1,»WORKBF
2138
0714
AI
MOV
@R1 , A
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:50 NVM CHANGE STATE & OPEN BLOCK SUBROUTINES NVMCHG.SRC
2189
0715
B9
59
MOV
RI,8ACTBLK
vergleiche mit gegenwärtiger aktiver Blocknunmer
2190
0717
Dl
XRL
A, <?R1,
2191
0718
C6
5C
. JZ
NVM150
sind sie gleich?
2192
Schließe gegenwärtigen aktiven Block
2193
071A
: 15
DIS
1
*** Anfang kritischer Bereich ff 1 ***
2194
0 71 B
' F 4
be'
CALL
NVMWR
Ausschreibe gegenwärtig aktiven Block
2195
071 D
96
5D
JNZ
NVM190
Schreiben erfolgreich? .
2196
0 7 1F
37
CPL
A
2197
0720
B9
5 A
MOV
RI,«NVMBLK
Angebe, daß kein Block offen
2198
0722
A 1
MOV
@ R 1 , A
2199
0723
05
EN
1
*** Ende kritischer Bereich #1 ***
2200
0724
B 9
6 E
MOV
RI,8WORKBF
Aufsuche neue aktive Blocknununer
2201
0726
Fl
MOV
A , @ R1
2202
Ändere aktive
Blocknr und lokalisiere neue aktive Blocknumner
2203
!'i 7
1"»9
5 ?
NVMOPN MOV
R 1 , 8ACTBLK
Rette neue aktive Blocknummer
2204
0729
Al
MOV
@ R1 , A
2205
0 7 2 A
1 5
DIS
1
*** Anfang kritischer Bereich ff 2 ***
2206
0 7 2 B
F 4
D 4
CALL
NVMFND
Finde gegenwärtigen Platz des neuen'aktiven Blocks
2207
0 7 2 D
C 6
5 D
JZ
NVM190
Gefunden?
2200
072F
05
EN
I
* * * Ende kritischer Bereich if 2 * * *
2209
07 30
B 9
6 E
MOV
R 1 , (1 WORKßF
Ja, zeitweilige Zwischenspeicherung des gegenwärtigen
2210
073 2
Al
MOV
PR 1 , A
2211
Berechne neue Platznummer und lösche sie
6500 ACCOUNTING MODULE CA8O40/11
versi on 4.21.57
15-Oct-79
12:47:58
o\ os
4^. W On
NVM CHANGE STATE & OPEN BLOCK SUBROUTINES NVMCHG.SRC
2212
0733
B9
59
MOV
RI,H ACTBLK
2213
0735
21
XCII
A, 0R1
2214
0736
96
40
JNZ
NVM130
2215
0738
21
XCII
A , 0 R1
2216
0739
17
INC
A
2217
07 3 A
96
43
JNZ
NVM14 0
2218
073C
17
INC
A
2219
07 3D
1 7
INC
A
2220
073E
E4
43
JMP
NVM14 0
2221
0740
21
NVM130
XCII
A, @R1
2222
074 1
D3
01
XRL
A, «0111
2223
074 3
19
NVM140
INC
RI
2224
0744
31
XCRD
A, 0R1
2225
0745
F 4
7A
CALL
NVMER
2226
0747
96
5E
JNZ
NVM195
2227
Freigebe.
gegenwärtigen
2228
0749
15
DIS
I
2229
07 4 A
B9
6 E
MOV
RI ,«WORKBF
2230
074C
Fl
MOV
A , 0 R1
2231
0 7 4 D
D4
76
CALL
NVMST1
2232
074F
B8
6E
MOV
R0, «WORKBF
2233
0751
130
00
MOV
0R0, «0011
2234
0753
D4
BE
CALL
NVMBYW
Erhalte neue aktive Blocknr. und zeitweilig zwischenspeichere sie
Neue aktive Blocknummer = 0 ?
Wiederherstelle neuen Platz fiir aktiven Block ff 0 Berechne neue Stelle für aktiven Block #0
Wiederherstelle aktive Blocknr. und aufsuche gegenwärtigen Pia
Berechne neuen Platz für aktiven Block # 1
Zeiger auf NVMBLK
Rette neuen Platz
Lösche neuen Platz
Löscihen erfolgreich?
Platz
•*** Anfang kritischer Bereich #
Aufsuche gegenwärtigen Platz
Aufsetze auf Zugriff darauf
* * *
6500 ACCOUNTING MODULE CA0048/11 NVM CHANGE STATE (. OPEN SUBROUTINES
version 4.21.57 NVMCHG.SRC
15-Oct-79 12:47:58
2235
0755
96
5D
JNZ
NVM190
00H Header richtig geschrieben worden?
2236
0757
D9
5A
MOV
R1,«NVMBLK
Ja, angebe daß Block jetzt offen
2237
0759
21
XCII
A , @R1
2238
075A
31
SCIID
A, @R1
2239
075B
:05
EN
1
*** Ende des kritischen Bereichs ü 3 ***
2240
075C
83
' NVM150 . RET
224 1
Verhängnisvolle Ausgänge,
handhabe HVM-Fehler
224 2
075D
05
NVM190 EN
I
Gestatte Unterbrechungen
224 3
075E
94
4 A
NVM195 CALL
NVMFAT
Setze verhängnisvolles Bit
2 214
0760
03
RET
Zustandsänderung nur von EXEC aufgerufen und
224 5
224 6
INCLUDE DM0 :NVMRD
224 7
SUBTTL
NVM Blocklese-Unterroutine
2 2 4 8
PAGE
springe
6500 ACCOUNTING MODULE CA8040/11 version 4.21.57 15-Oct-79 12:47:58
NVM READ
BLOCK
SUBROUTINE NVMRD.SRC
224 9
2250
2251
NVM Blocklese-Unterroutine
2252
2253
2254
2255
Auffinde und lese den gegenwärtig aktiven Block
2256
2257
-OM
A " = CRC-Verifikation
2258
—M
alle Register und Marken
2259
1--
ACTBLK = aktive Blocknummer
2260
--M
WORKBF+ 6, +7
2261
2262
' Finde Block
2263
0761
B9
59
NVMRD MOV
RI, KACTBLK Erhalte aktive Blocknummer
2264
0763
Fl
MOV
A, @R1
2265
0764
F 4
B4
CALL
NVMFND Finde aktiven Block und aufsetze zum Zugriff auf seinen Platz
2266
0766
C 6
78
JZ
NVM2 30 Gefunden?
2267
Anfangssetze CRC
2268
0768
BC
FF
MOV
R4.ÏCRCINL Anfangsv/ert für CRC
2269
READ DATA
Lese Daten
2270
076A
74
02
CALL
RAMSTP Anfangssetzung für RAM-Zeiger und Zähler
2271
076C
D4
8A
NVM210 CALL
NVMBYR Lese Byte, rette und bringe CRC auf neuen Stand
>
6500 ACCOUNTING MODULE CA8040/11 version 4.21.57 15-Oct-79 12:47:50 NVM READ BLOCK SUBROUTINE NVMRD.SRC
2272
07 6 E
1 8
INC
R0
Zeiger auf nächsten Speicherplatz
2273
0 7 6 F
EA
6C
DJNZ
R2,NVM210
fertig?
2274
Lese
CRC und wiedergebe
Verifikation
2275
0771
FC
MOV
A, R4
Erhalte CRC
2276
0772
BÌB
74
MOV
R0,H(WORKBF
+ 6) ; und rette
2277
0774
AO
MOV
@R0,A
2278
0775
D4
8A
CALL
NVMBYR
Lese CRC, und vergleiche mit errechneten
2279
0777
37
CPL
A
2280
0778
37
NVM2 2 0
CPL
A
2281
0779
83
RET
2282
2283 INCLUDE DM0 :NVMER
2284 SUBTTL NVM Blocklöschungs-Unterroutine
2285 PAGE
6500 ACCOUNTING MODULE CAÛ048/11 version 4.21.57 15-Oct-79 12:47:50 NVM 12RASE BLOCK SUBROUTINE NVMER . SRC
2286
2 2 Ü 7
2208
NVM-Blockläschungs-önterroutine
2209
i
2290
2291
2292
Lösche den gegenwürti-gen NVM-Block
2293
2 29 4
-OM
A = ' Fehlerzähler
2295
—M
Alle Register & Marken
2296
1--
NVMBLK = Blocknummer des NVM
2297
—M
WORKBF+ 6, +7
2298
<
2299
Aufsetze Löschparameter
2300
0 7 7 A
D4
73
NVMER CALL
NVMSTP Aufsetze auf Speicherplatzzugriff
2 301
077C
BA
IC
MOV
R 2, II (IAH + 211) Anzahl zu löschender Bytes
2 302
077E
BB
00
MOV
R3, *0011 Anfangssetze Fehlérzâhler
2 303
ERASE BLOCK
2304
0700
B0
74
MOV
R0# II (WORKBF + 6) Speicher für Löschergebnisse
2305
0702
B9
FF
NVM 310 MOV
@RO,KOFFII Erwartetes Löschergebnis
2306
0704
23
33
MOV
A , H 3 311 Doppel-lösche OPP-Kode
2307
0786
1 5
DIS
j *** verhindere Unterbrechung während Löschen ***
2300
0 70 7
D4
90
CALL
NVMBYT Lösche Byte, verifiere, und Fehlerziihler auf neuen Stand
INCLUDE DMO:NVMWR
SUBTTL MVM Blockschreib-Unterroutine
PAGE
0>500 ACCOUNTING MODULE CAB048/11 version 4.21.57 15-Oct-.79 1 2:47:50 NVM WRITE BLOCK SUBROUTINE NVMWR. SRC
231 0
2319
2320
NVM Blockschreib-Unterroutine
2321
2322
2323
2324
Schreibe gegenwärtig aktiven Block auf den gegenwärtigen Block des NVM aus
2325
2326
-OM
A = FehlerZählung
2327
— M
Alle Register & Marken
2328
1--
ACTBLK = ' aktive Blocknummer
2329
1--
NVMBLK = ■ Hoher NIBBLE = Schreibschutzmarke
23 30
Niedriger NIBBLE = Blocknummer des
23 3 1
— M
WORKBF+6, *1
23 32
233 3
Prüfe Schreibschutzmarke
23 3 4
078E
B 9
5 A
NVMWR MOV.
R1,ÏNVMBLK Erhalte Schreibschutzmarke
2335
0790
Fl
MOV
A , @R1
23 36
0791
53
F0
ANL
A,K050H
2337
0793
96
B 3
JNZ
NVM420 Ist sie gesetzt?
2 3 3 B
Aufsetze Schreibparameter
2339
0795
D4
73
CALL
NVMSTP Aufsetze auf Platzzugriff
2340
0797
BB
00
MOV
R3 , II 0011 Anfangssetzung Fehler zähler
>
6500 ACCOUNTING MODULE CAG048/11 version 4.21.57 15-Oct-79 12:47:50 S
NVM WRITE BLOCK SUBROUTINE NVMWR.SRC
234 1
Berechne und Schreibe
Header
2342
0799
B9
59
MOV
RI , II ACTBLK
Erhalte aktive Blocknummer
2343
079B
Fl
MOV
A , @R1
234 4
079C
4 3
FO
ORL
A , U OFOII
Setze hohen NIBBLE auf F für Header
2345
079E
BB
74
MOV
R0 , II (WORKBF
+ 6) Rette Header
2346
07A0
A0
MOV
@R0,A
234 7
07A1
D4
8 E
CALL
NVMBYW
Schreibe Header
2348
Anfangssetze CRC
2349
07A3
BC
FF
MOV
R 4(SCRCINL
Anfangswert für CRC
2350
WRITE DATA
Schreibe Daten
2351
07A5
F4
02
CALL
RAMSTP
Anfangssetze RAM-Zeiger und Zähler
2352
2353
0 7A7 07A9
D4 1,8
8 E
N V M 410 CALL INC
NVMBYW R0
Schreibe Byte, verifiziere, CRC auf neuen Stand und FehlerzShlei n c „ . . n . auf neuen Stand Zeiger auf nächstes Byte
2354
07AA
EA
A 7
DJ N Z
R 2,NVM410
fertig?
2 355
WRITE CRC
Schreibe CRC
2356
0 7 AC
FC
MOV
A , R4
Erhalte CRC
2 357
07AD
B8
74
MOV
R0,H(WORKBF
+ 6) ; und speichere
2 3 5 U
0?AF
A0
MOV
@ R 0 , A
2359
07BO
D4
OE
CALL
NVMBYW
Schreibe CRC, verifiziere und Fehlerzähler auf neuen Stand
2 360
Rückkehr bzw
. Riicksprung
Fehler Zählung
2 36 1
07B2
FB
MOV
A , R 3
Erhalte FehlerzShler
2 36 2
0703
0 3
NVM 4 2 0 RET
236 J
Os Os N>
W on
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:58 NVM WRITE BLOCK SUBROUTINE NVMWR.SRC
2364 INCLUDE DM0 :NVMFND
2365 SUBTTL NVM Auffindungs-Unterroutine für aktiven Block
2366 , i PAGE
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12: 47:58
NVM FIND
ACTIVE
BLOCK SUBROUTINE NVMFND.SRC
2367
2360
2369
2370
\
2371
2372
i
2373
. Durchsuche die HVIl-Blöcke auf einen geigebenen Header und verlasse
2374
NM3S Seiten- und Adressenerstellung um auf ersten Daten-NIBBLE zuzugreifen
2375
2376
I OM
À = ON CA Bei Anruf,' Header
2 377
= ON RE Bei Aussprung, Blocknummer des NVM
2 3 78
— M
Alle Register & Marken
2379
— M
WORKBF + 6, +7
2380
23 81
Aufsetze
Suchparameters
2382
0 7 fi 4
AA
NVMFND MOV
r2,a Zeitweilige Speicherving der aktiven Blocknumier
2 3 8 3
O 7 ß 5
43
F0 ORL
a, H 0F0II Suche Header mit oberem NIBBLE F
2384
0707
2 A
XCII
A, 0 2 Rette Header und aufsuche aktive Blocknumier
2385
0 7 B 8
E7
RL
A Berechne anfänglichen Suchpunkt
2 386
0 713 9
D3
02 XRL
A , II 0 2 II
2 3 87
0 7Bß
AD
MOV
R3(A und rette
2 308
Suche bis aktiver Block gefunden oder alle NVM-Blöcke geprüft
2 3 89
0 7 BC
DO
7 4 MOV
R0, II (WORKBF * 6) Speicherung für Lese-Header
23 90
07BE
FD
NVM510 MOV
A,R3 Erhalte Speicherplatznummer
6500 ACCOUNTING MODULE CAB04B/11 version 4.21.57 15-Oct-79 12 ; 4 7 : 5 B
o\ Os
■u. w on
NVM FIND
ACTIVE
BLOCK
SUBROUTINE NVMFND.SRC
2391
07BF
B 2
CD
JB5
NVM520
Alle Plätze durchsucht?
2392
07C1
D 4
76
CALL
NVMST1
Mein, einstelle auf Zugriff zu Speicherplatz
2393
07C3 v
FA
MOV
A, R2
Erhalte gesuchten Header
2394
07C4
A0
MOV
0RO, A
und rette ihn für den Vergleich
2395
07C5
D4
BA
CALL
NVMBYR
Lese Header, vergleiche urd bringe Speicherpiatznr. auf
2396
07C7
96
BE
JNZ
NVM510
Richtigen Header gefunden?
2397
Suche erfolgreich - Wiedergebe NVM Blocknummer
2390
07C9
FB
MOV
" A, R3
Erhalte Speicherplatznummer
2399
07CA
43
F0
ORL
A,« 0 POH
und anhänge Schreibschutzmarke
2 4 00
0 7CC
83
RET
2401
Suche erfolglos -• Wiedergebe- Fehleranzeiger
2402
07CD
27
NVM520 CLR
A
Anzeigefehler
1 2403
07CE
83
RET
4
2404
2405
INCLUDE DM0 : CRC
2406
SUßTTL
CRC-ERzeuger-Unterroutine
2407
PAGE
Stand
M
6500 ACCOUNTING. MODULE CAÖ048/1 1 CRC GENERATOR SUBROUTINE CRC.SRC
vers i oh 4.21.57
15-Oct-79
12:47:58
W
2408
2409
24 10
CRC-ERzeuger-Un terrou ti ne
2411
2412
2413
24 14
Erzeuge
CRC für jede gegebene Datenfolge
24 15
24 16
-OM
A = CRC
-Wert
24 17
1-M
RO = Adresse der Datenfolge
24 18
1 -M
R2 = Länge der Datenfolge
2419
— M
R4 , R7
24 20
2 4 2 1
07CF
BC
FF
CRC
MOV
R4,KCnCINL
Anfangssetzung Rest
24 2 2
07D1
F0
C RC 110
MOV
A,(?R0
Erhalte Datenbyte
24 2 3
07D2
F 4
CALL
CRCNIB
und dehne CRC auf laufendes
2 4 24
07D4
F 4
DB
CALL
CRCNIß
2 4 2 5
07D6
1 ß
INC
R0
Zeiger auf nächstes Byte
24 26
0 707
EA
Ol
DJNZ
R2 , CRC 1 10
Fer tig?
2 4 2 7
07D9
FC
MOV
A , R 4
Wiedergebe CRC in Akku
2 4 2 ß
0 7 DA
03
RET
24 29
2 4 30
INCLUDE DM0 :CRCNIB
24 3 1
SUBTTL
,CRC ( Einzel-NIBBLE) - Erzeuger
24 3 2
PAGE
ON W
o\
6500 ACCOUNTI CRC (SINGLE NI
24 3 3 2 4 34 24 3 5 24 36"
24 37 24 30 24 39 24 40'
244 1 24 4 2 24 4 3 24 4 4 2445
NG MODULE CA8048/11 version 4.21.57 BBLE) GENERATOR SUBROUTINE CRCNIB.SRC
15-Oct-79
12:47:58
CRC - (Einzel-NIBBLE)-Erzeuger-Unterroutine
ERstrecke gegenwärtigen CRC-Wert auf Einschluß eines weiteren Daten-NIBHLES
I-M A
I OM R4 — M R7
Oberer NIBBLE = Daten unterer NIBBLE = übergehen .CRC-Wert
24 4 6
07DB
BF 0
4
CRCNIB
MOV
R7 , Ä 4
Anfangssetze Bitzähler
24 4 7
07DD
97
CRC210
CLR
C
Linksverschiebung der Übertragungs-Rest-Daten
24 48
07DE
F7
RLC
A
CY - R5 - A - 0 ■
24 49
07DF
2C
XCU
. A, R 4
2450
07E0
F7
RLC
A
2451
07E1
E6
E5
JNC
CRC2 20
herausgeschobener Bit des Restes = 1?
2452
07E3
D3
9B
XRL;
A, (ICRCPLY
Ja, XOR (ausschl. ODER) von Rest mit Generatorpolynom
2453
07E5
2C
CRC200
XCH
A, R4
Rette Rest und erhal'té Daten '
2454
07E6
EF
DD
DJNZ
117 , CRC2 1 0
Erledigt?
2455
07E0
93
RETR
6500 ACCOUNTING MODULE CA8048/I1 version 4.21.57 15-Oct-79 12:47:58 CRC (SINGLE NIBBLE) GENERATOR SUQROUTINE CRCNIB.SRC
2456
2457 INCLUDE DM0 :CLRBLK
24 58 SUBTTL Lösche RAM-Block
2459 PAGE
©s ss
w on
6500 ACCOUNTING MODULE CAB048/11 version 4.21.57 15-Oct-79 12:47:58' CLEAR BLOCK OF RAM CLRBLK.SRC
2460
2461 24 62
Blocklö.schung des internen RAM (freiadressierbarer
Speicher)
24 63
24 64
24 65 24 66
Lösche (setze auf Null) Block des internen RAM
2467
24 68
I -M
RO
= Startadresse
2469
I -M
R2
= Anzahl zu löschender Bytes
2470
2471
07E9
D5
CLRWK
SEL
RB1
24 72
07EA
6 E
CLRWRK
MOV
R0 ,
HWORKBF
2473
07EC
BA
MOV
R2 ,
ÌWRKBSZ
2474
2475
07EE
27
CLRBLK
CLR
A
2476
2477
07EF
A0
CLRBK1
MOV
@ R0
, A
2478
0 7 F0
INC
R0
24 79
0 7 F1
EA
EF
DJNZ
R2 ,
CLRBK1
24 80
07F3
93
RETR
2481
2482
2483 *
INCLUDE DM0:CLRAMT
SUBTTL Lösche Betrags- und COMBO
Puffer
2404
PAGE
6500 ACCOUNTING MODULE CA0040/11 version 4.21.57 CLEAR AMOUNT AND COMBO BUFFERS CLRAMT.SRC
2485
2486
2487 2 488
2489
2490 24 91 2492
15-Oct-7 9
12:47:58
2498
2499
2500
2501
Lösche Betrags- und COMBO (Kombinations)-Puffer
Hilfsroutine zur Löschung von Betrags- und COMBO-Puffer
2493
07F4
D5
CLRAM
SEL
RB1
2494
07F5
BO
76
CLRAMT
MOV
R0, HAMTBF
2495
07F7
BA
0A
MOV
R2, H AMTS2
2496
07F9
F 4
EE
CALL
CLRBLK
2497
0 7 FB
93
RETR
INCLUDE DM0-.RESET
SUBTTL
PAGE
Neueinstellung
ON on bJ
w on
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct.-79 12:47 RESET RESET.SRC
2502
'
2503
2504
■t
Neueinstellüng
2505
2506
2507
2508
Manuelle Neueinstellung
2509
2510
Argumente keine
2511
2512
verwendet RO, R1, R2, R4, R5, R6, R7
2513
2514
JUMP TABLE ENTRY Sprungtabellen-Eingang
2515
2516
0880
ORC 8 00
2517
0880
F9
PG800 MOV A, R1
2518
0881
A3
MOVP ' A, @A
2519
0882
24
80
JMP PG900
2520
2521
Spezialeinqang für nur Fehlerlöschzühler
2522
0884
23
83
RSTRM6 MOV A,S(DSCRSZ * 2)* 10 * 3
2523
0886
B4
32
CALL FMTCII
2524
01)88
6A
ADD A, R2
6500 ACCOUNTING MODULE CA8048/I1 version 4.21.57 15-Oct-79 12:47:58 RESET RESET.SRC
2525
0889
0 7
DEC
A
Zeiger,auf letztes Byte
2526
0Q8A
AO
MOV
RO, A
2527
08 3B
B9
20
MOV
RI, uose:
2528
088D
1 4
6D
CALL
DECSUB
2529
030F
B6
D5
JFO
RSTIA
Wenn gleich, lösche Fehlerzahl
2530
2531
0891
Wenn Fehler, lösche BEtrags- u. COMBO-Puffer, erhöhe Neueinstellversuchszähler und gebe weichen
Fehler wieder
E5 RSTERR SEL MBO
2532
0392
D4
6 E
CALL
RSTCOM
2533
0894
FO
MOV
A, @ RO
Lade Neueinstellversuchs-Zähler
2534
0395
03
F 7
ADD
A, HOF?
Prüfe Neuversuchszähler, wenn > 9 keine Erhöhung
2535
0097
F6
EO
JC
RSTFAT
2536
0899
1 0
INC
@ RO
2537
0 0 9 A
1 4
AO
RSTER1
CALL
CIIGPRV
2538
089C
1 4
A8
CALL
CIIGPRV
2539
089E
24
76
RSTER2
JMP
SOFTERR
2540
Prüfe auf COMBO-ziffern
25 4 1
08 AO
E5
RESETI
SEL
MBO
25 4 2
0 8 A 1
96
9 E
JNZ
RSTER2
Format für COMBO nicht "8F"
25 4 3
0 8 A 3
1 Û
INC
RO
254 4
0 8 A 4
FO
MOV
A , @ RO
Lade Daten
254 5
08A5
Dl
XRL
A, @ R1
254 6
08A6
96
JNZ
RSTRMS
keine manuelle Kombinationsprüfung für RMRS
(fernbetätigte Laden)
6500 ACCOUNTING MODULE CAG048/11 RISS KT RESET. SRC
version 4.21.57 15-Oct-79
12:47:58
254 7
0BA8
1 9
INC
Rl
2548
0 6 A 9
EA
AO
' DJNZ
R2, RESETI
254 9
r
Prüfe auf
Gebührenmittel-Aufhebung
2550
08AB
B9
76
MOV
RI, HAMTBF
2551
0 8 AD
Fl
MOV
A, @R1
2552
08AE
D3
22
XRL
A, J22 Format mu
2553
0 8 B0
96
C 7
JNZ
RSTMN1
2554
08B2
1 9
INC
R1
2555
0 8 B3
FI
MOV
A, {?R1
2556
08B4
96
C 6
JNZ
RSTMAN Daten müss
2557
Letzter NIBBLE des abfallenden Registers miß Null sein,
2558
08B6
B8
28
MOV
R0, HDSCREG +
2559
08B8
FO
MOV
A, @R0
2560
08B9
53
OF
ANL
A, »OF Prüfe nur
2561
0 8 BB
96
9E
JNZ
RSTER2
2562
Nullsetzung für abfallendes Register
2563
OOBD
B8
25
MÒV
RO, ïDSCREG
2564
08BE
BA
04
MOV
R2 , 1DSCRSZ
2565
08C1
F 4
EE
CALL
CLRBLK
2566
08C3
F5
SEL
MB 1
2567
08C4
44
AB
JMP
RST11 Speicher müssen
2568
25Ç9
Für manuelle Neueinstellung prüfe NeuversuchsZähler und '
"22" sein und CONECC
6500 ACCOUNTING MODULE CA804Û/11 version 4.21.57 15-Oct-79 12:47:58
RESET RESET.SRC
2570
08C6
Ç9
RSTMAn
DEC
R1
Zurückstelle Zeiger auf Format
2571
08C7
54
E7
RSTMN1
CALL
LSTATE
Lade Zustandswert und zerstöre nicht REG-Werte
2572
03C9
37
CPL
A
Bit 0 sollte "1" sein
2573
03CA
1 2
04
JBO
RSTRM6
2574
08CC
23
72
MOV
A, II (DSCRSZ*
2-1)*10+2 Format check to pennies
2575
08CE
54
32
CALL
FMTCII
2576
0800
B4
82
CALL
FMTNB2
Eingang für Verschieben eines NIBBELS,ungeradzahlige
2577
08D2
F5
SEL
MB1
Stellenzählung
2570
08D3
44
84
JMP
RSTAMT
2579
2580
08D5
F5
RST1A
•SEL
MB 1
2 5 81
08D6
44
B 2
JMP
RST11A
2582
2583
2504
RMRS
- Rücks tellung
2585
0 ODO
54
E7
RSTRMS
CALL
LSTATE
Prüfe auf Normalzustand
2586
0 8 DA
1 2
91
JBO
RSTERR
2587
0 8 DC
F5
SEL
MB 1
2580
08DD
24
ßF
JMP
RMRS
2589
2590
2591
wenn hier verhängnisvoll
6500 ACCOUNTING MODULE CA0O48/11 RESET RESET.SRC
; 2593 08 DF E5 RSTFTO SEL
2594 08E0 DF 09 RSTFAT MOV
2595 08E2 • 84 33 JMP
2596 PAGE
Version 4.21.57 MBO
R7, IRSTTRY FATERR
©\ Os fcs>
V) On
15-Oct-79
12:47:50
6500 ACCOUNTING MODULE CAÛ048/11 version 4,21.57 15-Oct-79 12:47:58
ET RESET.SRC
2597
0980
ORG
980
2598
0980
29
PG900
XCII
a, ni
2599
0981
A3
MOVP
A, @A
2600
0982
24
CF
JMP
PAGRET
2601
260 2
T
Prüfung auf manuelle Kombination
2603
09 8 4
B8
7B
RESET
MOV
RO, ÏCMDOBF
2604
0986
B9
50
MOV
RI, IIRSTBAS
Zeiger auf manuelle COMBO
2605
0980
Ba
04
MOV
R2, «4
Bytezahl
2606
098A
FO
MOV
A, @ RO
Lade Format, muß "8F" sein
2607
098B
D2
8F
XRL
A, »OF
2608
090D
04
AO
JMP
RESETI
2609
2610
098F
B9
7C
RMRS
MOV
RI, 1CMBOBF+1
2611
0991
BB
7C
MOV
RO, BCMBOBF+1
2612
0993
BC
02
MOV
R4 , »2
2613
0995
27
RSTRM1
CLR
A
2614
0996
BB
02
MOV
R3 , H2
2615
0998
AF
RSTRM2
R7 ,
A
2616
0999
FO
MOV
A, @ RO
Lade COMBO-Byte
2617
099A
03
60
ADD
A , S60
Prüfe auf Ziffern oberhalb
2610
099C
F 6
EF
JC
RMSERR
2619
0 9 9 E
47
S WAP A
2620
0 9 9 F
03
60
ADD
A, «60
2621
09A1
F 6
EF
JC
RMSERR
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57, 15-Oct-79 12:47:58 RESET RESET.SRC
ON on
». W on
2622
09A3
27
CLR
A
2623
09 A4
30
XCI1D
A,
@ R0
2624 '
09A5
37
CPL
A
2625
09A6
: A3
MOVP
A,
@ A
2626
09A7
DF
XRL
A,
R7
2627
09 A8
20
XCII
A,
@ R0
262B
09A9
47
SWAP
A
2629
0 9 AA
37
CPL
A
2630
09AB
A3
MOVP
A,
@ A
2631
09AC
DO
.
XRL
A /
@r 0
2632
09AD
1 8
INC
R0
2633
09AE
EB
98
DJNZ
R3(
RSTRM2
2634
09B0
AI
MOV
6R1
, A
2635
09B1
1 9
INC
2636
09IÌ2
EC
95
DJNZ
R4 ,
RSTRM1
2637
Nachschlage ge speicherte
2638
09B4
B8
3 B
MOV
R0,
K DATE-«
2639
09B6
F0
MOV
A,
0RO
2640
0907
97
CLR
C
264 1
0908
F7
RLC
A
264 2
09B9
77
RR
A
264 3
09BA
A9
MOV
RI ,
A
2644
09BB
C8
DEC
R0
2645 "
09BC
F6
MOV
A,
@R0
Trenne eine Ziffer ab
Tabelle am Seitenencle in umgekehrter Reihenfolge Verwandle COMBO-Ziffer in Dandkode
Lade MS Byte der Zählung w
6500 ACCOUNTING MODULE CA0040/11 version 4.21.57 15-Ocb-79 12:47:58 RESET RESET.SRC
2646
09BQ
F7
RLC
h Einbeziehe C vom neu belegten Modul
2647
09BE
52
EF
JB2
RMSERR Bit 2=1, 512 keine weiteren Kombinationen
2648
09C0
03
C 3
ADD
A, I LOW PAGBR
2649
09C2
B3
JMPP
@A
2650
Tabelle für
Sprung
2651
09C3
C 7
PAGBR
DB
LOW PAGO00
2652
09C4
C9
DB
LOW PAGAOO
2653
09C5
CB
DB
LOW PAGCOO
2654
09C6
CD
DB
LOW PAGEOO
2655
2656
09C7
04
80
PAG800
JMP
PG800
2657
09C9
44
80
PAGAOO
JMP
PCAOO
2658
09CB
04
80
PAGCOO
JMP
PGCOO
2659
09CD
C 4
80
PAGEOO
JMP
PGEOO
2660
266 1
09CF
BO
7D
PAGRET
MOV
RO, ÏCMBOBF + ? Prüfe Kombination (COMBO) gegen gespeicherte
2662
09D1
DO
XRL
A, @ RO
2663
09D2
96
EF
JNZ
RMSERR
2664
09D4
CO
DEC
RO
2665
09D5
F9
MOV
A, R1
2666
09D6
DO
XRL
A , @ RO
2667
09D7
96
EF
JNZ
RMSERR
2660
09D9
E5
SEL
MBO
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:58
2SET RESET.SRC
• 2669
09 DA
B9
76
MOV
RI, ÏAMTBF
2670
09DC
23
83
MOV
A, HDSCRSZ * 2
2671
09DE
B 4
32
CALL
FMTCll
2672
09E0
AF
MOV
R7, A Rette Startadresse
2673
09E1
B8
3D
MOV
R0, ÄRSTVAR Prüfe enpfangenen 1
2674
09E3
fo
RMRS1 MOV
A, @r0
2675
09E4
Dl
XRL
A, @ R1
2676
09E5
96
EF
JNZ
fmserr
2677
09E7
18
INC
ro
2678
09E8
19
INC
r1
2679
09E9
EA
E3
DJNZ
R2, RMRS1
2680
2681
09EB
FF
MOV
A, R7
2682
09EC
F5
SEL
MB 1
2683
C9ED
44
84
JMP
RSTAMT
2684
2685
RMRS ERROR
RMRS-Fehler
2686
09EF
F5
RMSERR SEL
MB1
2687
09F0
04
91
JMP
RSTERR
2688
RMRS-COMBO in Bandkonversionstabelle
2689
09F6
ORG
9F6
2690
09F6
ol
00
20 DB
1, 0, 20, 2,
6500 ACCOUNTING MODULE CA8048/11 RESET RESET.SRC
version 4.21.57 15-Oct 79
12:47:50
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
09F9 09 FC 0 9 FF
0A80 0A80 0A8 1 0A82
02 08 40 04 10 80 00
Taste (CDMBO-Ziffer) KEY ( COMBO DIGIT ) 9 8 7 6 5 4 3 2 1
F9 A3
64 80
PGA00
PAGE
ORG
MOV
MOVP
JMP
OADO A, RI A, @ A
PGDOO
Band-Bit TAPE DIT
0
- NO BIT kein Bit
5
1 3
6
3
4
7 •
Gemeinsamer Kode für manuelle und RMRS- (fernbetätig te) Einstellungen
0A84 E5
RSTAMT SEL
MßO
6500 ACCOUNTING MODULE CA8048/11
Os os »
oa o\
version 4.21.57 15-Oct-79
12:47:58
CT RESET.SRC'
2712
0A85
03
03
ADD
A, K DSCRSZ-1
Zeige auf letztes Byte
2713
0A87
A8
MOV
RO, A
2714
0A8Û
D9
41
MOV
RI, HRSTCNT
'9
2715
0A8Ä
Fl
MOV
A, @R1
2716
0A8B
03
F7
ADD
A, H 0F7
.
2717
0A 80
E6
92
JNC
RSTAM1
2718
0A8F
F5
SEL
MB 1
2719
0A90
04
DF
JMP
RSTFT8
2720
Addiere Neueinstellbetrag (RESET AMT)
zu Wert des abfallenden Registers
2721
0A92
B9
28
RSTAM1
MOV
R1 , If DSCREG ♦ D
2722
0A94
BA
04
MOV
R2, K DSCRSZ
2723
0A96
54
EC
CALL
DECADD
2724
0A 98
F6
BC
JC
RSTERA
RAP AROIJND NOT ALLOWED
2725
0A9A
BA
04
MOV
R2, HDSCRSZ
2726
0A9C
AI
inov
@R1 , A
Speichere neue DSC CRC
2727
0A9D
19
RSTAM2
INC
RI
2728
0A9E
18
INC
RO
2729
0A9F
FO
MOV
A, @R0
27 30
OAAO
AI
MOV
@R1 , A
2731
0AA1
EA
9D
DJNZ
R2,RSTAM2
2732
0 AA 3
DB
3B
MOV
RO, II DATE U
Bringe auf den neuesten Stand
2733
0AA5
10
INC
@ RO
2734 "
0AA6
FO
MOV
A, @R0
► M
6500 ACCOUNTING MODULE CA8048/11 version 4.21.57 15-Oct-79 12:47:58
:t reset, src
2 73 5
0AA7
96
AB
JNZ
rst11
2736
0AA9
CO
DEC
RO
2787
OAAA
10
inc
@ RO
2780
OAAB
E5
rst11
sel
MBO
2739
0AAC
D4
65
call
DSCCRC
2740
OAAE
AO
MOV
@R0, A
21 AI
CLEAR AMT
AND COMBO BUFFERS
and clear rstcnt counter
274 2
OAAF
94
D2
call ctlecc
Berechne neue Kontrollsummen
2743
0AB1
AO
MOV
@R0 , A
2744
OAB2
E5
RST11 a sel mbo
274 5
oab3
D4
6 E
call rstcom
2746
OAB 5
ao
mov
<?R0, A
Lösche NeueinsteilfehlerzMhler
274 7
OAB6
14
ab
RST12
call
CIIGPRV
Andere priv. Bit
2740
oab ö
1 4
AB
call
CIIGPRV
274 9
oaba
24
14
jmp
QUESTA
2750
2751
oabc
F5
RSTERA
SEL
mb 1
275 2
OABD
04
91
jmp
RSTERR
2753
2754
ODBO
ORG
OBOO
2755
OBGO
29
pgboo
XCII
A, RI
2756
ono 1
a3
movp a, @ a
2757
0D82
24
CF
jmp
PAGRET
6500 "ACCOUNTING MODULE CAB04B/11 version 4.21 RESET RESET.SRC
2758
2759
0C80
ORG
OCOO
2760
acBo
F9
PGCOO
MOV
A, R1
2761
OC 81
A3
MOVP
A, @ A
2762
OC 8 2
A4
00
JMP
PGDOO
2763
2764
0D80
ORG
0D80
2765
0D00
29
PGDOO
xcn
A, R1
2766
0D81
A3
MOVP
A, @A
2767
0D82
24
CF
JMP
PAGRET
2760
2669
CEBO
ORG .
0E80
2770
0E8 0
29
PGEOO
MOV -
A, R1
2771
0E81
A3
MOVP
A, @A
2772
0E02
E4
80
JMP
PGFOO
2773
2774
0F80
ORG
OFBO
2775
0F80
29
PGFOO
XCII
A, R1
2776
0F81
A3
MOVP
A, @A
2777
OFO 2
24
CF
JMP
PAGRET
2778
2779
2780
INCLUDE DM0:PWRUP
2781
SUDTTL
2702
page
.57 15-Oct-79 12:47:58
Stromeinschaltung & Anfangssetzung
6500 ACCOUNTING MODULE CA8048/11 POWER UP & INITIALI2E PWRUP.SRC
2783
2784
2785
2786
2787
2788 2709
2790
2791
2792
2793
2794
Version 4.21.57 15-Oct-79
12:47:58
>
l-k
Stromeinschaltung und Anfangssetzung
Anfangssetzung des Buchungssystsn, stelle sicher, daß Buchungsfunktion bereit ist
- -M
— M —M
RO = Adresse für NVM (leistungsunabhMng. Speicher) Rl = Adresse für NVM Laden R2 » Ziihler
2795
0F84
E5
PWRUPA
SEL
MBO
Setze auf Aufruf von untere 2 K
2796
0F85
DO
XRL
A, @ R0
2797
0F86
C6
8B
JZ
PWRUP2
Anwachsendes Register in Ordnung?
2798
0F88
1 8
INC
R0
Zeiger auf höchstst. Byte des anw
2799
0F89
B0
FF
MOV
@ R0, 80
ff
2800
0F 8D
D4
65
PWRUP2
CALL
DSCCRC
2001
0F0D
DO
XRL
A , @ R0
2802
0F8E
C 6
93
JZ
PWRUP 4
abfallendes Register in Ordnung?
2803
0F90
18
INC
RO
Zeiger auf abfallendes Register
2804
0F9 1
B0
FF
MOV
@R0, »OFF
2805
0F93
EG
59
PWRUP4
MOV
RO, 8 ACTBLF
On o\
■b. Ui On
6700 ACCOUNTING MODULE CA0040/11 POWER UP & INITI ALIZ E PWRUP.SRC
vers Ion 4.21.57
15-Oct-79
12:47:58
o\ ©>
»
W 9\
2606
0F9 5
10
INC
@R0
2807
0F96
18
INC
Zeiger auf NVMBLK
2808
0F9 7
BO
FO
MOV
@ R0 , I0F0
Anzeige, daß kein Block <
2809
0F9 9
05
EN
1
ARM Unterbrechung
2810
0F9A
F 4
61
CALL
NVMRD
2811
0F9C
C6
AO
JZ
PWRUP5
Lesen in Ordung?
2812
0F9E
94
4 A
CALL
NVMFAT
2813
Prüfe berechnete Kontrollsunme gegen gespeicherte CONEOC
2814
0FA0
94
D2
PWRUP5 CALL
CTLECC
2815
0FA2
DO
XRL
A, @R0
2816
0FA3
96
F7
JNZ
PWRER8'
2817
Empfange
Druckerstatus
2818
0FA5
94
19
CALL „
STR20M A =
0 ungefähr 5 sec. um Rückkehr
2819
0FA7
D4
28
CALL
PRCRX
2820
0FA9
65
STOP
TCNT
2821
0FAA
FO
MOV
A, @R =
Lade neuen Druckerstatus
2022
OFAB
D3
00
XRL
A, 8 VLISUD
Header = "80"?
2823
0PAD
96
F5
JNZ
PWRPRE
Druckerfehler
2824
2025
0FAF
B9
56
MOV
RI,, I MRSTAT
Lösche Basisrückstellbit
2026
0 FB 1
B1
40
MOV
0R1, *40
2827
0FB3
1 8
INC
R0
Zeiger auf Statusadresse
2820
0FB4
B9
2F
MOV
Rl, *PRSTAT
Zeiger auf alten Drucker zu ermögliche
Jk
6500 ACCOUNTING MODULE CA0O48/11 version 4.21
:r up
& IN ITIALIZE
PWRUP.SRC
2829
0FB6
F0
MOV
A, @R0
2830
ÒFB7
12
F5
JBO
PWRPRE
2831
0FB9
21
XCH
A, @R1
2832
0FBA
72
BE
JB3
PWRUP6
2833
0FBC
D3
:io
XRL
A, 110
2834
0FB E
Dl
PWRUP6
XRL
A, @R1
2835
0FBF
92
C 3
JB4
PWRUP7
2836
Führe
Buchung aus
2837
0FC1
74
B8
CALL
DOACCT
2838
0FC3
B8
2F
PWRUP7
MOV
R0, HPRSTAT
2839
0FC5
B9
58
MOV
RI, S STATE
2840
0FC7
F0
MOV
A, @ R =
284 1
0FC8
37
CPL
A
284 2
0FC9
F2
CC
JB7
PWRUP8
2843
0FCB
11
INC
@R1
284 4
0FCC
E8
66
PWRUP8
MOV
R0, «WRKBFI
2845
0FCE
Fl
MOV
A, @Ri
2846
0FCF
52
F9
J B 2
PWRER9
28 4 7
0FD1
B0
64
MOV
6R0, 114
284 8
0FD3
18
INC
R0
2849
0FD4
B0
Cl
MOV
@R0, «SPOSIII
2850
0FD6
18
INC
R0
285 1
0FD7
B9
30
MOV
Rl, «POSVAL
57 15-Oct-79 12:47:58
verhängnisvoller Fehler gesetzt
Auslösung im Fortschreiten, Abrechnung komplett bei PWR
aus vergleiche Ausgangsstellungen keine Buchung
Prüfe Berechtigungsschalter Lade PRSTAT
Berechtigungsschai ter geschlossen Setze Berechtigungszustand Setze Anfangssetzung-Portogebühr Prilfe ob verhängnisvoll wenn verhängnisvoll, keine Einstellung in Drucker
Os
OS K»
4^. W Os
6500 ACCOUNTING MODULE CA8048/11 vers ion 4.21.57 15-Oct-79 12: 47:58 POWER UP i INITIALIZE PWRUP.SRC
2852
0FD9
BA
03
MOV
R2, iPOSTSZ
2853
OFDß
14
65
CALL
BLKMOV
2854
OFDD
94
04
CALL
STRIOM Setze Zeitgeber für ungefähr 10 msec.
2855
OFDF
23
66
MOV
A, 1WRKBFI
2856
0FE1
94
BA
CALL
PRCTX
2857
0FE3
65
STOP
TCNT
2858
Während
Druckereinstellung der Portogebühr, lösche NVM
2859
0FE4
54
El
CALL
LSTATE Benötigter ACT-Block ( Zustandd kann nur 0 oder 1 sein)
2860
0FE6
F4
27
CALL
NVMOPN
2861
0FE8
B8
30
MOV
RO, HPOSVAL 0 Portogebührenwert
2862
OFEA
BO
80
MOV
@R0, UBO Schütze gegen Stromabfalle während Druckeranfangssetzung
2863
OFEC
18
INC
R0
2864
OFED
B4
02
MOV
R2, KPOSTSZ -
2865
OFEF
F4
EE
CALL
CLRBLK
2866
WAIT
REST
OF SET POST TIME
2867
0FF1
94
19
PWRUP9
CALL
STR20M
2868
0FF3
C4
24
JMP
SETIN2
2869
0FF5
64
71
PWRPRE
JMP
GETDIA
2870
0FF7
94
4 A
PWRER8
CALL
NVMFAT
2871
0FF9
24
14
PWRER9
JMP
QUESTA
2872
2873
2874
END
6500 ACCOUNTING MODULE CA0040/11 version 4 POWER UP & INITIALIZE PWRUP.SRC
A'
= 000E
ACMPIID
0045
ACTBLK
ASCCRC
02CA
ASCECC
0029
ASCREG
BADljOM
0 3 A 2
BATAMT
0033
BATASZ
BLKMOV
0065
BUS
= 0004
C
CLRAM
: 07P4
CLRAMT
07P5
CLRBAT
CLRBLK
: 07EE '
CLRSER
Ol A2
CLRSIID
CMBOBF
007B
CMBOSZ
0005
CMDDAT
CNMESS
01 5F
CNT
= 0009
CNTXFL
CRC
07CF
CRCINL
00FF
CRCNIB
CRC210
07DD
CRC2 2 0
07E5
CRXBL0
CIIXBL3
05B4
CRXBL4
05B6
CRXBYL
CRXPAT
0650
CRXPIN
0651
CRXPN1
CRXMRT
0050
CRXMSO
06 39
CRXMSI
CTLECC
04D2
CTLSUM
02nF
CTXBLP
CTXBL3
0040
CTXBL4
0044 -
CTXBL6
CTXBL9
005C
CTXBYT
0029
CTXCNC
CTXCWT
0494
CTXMER
041)0
CTXMES
CTXMSP
049D
CTXMSO
0490
CTXMSI
DATE
00 3 A
DATESZ
0002
DBB
DKCSB1
007 1
DECSB 2
00 7B
DI2CSUB
DISABL
02D3
DISAB1
0 2DU
DlSAH2
DI SRET
02DA
DISSTA
0 10 1
DlSTMJ
DOSTA1
032 3
DOSTA3
0 3 3 B
DOSTA4
. 57
15-Oct-79
12:47:
50
0059
AMTBF
0076
AMTSZ
0005
002A
ASCRSZ
0005
ASERSZ
0001
0004
BATCNT
0037
BATCSZ
0003
0007
CIIGPRV
00A0
CLK
= 0010
01 0 F
CLRBUD
0044
CLRBK1
07EF
0047
CLRWK
07E9
CLRWRK
07EA
01B 5
CMDONY
017A
CNCRX
062C
005B
COMFAT
0003
CONECC
003C
07DB
CRCPLY
009B
CRC 110
07D1
05A0
CRXBL1
05A2
CRXBL2
05AE
05A0
CRXBYT
0594
CRXCWT
0590
065D
CRXMES
062D
CRXMLP
0647
063D
CRXMS2
064 1
CRXPED
059C
0033
CTXBL1
0039
CTXBL2
00 3E
0051
CTXBL7
0055
CTXBLO
0057
04C3
CTXVNP
04CÛ
CTXCN2
04CD
0 4 OC
CTXME1
0 4 OD
CTXMLP
0 4 AC
0 4 A 3
CTXMS7
04B5
CTXPWT
Ò 4 A 1
001 1
DECADD
02EC
DECADI
. 0 2 ED
00 6 D
DELOOP
00B 2
DEL300
0 0 BO
0 2 E 1
DI SAB 3
02E5
Dl SBTM
045D
0 4 6 4
DOACCT
0 3 BO
DOSTAT
03 16
0 340
DOSTA5
0354
DOSTA6
0363
6500 ACCOUNTING MODULE CA8048/11 POWER UP E. IN IT I ALI ZE PWRUP . SRC
DOSTA7
036E
DOST4 A
0 3 4 D
DOTRP2
0393:
DORP3
0397
DSBLPD •
0042
DSCCRC
0665
DSERSZ
0001
ECIIPAT
0006
ENABL3
05D7
ENABRT
05CF
EMBLIID
0041
EHDEIID
0043
ENTCB1
û 1 BB
ENTCIID
00C6
EXCDIS
0130
EXCENB
0127
FATECI!
0661
FATERR
04 33
FMTCII1
054 1
FMTCII2
0562
PMTMB2
05 0 2
FMT0T1
0247
FMTOU1
0210
FMTOU2
026A
FMTOl1
0293
FMTOl2
0297
FMTSTS
0 2 A1
FMTTRP
02AE
Fl
= 200D
GETD
0004
GETSTS
0094
IIOMPAT
0005
IDLE 1
0140
IDLE2
0132
INTPAT
0004
INTPOS
0457
LOWSET
03P2
LOWST!
0 3 FA
MPO
= 200B
MBI
= 3 0 0 lì
MSERNO
0045
MSERS2
0004
NVMBLK
005A
NVMBYR
06QA
NVMEft „
077A
NVMFAT
04 4 A
vers i on 4.21.57
DOST5A
035D
DOTRP4
039F
DSCECC
0024
ENABLE
05BB
ENABTM
046C
ENDENT
01 AC
ENTCMB
01B9
PATCNT
0043
PATERI
0447
PMTCII3
057D
FMTOT2
0251
FMTOU3
0270
FMTOl4
V
029C
FMTVAL
0227
GETDIA
0371
IIRDBAD
0174
IDLE 3
0154
LAST
00 7 P
LSTATE
A 2 E 7
METRSZ
0002
MTRPSZ
0001
NVMBYT
0690
NVMFND
0704
on on
W
os
15-Oct-7 9 .12:47:50
DOTRlP
037C
DOTRP1
03BC
DOTRP5
03A6
DSBLE
0189
DSCREG
0025
DSCRSZ
0004
ENABL1
O5C0
ENABL2
05D1
ENARET
-5DB
ENBLE
01 7C
ENTAIID
00C5
'ENTAMT
01C3
ENTMDN
• 0477
EXCBAS
012B
FATCOD
0042
FATCOM
0431
FATRRl
043C
FMTCII
0532
FMTERR
0530
FMTNB1
0 5 8 A
PMTOUA
025A
FMTOUO
025E
FMTOU4
0280
FMTOIO
0286
FMTSOF
02B7
FMTSTA
02B9
FTLCSZ
0001
FO
= 000D
GETDO
000 A
GETSTA
0090
1
= 000C
IDLE0
01 3A
IDLE 4
014C
IDLE5
0153
LI MTST
0099
LOWPOS
004C
LSTATW
02E0
LWPSSZ
0002
METSTA
0106
MRSTAT
0056
MTRTYP
0044
NODATA
0040
NVMBYW
068E
NVMCIIG
070A
NVM I B
06A5
NVMOPN
0727
6500 ACCOUNTING MODULE CA804B/11 version 4 POWE fi UP & INITI ALIZE PWRUP. SRC
NVMRD
0761
NVMSTP
0673
NVMSTI
NVM110
0712
NVM130
0740
NVM140
NVM195
0 75E
NVM 210
0 7 6C
NVM2 20
NVM420
0 7B3
NVM510
0 7 Ii Ii
NVM520
NVM715
0613 5
NVM7 20
0 613 E
NVM730
NVM74 5
06D7
NVM750
06E3
NVM760
PAGCOO
08CD
PAGEOO
09CD
PAGRET
PECESZ
0004
PGAOO
OAflO
PGBOO
PGEOO
OEOO
PGFOO
OFBO
PGBOO
POSBAT
0 4 FF
POSBAI
0504
POSLOW
POSVAL
0030
POSVNB
OOfll
POSWRK
PROFAT
0002
PRSTAT
00 2 F
PRSTZ
PWRDN
0009
PWRERB
0 F F 7
PWRER9
PWIIUPA
0 F 0 4
PWRUPO
0024
PWRUP2
PWRUP6
OFBE
PWRUP7
CFC 3
v PWRUPO
P2
= 0205
P4
= 0006
P5
QUESTA
0114
RAMSTP
0702
RBO
RECOFL
00 5C
RECDSZ
0 0 0 fl
RECBUF
REQVIID
0050
RESET
0 9 0 4
RESETI
RMRS
0 9 11 1-
RMRS 1
0 9 E 3
RMSERR
RSTAM 2
OA'JI)
RSTI3AS
0 0 5 0
RSTBSZ
RS TDS'/.
0000
RSTERA
0 ABC
RSTERR
RSTFAT
0 fl LIO
RSTFTfl
0 fl DF
RSTMAN
RSTRM1
0995
RSTRM2
0 99 0
RSTRM6
.57 15-Oct-79 12:47:58
0676
NVMTBL
0700
NVMWR
078E
0743
NVM150
075C
NVM190
075D
0778
NVM310
0702
NVM410
07A7
0 7 CD
NBM610
06A4
NVM710
06134
06C0
NVM7 3 5
06CD
NVM740
06D5
0 6 FO
PAGAOO
09C9
PACBR
09C3
09CF
PAG800
09C7
PECEXT
0020
ODOO
PGCOO
0C80
PGDOO
0D80
0000
PG900
0980
POLCNT
005D
-5-E
POSTSZ
0003
POSUPD
04F4
0 4 E 3
PRCRX
0620
PRCTX
0 4 8 A
0001
PRTFAT
0001
PSW
= 0003
0 F F 9
PWRPRE
0FF5
PWRUP
000E
0 F 11 B
PWRUP4
0F93
PWRUP5
0 PAO
0 FCC
PWRUP9
OFFl
PI
= 0105
0106
P6
= 0206
P7
= 0306
OOOB
RB1
= 1 OOB
RCNMES
0150
00 5 E
RECSTS
OOOO
RECSTI
0096
on AO
RETEXC
0117
RETVAL
0 1 CD
0 9 E F
RÎ3TAMT
0 A B 4
RSTAM1
0A92
0 0 0 4
RSTCNT
004 1
RSTCOM
0 6 6 E
0 II 9 1
RSTER1
089A
RSTER2
089E
0IIC6
RSTMN1
0BC7
RSTRMS
08DB
0(1114
RSTRSZ
0001
RSTR20
04 1 B
6500 ACCOUNTING MODULE CA804 8/11 POWER Iii» L IN ITI ALIZE PWRUP. SRC
RSTTRV
0009
RSTVAR
00 3D
TST11 A
0AB2
RST1 2
0AI16
R3
= 0302
R4
= 0402
SDATRD
00C4
SERENT
01CP
SETPAT
0007
SET INT
05 DE
SETLIM
00 4 E
SETLSZ
000 2
SETSER
0187
SETSIID
0046
STATE
0050
STATNß
OOOO
STRTIM
04 1 E
STRIOM
0404
TBCXDN
0100
TßCMDS
0110
TIMCNT
0054
TIMDMY
0423
TMRTST
0 2P6
TMRTS1
0 2 FE
TRPSET
0064
TRPTOL
00A3
VALUES
0232
VLI SIID
0080
W 1 II DAT
OOCO
No
üirors dcLeclied
version 4.21.57
RSTVS2
0004
RO
= 0002
R5
= 0502
SERENO
Ol F3
SET INO
060E
SETPO
0 1 C 7
SETSRI
Ol 9F
STCIIK
0 0 5 E
STR20M
0419
TBCMDW
0100
TIMI NT
04 2 4
TR I PST
0 3.1 4
UNLOCK
00 4 9
WORKBF
0 0 6 E
i
-Oct-79 12:47:50
RSTIA 0QD5
R1 =0102
R6 =0602
SERENI Ol Cl
SETINI 0617
SETPOS Ol DP
SOFTER 0176
STCIIK1 0060
STR60M 0412
TCNT =000A
TIMSTP 0401
TRIPTM 04 7 9
UMLVSZ 0003
WRKBFI 0066
RST1 1
OAAB
R2
= 0202
R7
= 0702
SETERR
05DC
SET1N2
0624
SETPTM
04 7D
SPOSIID
00C1
STRMIL
0407
T
= 0008
TCNT 1
= 200C
TIMWIIO
0055
TRPPAT
0008
VALUE
023 1
WRKBSZ
0000
CiotiS iiifiituncii listing (MICR1 Symbol Hefa (I = de I: i ni li on
ACM Pill)
1 Jll
ACTÏU.K
1 0 0 «
AHTIlP
1 081
AMTSZ
109
ASCCRC
299
ASCECC
76»
ASCREG
77«
ASCRS2
73
ASERS2
77
ÜADIIÜM
1111
lìATAMT
119»
I1ATAS2
81
UATClIt
8 1 «
HATCSZ
83
BLKMÜV
403»
CIIGPRV
505«
CLRAM
7 1 9
CLRAMT
1859
CLIMAT '->4 6
1196
101
2 156
2 34 2
21105
109
6 9 2
6119
2 4 95
94011
1 243
77
94 3
78
940
94 1
12 38
1 21 1 U
1250
8 1
659
660
1 255
83
1Û52
660
1 267
407
4119
1525
1558
253 7
25 3 8
2 4 9 3 »
1936
2 4 9 4
6 5 9 M
version 4.0)
ç = write <blank> = read)
2109 2203 2212 2263
003 2494 2550 2669
1047 1049 1230 1523
1240 1524 1527
1 274
105) 1255 1257
1267 1570
1269 1571
690 730 823 1216
1 Ü 4 4 2853
2747 2740
ci.wmid
1 30«
ci.lima
24 77 ii
24 79
clpdlk
291
66 1
clrser
54 9
670«
clrsiid;
13 31
clrwk
321
247 1 «
clrwrk
1260
1550
CMÜCßF
1091
1 10
1040
cmbûsz
110
cmddat
632
63 4 «
cmdoiiy
637
64 3 «
cmcrx
619
1501
cnmes
599
623 «
cntxpl i o 2 a
103
compat
240«
1363
conëcc
3 4 u
3 5
crc
94 2
15 2 0
crc 1 1 û
24 22 «
24 26
crc2 10
24 47 «
2454
crc 2 20
24 5 1
2453 «
crc 1nl
23 1 «
2 2 6 Ü
crcnib
2100
24 23
cucply
23 3 1
2452
crxdlû
1756 «
1770
2-17511 2496 2565
) 6 51) 247211 565 61)7 704
2603 2610 2611
1 (I il 6 H
5 6 9 " 5 9 2 1114 1529
1941 2421»
2 j 4 9 2421 24 2 4 2 4 4 6 b
1777
os os
«t w os
2065
1031 1030
2661
>
M VI
CRX'BLl
1 757 II
CRXBL2
1768»
CRXBL3
1764
CRKBL4
1766
CRXBYL
1751
CRXBYT
1 740»
CRXCWT
1 7 30J
CRXFAT
1912
CRXPIN
1910
CRXPNl
1916
CRXMES
1804
CRXMLP
1 907»
CRXMRT
19 19»
CRXMSO
1 095»
CRXMS1
1092
CRXMS 2
1896
CRXPED
1749
CTLECC
1 272
CTLSUM
034
CTYBLl
340»
CTYBL2
3 4 4 S
CTXDL3
3 4 7 »
CTXBL4
35 1 11
CTXBL6
34 1
1757
1773
1 773 B
1775*
1734
1 762»
1607
1750
1910
1 926»
1914»
1923»
1007»
1911
1924
1095
1090»
1890
1901 »
1753 »
1753
1522»
274 2
922 »
1526
361
373
365
367
369
375
365 »
CTXBL7
343
369»
CTXBL8
332
334
CTXBL9
347
375»
CTXDLP
334 »
350
CTXDYT
• 326»
1484
CTNCN2
' 1502
1507»
CTXCNC
1461
1500»
CTXCNP
1466
1470
CTXCWT
1 463 »
1463
CTXME1
1 457»
1508
CTXMER
1405
1491
CTXMES
910
1 455 »
ÇTXMLP
1 402 »
1487
CTXMSO
1 459
1 4 66»
CTXMS1
1464
1 4 74 »
CTXMS7
14 00
1 489»
CTXMSP
1 470»
1471
CTXPWT
1 4 72 »
1472
DATE
83»
84
DATESZ
84
DECADI
1004 »
1012
DECADD
924
1002»
DECSD1 '
4 33 »
443
DECSB2
439
441»
DECSUU
4 28»
1249
371 V
1490
1 504 »
1510»
263« 2732
1241 1250 1265
1565 1506 1590
os on »
W On
1270 2723
1032 -2520
VI
DELS0Û
522*
-DBL0ÛP
523«
DISAB1
962
DISA02
968*
01 SAR3.
970*
DISAIÌL
305
DISÛTM
1 396*
DISRET
! 963«
DISSTA
'6 4 9«
D ISTMI
1 402«
DOACCT
1 190
DOST4 A
1 124
DOST5A
1 140
DOSTA1
1090
DOSTA3
1 109
DOSTA4
1117«
DOSTA5
1110
DOSTA6
1 1 36
DOSTA7
1101
DOSTAT
470
DOTRlP
1004
DOTRP1
1193
DOTRP2
1201«
DOTRP3
1 1 99
DOTRP4
1 205
1495 1497
959t 1037
2037
1150#
1506 1056
1402
523
965V
969
509
966
650
1403
1 236 1
11271
1142«
1 09 4 «
1112«
1134«
1140«
1 1 50
1006*
1106«
1196«
1 202
1 20 3 «
1 200 «
1007 1914
ui W
OS os
N> »
os
DOTRP5
1 209
1213«
DSBLE
544
656«
DSOLIID
) 2ß|
DSCCRC
1252
1 939«
2739
2800
DSCECC
7411
73
1942
DSCREG
7 5«
76
922-
1048
1563
2527
2558
2563
2721
DSCRS2
76
922
923
1248
1563
19 4 0
2522
2527
2558
2670
2712
2721
2722
n;;i::u:;z
7 5
ECU 1-'AT
24 3 1
19 27
ENABLl
1 80211
1 805
ENABL2
1007«
1810
ENABL3
1808
1810«
ENAOLE
583
651
1 793»
ENAORT
970
1 8 0 6 «
ENABTM
13 9 4
1 407«
ENARET
1794
1798
1812»
ENDLE
543
646«
1865
ENBLED
1271
1 302
ENDEIID
1 2 9 K
ENDENT
545
677 «
EMTAIID
14211
ENTAMT
557
692«
o\ o\
w ».
M On
1584 1939
1584 1585
2564 2574 2725
Ul -b.
ENTCIÌ 1
6on»
ENTCIID
143»
ENTCMO
5 5 8
ENTMDN
1398
EXCBAS
581
EXCDIS
577
EXCENB'
583 »
FATCNT
88»
PATCOO
87»
FATCOM
13 19
FATECI!
1510
FATEIÌ1
1367
FATERR
1 093
FATRRl
1 168
FMTCll
492
FMTClll
1635
FMTCll 2
1 670»
FMTCll 3
1 6 0 0
FMTERR
1 62 2 B
FMI MB 1
1 720 »
FMTNÜ 2
869
FMTÛ10
05 1
FMTOl l
11!H il
FMTO12
885
H 1 5 K 5flO 50 9«
1360 19271
1364 a 1405 1624» 2523
1643 1640
1711« 2576 074 H
693
667»
1409
503»
579
5 û 6
09
(iß
1 363 »
1 B9 1
1 3 7fl »
1212
2595
1 369 »
716
1 6 3 7 »
16 00
1 690»
1639
1726
1 61)9
Ü 5 9
090
n fl 7 »
1418 1421 1928
2575 2671
1674 1677
FMTO14
705
FHTOT1
019
FMTOT2
029 »
FMTOUO
* 700
FMTOU1
' 779»
FMTOU2
047
FMTOU3
793
FMTOII4
065
FMTOUA
032
FMTSOF
027
FMTSTA
030
FMTSTS
09 6»
FMTTIÌP
907»
FMTVAL
700
GETD
450»
GETDÛ
462»
GETDIA
1 107
GETSTA
474 »
GETSTS
469 »
IIOMPAT
24 2»
unonAD
620
10 LEO
596»
IOLE)
600»
IO LE 2
502
IDLE3
601
707 79) 075 077
02) ti
03911 040 0491 061 » Q 6 0 H 03611 91411 9168 919 1223 7951 469 1052 11621
612 1 197 1211 6301) 912
504 611
1164
v
2069 1003
507 591» 621 615»
os »
W os
802 B91 »
>
cn ©\
iole 4
602
603 i
io li; 5
605
i-11 «
1 nti'at
24 1 ii
1404
i ntpos
1320
13 9 11
last
1 101
limtst
4851
1581
1828
lowpûs
921
93
563
1050
lowset
1 291 ii
1457
1903
lûwstl
1 293
12981
lstate
600
793
965
9811
2571
2585
2859
lstatw
306
505
646
9821
lwpss2
93
mëtsta
594
6531
mrstat
901
99
293
387
1117
12 13
1411
msern0
90|
91
1059
msers2
91
mtrtyp
891
90
nooata
1 261
nvm110
2185
21871
nvhl3 0
22 14
222 1 1
n v m 14 0
22 1 7
2220
2223 1
nvm150
2191
2 2 4 0 8
> M
-a
1580
1366 1834 2183
1045 1055 1062
1590 2825
os os
N* »
W os
NVM190
2195
2207
2235
NVM195
2226
224 3 »
NVM21û
2 2 7 1 U
2273
NVM2 2Û
2266
2260»
NVM3 10
23051
2310
NVM410
2352»
2354
NVM4 20
23 37
2362»
NVM510
23 90 S
2396
NVM5 2 0
239 1
2402» "
NVM61û
20 3 0
2040»
NVM710
2079
200 1 »
NVM?15
200 3 t
2117
NVM720
20117
2009»
NVM7 3 û
20921
NVM735
2097
2102»
NVM740
2105
2107»
2109
NVM7 4 5
2 1 00 »
2100
NVM750
2102
2119#
NVM700
2 1 24
2129»
NVMBLK
101 a
102
1977
NVMfiYR
20 1 Û II
227 1
2270
NVMfiYT
20 1 9
202 3»
2300
NVMBYW
202 i y
2234
2 3 4 7
NVMCBG
500
595
2103«
* 224 2 B
2197 2395
2352
2236
2359
e\ o\
N>
«t
W 9\
2334
tu oo
NVMER
2225
2300»
NVMFAT
290
1 377 ,
130)1
NVMPND
2206
2265
2302»
NVMNIß
2029
2032
2060»
NVMÛPN
22031
2060
MVMRD
296
2263»
2010
NVMSIM
1 9791
223 1
2392
NVMSTiP
1 9 7 7 »
2300
2 3 39
NVMTBL
21521
NVMWR
201
2 194
2 3 34 »
PAGO00
2651
2656»
PAGAOO
2652
2657»
PAGBR
2640
265 1 »
PAGCOO
2653
• 2650»
PAGEOO
2654
2659»
PAGRET
2 600
266 1 »
2757
PECEKT
7 3 S
74
209 .
PECESZ
74
1263
1264
PCßOO
2517»
2656
PG900
2519
2590»
PGAÛÛ
2 657
2705 U
PGB0Û
2707
2755 »
PGCÛÛ
2650
2760»
PCDÛ0
2762
2765 »
2243
2012
2767 290
2777 1050
2870
1263
os Os
«t
W OS
PGE00
2659
PCF00
2772
PÛLCNT
104«
PSBAl
1572»
POSBAT
! 1567
POSLOW
1578
PÛSTS2 •
30
POSUPD
572
POSVAL
79«
PÛSVNB
153«
PÛSWRK
1236
PRCRX
455
PRCTX
4 63
PRÛFAT
239«
PRSTAT
70«
PRSTS2
79
PRTFAT
2 3 ß «
PWRDN
263
PWRERÛ
2016
PWRER9
2046
PWRPRE
2023
PWRUP
25(1
PWRUPO 297
27701 2775»
105 3 00 6 1575 1569»
1 5ßOO«
1239 1247 1256 1553
2 û 6 4
1192 1562«
BO 1046 1056 •1552 2 051 2061 1054
1550» 1562 1596
464 1505 . . 1066 1002» 1452» 2056 1092
79 960 1094 1393
200»
2070«
207 1 «
2030 2069« 204«
299«
©s
OS bJ
JU
w
Os
1559 2052
1043 1062
2019
2028 2832
os o
PWRUP2
2797
20001
PWRUP4
2302
20051
PWRUP5
201 1
20141
PWRUP6
2032
2034 1
PWRIJP7
2035
203 01
PWRUPO
2042
204 4 1
PWJÏUP9
206711
PWflUPA
301
27951
QUESTA
5691
650
662
669
2749
2071
RAMSTP
21561
2270
2351
RCNMES
615
6131
RECBFL
1031
104
597
1060
RECRS2
106
RECBUF
1051
106
623
600
RECST1
4 5 6
4 701
RECSTS
4551
604
960
1201
REQVRD
1471
RESET
601
2603 1
RESETI
254 1 1
254 0
2600
RETEXC
572 1
6 1 6
630
RETVAL
635
7001
RMRS
2500
26101
RMRS 1
2 6 7 4 «
26 79
>
M
ON
691 731 1379
1000
695 1887 1920 1009
Os ON
N> »
w
ON
RMSERR
2 6 1 H
262 1
264 7
RST1 1
2567
2735
2730«
RST11A.
2 5 n i
274 4 «
RST12 ;
2747 «
RST1A
2529
2500«
RSTAMl
2717
2721 «
RSTAM2
2727«
273 1
RSTAMl'
2570
26(13
271 1 II
RSTBAS
94«
9 6
2604
RSTBS2
96
RSTCNT
06«
07
1060
RSTCÛM
1056«
2532
2745
RSTERl•
2537«
RSTER2
2539«
254 2
2561 •
RSTERA
2724
2751 «
V
RSTERR
253 1 «
2506
2607
RSTFAT
2535
2594 «
RSTPTÛ
2593«
2719
RSTMAN
2556
2570«
RSTMN1
2553
257 1 «
RST
1041«
1356
RSTRMÌ
2610«'
2636
RSTRM2
2615«
263 3
RSTRM6
2522«
2573
2663 2667 2676 2686 i
1057 2714
2752
RSTRMS
2546
2585«
RSTTRY
2 4 6 B
2594
RSTVAR
851
86
2673
RSTVSZ
86
H 1 II
SERENO
722 .
723
727 «
SEBEN1-
691 S
SEBENT
679
703«
SETERR
1 825 1
1033
1836
SETFAT
2 4 4 1
1420
SETINO
1 853 1
1067
SETIN1
1 855
1 058«
SETIN2
1 057
1 066«
2868
SETI NT
702
1 027«
SETL1M
93«
94
564 1061
94
SETPQ
553
694 «
V
SETPOS
696
713«
SETPTM
1322
1 420 »
SETSER
540
663 «
SETSIID
132«
SETSR1
660«
675
SOFTER
542
547
552 554
6 39 «
678 707
14 15
1622 1025
ON
M
10 27
555 556 559
711 726 820
2539
©s os
Jà. OJ OS
SPOSIID
138 V
1049
2049
STATE
99V
ino
902
1)51
STATNß
1 52Ï
STCRK
305 V
656
663
670
STCIIK b
306V
576
1301
1793
STRIOH
4 67
603
6)0
900
STR2ÛH
1 188
1 340V
1046
2010
STR60M
967
1 3 36 1
1000
STRHI Ii
1 327V
STRI IM
1334
1 34 3 1
TBCNDN
54 2 V
TßCMDS
562 V
TBCMDW
552 V
605
TI MENT
96V
97
1 327 .
1340
TIMDMy
1 3 4 fl i
TIMI NT
267
13501
TIMSTP
1203
1364
1 4 23 1
1811
97V
93
1336
1426
TMRTS1.
1026
10291
TMRTST
1 0 2 4 V
1475
1901
TRIPST
1 004 V
1 105
TRIPTM
1 207
1321
14171
TRPFAT
2 4 5 B
1417
TRPRET
226V
1107
®\ o\
M ©N
2039
677
1162 1325V 2854 2067
1353
1050
TßTPOL 227 ï 1204
UNLOCK 911 9 2 56 2 1057
92 1597 VALUß 797 002 i
VALUES 640 654 803||
VL1SIID 1 4(111 91 6 100(1 1220
WOR-KIIP 107 II 10(1 450 022
1247 1256 1261
1667 1607 2024
22 0 9 2229 2232
235 7 2(109 2472
WRKBFI 10611 107 405 490
WRKDSZ 10 7 10 û 1261 126Û WTIIOAT 1 3 7 p
1597
2822
836
1214
1239
1268
1522
1551
2036
210 7
2 200
2276
2304
2345
2044 2855 2473 .
ON on w On
C rosa re ference 1 i s t i ng
IMIOREF
version
4.0)
Symbo1
Re f s
( U = définition
9 = write <blank> » read)
ACMPIID
131 «
1196
ACTBLK
.10 0«
loi
2 156
2)09
2203
2212
2263
2342
2 fi 05
A MTB F
îonn
109
692
003
2494
2550
2669
AMTS2
io y
60 9
24 95'
ASCCRC
299
9401
1 243
ASCECC
76 «
77
943
ASCREG
llî
70
940
) 0 4 7
1049
1 2 3 Û
1523
ASCRS2
73
94 1
12311
1240
1524
1527
ASERS2
77
BADIIÛM
1)11
121 U
1 250
1274
BATAMT
09 ï
01
659
105)
1255
ßATAS2
fi 1
660
1 255
lv25 7
BATCIIT
011
A3
1052
1267
1570
BATCS2
fi 3
660 '
1267
1269
1571
ß L.K MOV
403 S
407
409
690.
730
823
1216
1525
1 55 Ü
10 4 4
2053
CIIGPRV
505 «
2537
25 3 fl
2747
2740
CLR AM
719
24 9311
CLRAMT
1 059
19 3 6
2494
CLRßAT
5-16
659 ï
CLIÎQIIO
non
è
CLRBK1
2477 «
2479
CLPDLK
29 1
661
2475«
2496
2565
CLRSER
549
6 70 K
CLRSHD
1331
CLRWK
32)
247 1 11
CLRWRK
1260
1550
1 650
2 4 72 II
CMBCBF
10 9|
Ì 10
565
6Û7
704
111411
2603
2610
2611
CMBÛS2
1 10
CMDDAT
632
634 II
.
CMDOIIY ■
637
64 3 «
CMCRX
6 1 9
1 501
Ili 0 6#
CNMES
599
623 |
CNTXPL
1 0 2 S
103
569
592
1114
CÛMFAT
2 4 0 S
1363
CÛNECC
34«
35
1529
CRC
94 2
1520
194 1
24 2 1 «
CRC)10
2 4 2 2 1
2 4 26
CRC2 1 û
24 4 li
24 5 4
CRC220
2 4 5 1
2453 11
CUCINI.
23 1 II
2 2 6 0
2 3 4 9
2 4 2 1
CRCN 1 B
2 100
2 4 2 3
24 24
2 4 4 6 «
CRCPLY
2 3 3 S
2 4 5 2
CRXBLfì
1 7 5 6 B
1 770
17 77
2065
1031 1038
2661
Os Os K»
W Os
CRXULl
17571
CRXBL2
1 7 6 fl 11
CRXBL3
1764
CRXBL4
17 6 6
CRXBYL
1 751
CRXBYT
1 7 4 n n
CRXCWT
1 7301
CRXPAT
19 12
CRXPIN
1910
CRXFNl
1916
CRXMES
1 Q 04
CRXMLP
19Û71
CRXMRT
19191
CRXMSO
10951
CRXMS1
1092
CRXMS2
1096
CRXPED
1749
CTLECC
1 272
CTLSUM
034
CTYBL1
3401
CTYBL2
3 4 4 1
CTXBL3
34 71
CTXBL4
3511
CTXBL6
34 1
1 757
1 773
17731
1 775«
1734
1 762*
1607
1750
1910
1 9261
19141
1 923 1
1 0071
1911
1924
1095
109011
1090
19011
1753 1
1753
15221
2742
92211
1526
361
373
3 65
367
369
375
3651
CTXBL7
343
369V
CTXBLO
332
334
CTXBL9
347
375V
CTXBLP
3 34 V
350
CTXBYT
326 V
14H4
CTNCN2
1 502
1 507V
CTXCNC
1461
1500V
CTXCNP
•1466
1470
CTXCWT
1 463 V
1463
CTXME1
1 457V
1508
CTXMER
1405
1491
CTXMES
910
1 455V
CTXMLP
1 4 Q 2 V
1407
CTXMSO
14 59
1 4 66 V
CTXMS1
1464
1 4 74 V
CTXMS 7
1400
1 4 09 V
CTXMSP
1 4 70V
1471
CTXPWT
1 472 V
1472
DATE
03 V
04
OATËS2
04
DECADI
1 004 V
1012
DECADD
924
) 002 V
DECSB1
4 3 3 V
4-13
DECSB2
4 39
44 l V
PECStlfi
4 20 V
1249
371 II
1490
1504 V
1510V
2630 2732
1 24 1 1 2 5 ft 1265
1 565 1 5A 6 1590
v0
1270 2723
1032 -2528
Os Os N»
■b. W os
DELSOÛ'
5 2 2 H
1402
1495
DELOOP
5 2 3 1
523
DI SAD)
.96 2
96511
DISAD2
>6011
969
DI SAB 3
9701
DISABL
305
509
9591
DISBTM
1 3 9 6 S
DISRET
9 6 3 K
966
DISSTA
6 4 9#
650
DISTMI
1 402Ï
1403
DOACCT
) 190
1 2 3 61
2037
DOST4 A
I 1 24
1)271
DOST5A
1 140
11421
DOSTA1
1090
10941
DOSTA3
1 109
11121
DOSTA4
11171
DOSTA5
1)10
1)341
DOSTA6
1 1 36
11401
DOSTA7
1101
1150
11501
DOSTAT
470
10061
1506
DOTRlP
1004
11061
DOTRPl
1193
1 1 9 6 #
DOTRP2
1 20) D
) 202
DOTRP3
l 199
1 2031
DOT R P 4
1 206
i ■? n n u
1007
1056
0\
ON
Jik w o\
1914
D0TRP5
1209
Ì 2 Ì 3 II
DSBLE
544
65611
DSBLUD
1 20)1
DSCCHC
1252
1 9 3 9 ï
2739
2800
DSCECC
"74 II
73
1942
DSCREG
7511
76
9 22
1048
2527
2558
2563
DSCRSZ
76
922
923
1248
1940
2522
2527
2670
27)2
2721
DSERSZ
75
ECIIFAT
24 3 1
1927
ENABLl
1 00 2 1
1005
ENABL2
1007 8
lß)0
ENABL3
1 ÖOß
18)011
ENABLE
5 ß 3
65 |.
1 7938
ENARRT
970
1 806 8
V
ENABTH
1394
1 407 8
ENARET
1 794
1798
1 û 1 2 8
ENBLE
54 3
6 4 6 8
1 fl65
ENBLED
1271
1302
ENDEIID
) 291
ENDENT
54 5
677 a
EHTAIID
14 21
ENTAM?
557
692 8
1563
1584
1939
2721
1563
1584
. 1585
2550
2564
2574
2722
2725
ENTCB1
688 t
693
ENTCIID
1 4 3 t
ENTCHB
558
667 *
ENTMDN
î 3911
1 409
EXCOAS
581
5 fi 3 t
EXCDIS
577
579
EXC ENI)
58 3 «
586
FATCNT
8 8 t
89
FATCÛD
87 t
80
PATCOM
1319
i a 6 3 «
PATECIi
1510
1891
PATER 1
1367
1 3 70 t
FATERR
1093
1212 '
2595
PATRRl
1168
1 369Ö
FMTCll
492
716
FMTCll 1
1635
1 6 3 71
PMTCII2
1 fi 70 S
1600
FMTCll 3
1608
1 6901
FMTERR
1 622t
1639
FMINB1
1 7 201
17 26
FMTN02
060
1609
FMTOl0
851
050
FMTO11
004 1
000
FMTO12
005
0071
H15I
5 BO 589t
1369 1 9271
13 6 4t 1405 141B 1624t 2523 2575
1643 1649 1674
1711t 2576 0741
ON as hi
«t.
c*>
On
1421 1928
2671
1677
-i ts>
PMT014
705
707
791
PMTOT1
fl 1 9
021#
PMTOT2
029#
PMTOUD
700
039V
PHTOU1
77911
840
PMTQIJ 2
Q 4 7
04911
FMTQU.3
793
0611
FMTOU4
065
068j(
PMTOUA
032
8361
PMTSOP
027
914«
PMTSTA
030
9 1 6 U
PMTSTS
0961
919
FMTTRP
9071
1223
FMTVAL
700
7951
GETD
45fl||
469
1164
GETDÛ
4621
1052
GETD1 A
1107
116211
206 9V
GETSTA
474«
612
GETSTS
4 691
1197
1 0 0 3
IIÛMPAT
24 2 1
1211
IIRDBAD
620
630 1
IDLEO
5961
9 1 2
I DLE 1
6 on n
IDLE2
502
5 0-1
507
IDLE 3
601
6 1 1
615«
075
877
59)1
621
882
8911
CJ
os os
K>
-b. !si Os
JOLE4
602
60311
IDLE5
605
6 1 3 H
INTPAT
24 11
1 404
INTPOS
13 20
13911
LAST
1 10 y
LIMTST
4 fi 5 ï
1501
1020
LOWPÛS
9 2 y
93
563
1050
LOWSET
1291 y
1457
1903
LÛWSTl
1 293
1 290 *
LSTATE
600
79 3
965
901 1
2571
2505
2059
LSTATW
386
505
646 .
902J
LWPSS2
93
METSTA
594
65 3 H
MRSTAT
9 fl H
99
293
v307
1117
1213
1411
MSERNÛ
90|
91
1059 •
MSERS2
91
MTRTYP
û9y
90
NOOATA
1 2 6 K
NVM1l0
2 10 5
2 1 07 B
NVM130
2214
2221 y
NVMl40
2217
2220
222311
NVM150
2191
22401
1500
1366
1045 1590
ON
as
-fe. W ON
1834 2183
1055 1062
2825
> M
-a j^.
NVM190 2)95
NVM195 2226
NVM210 22?)ï
NVM 2 20 2266
NVM31Û 2305 i
NVM410 2 3 5 2«
NVM4 20 12 3 3 7
NVM5IÛ v2 3 9 0 ï
NVM5 2û 2 39 1
NVM610 20 3 0
NVM71Q 2079
NVM7)5 200 3«
NVM720 2087
NVM7 3 0 ' 2092 «
NVM735 2097
NVM7 4 0 2 1 05
NVM7 4 5 2100«
NVM7 50 2102
NVM700 2124
NVMBLK 101«
NVMÛYR 20ÌQI
NVMQYT 20 19
NVMBYW 202 1 S
NVMCDG 500
2207 .2235 2242« 2243«
2273 2260«
23)0 2354 2362«
2396 2402«
2040«
200 1 «
2117 2009«
2)02«
2107« 2109 2100 2119«
2129«
102 1977 2 2 7 1 2 2 7 0 2023« 2300 2234 2347 595 2 10 3«
2197 2236 2395
^ 2 3 5 2 2359
H* -4 ut
2334
os Os
N> ».
W Os
NVMER
2225
2300#
NVMFAT
290
1377
1381#
NVMFND
2206
2265
2382#
NVMNIB
2029
20 3 2
2060#
NVMOPN
22031
2 8 60
NVMRD
296
2263#
2810
NVMSTl
1 9791
223 1
2392
NVMSTP
1 97711
2300
2339
NVMTBL
2 1 52 H
NVMWR
201
2194
. 2334#
PAG800
265 1
2656#
PAGA00
2652
2657#
PAGBR
2640
2651 #
PAGCOO
2653
2658#
PAGEOO
2654
2659 #
PAGRET
2600
266 1 #
2757
PECEKT
73 B
74
209
PECESZ
74
1263
1264
PCBQQ
25171
2656
PG900
2519
2590#
PGA00
2657
2705#
PGB00
2707
2755#
PGCOÛ
2650
2760#
PCDÛÛ
2762
2765#
2243
2012
2T67 290
2777 1050
o\ o\
». w 0\
2870
1263
pgeoo
2659
pcfoo
2772
pûlcnt
104*
psbal
1 572*
posbat
1567
poslow
1 5 70
posts2
30
posupd
572
posval
79*
posvnb
153#
poswrk
1236
prcrx
455
prctx
463
profat
239 #
prstat
70#
prsts2
79
prtfat
2 3 ß 1
pwrdn
263
pwrerû
20)6
pwrer9
2046
pwrpre
2023
pwrup
250
pwrupo
297
27 70 II 2775 i
105 1006 1575 15691 15ß00j|
1239 1247 1256 2Û64
1192 1562#
ÛO 1046 ' 1056 2 û 51 2 0 6 1 1054
15501 1562 . 1596 464 1505 1066 1452* 2056 1092
79 960 1094
v
200*
2070*
207 1 *
2030 2069# 20 4 #
2991
1553 1559 2852
155 2 1843 1862 .
1802# 2819
1393 2828 2832
Q\ ©\
K> »
Ut o\
PWRUP2 2797
Pl-JRU P 4 2 3 û 2
PWRUP5 2 Û11
PWRIJP6 2« 3 2
PWRUP7 2 0 35 PWRUPQ • 2 0 4 2
PWRUP9 20671
PWRUPA 301
QUESTA 569|
RAHSTP 21561
RCHMËS 615
RECBPL 1û3 i
RECRSZ 106
RECBUF 1051
RECST1 456
RECSTS 455 S
REQVRD 147|
RESET 601
RESETI 25411
RETEXC 572ï
RETVAl, 6 35
RMRS 25 0 0
RMRS1 26741
2000U 200511 2014 V 2034 V 2030 V 204 4 V
2795V
650 662 '669 691
2749 2071
2270 2351 613 V
104 597 1060 1000
106 623 600 695
470V
604 960 1201 1009
2603V
2540 260B 616 630
700 V 2610V 2679
o\ ©s
«t w
ON
731 1379
1887 1920
► m
—j oo
rmserr
2610
2621
264 7
rstl 1
2567
2 735 '
2 7 3 0 u rstl1 a
250 1
2 7 4 4 h
rstl 2
27471
rstl a
2529
2500 h
rstaml
2717
2721 ii
rstam2
i2727 ï
273 1
rstamt
. 2570
2603
271 1 ii rstßas
9411
96
2604
rstbs2
96
rstcnt q6|
07
1060
rstcom
1 056 ï
2532
2745
rsterl
25 3 7 ii
rster2
2 5 3 9 i
2542
2561
rstera
2724
2751 ii
rsterr
253 1 1
2506
2607
rstfat
2535
2594 »
rstft8
2 5 9 3 1
2719
rstman
2556
2570 1
rstmnl
255 3
2571 «
rst^o
1 Q 4 1 1
1 356
rstrm1
261 fl|
2 636
rstrm2
26 1 51
2 6 3 3
rstrm6
252211
2 57 3
1957
2752
2667 2676 2686 a
2714
On on n» »
on
RSTRMS
2546
2505«'
RSTTRY
2461
2594
RSTVAR
«51
06
2673
RSTVSZ
06
SDATIID
1411
SEDENO
722
723
727«
SEDEN 1
691«
SEDENT
679
703«
SETERR
1 0 25 il
1033
1036
SETFAT
24 4 «
1420
SETINÛ
1 05 3 «
106 7
SETI NI •
1055
. 1050«
SETIN2
1057
1 066«
2060
SETINT
70 2
1 027«
SETLIM
93«
94
564
SRTI.S2
9 4
S ET PO
553
694 »
SETPOS
696
713«
SETPTM
.13 2 2
1 420«
SETSEH
540
663 »
SETSIID
1 12«
SETSRI
660»
675
SOFTER
542
547
552
6 39 «
670
14 15
1622
1 06 l
1027
55 4 70 7 1025
555 711 2539
ON ON
-U
w
ON
556 726
559 020
oc o
SPOSIID
13011
1049
2049
STATE
99*
ino
902
1151
STATNß
152*
STCRK
305*
656
663
670
STCIIK 1
306*
576
1301
1793
STRIÛM
4 67
603
610
900
STR20M
! 1100
1 340*
1046
2010
STR6ÛM
r 967
1 336«
1000
STRMIl,
1 327*
STRI IM
1334
1 3 4 3*
TBCMDN
54 2«
TDCMDS
562«
TBCMDW
552*
605
TIMEUT
96«
97
1327
1340
TIMDMV
1 3 4 fl 11
TIMI HT
267
1 350«
TIMSTP
1 2û3
1364
1 4 23 «
- 1011
97«
93
1336
1426
TMRTS1
1û26
1029«
TMRTST
1024 ii
1475
190 1
TRIPST
10041
1 105
TRIPTM
1207
132 1
14171
TRPPAT
24 5 1
14 17
TRPRET
2261
1 107
>
H-* 00
2039
677
1162 • 1325* 2854 2067
1353
1050
On on s» »
M on
TBTPÛL
22711
1204
IJNLÛCK
9 1 II
9 2
92
1597
VA LU 12
7^)7
80 2 II
VA LUES
640
654
VLI SUD
14 fili
9 1 6
WORKDP
1 07 M
I 0 0
124 7
1667
2 20 9
2357
WRKHF1
1 06 S
107
WRKDS2
107
100
wtiidat 137 ii
562
1057
1597
0 0 3 U
100 8
1220
2022
450
822
036
1 256
1261
1260
1687
2024
2036
2 2.29
2232
2276
20 8 9
2472
405
490
2044
1 261
1 260
2473
1214 1239
1522 1551
2187 2200
2304 2345
2055
oe ts>
Tili- Ô5ÛÛ DRUCKER PROGRAMM CAÛO4ß/11 version 4.21.57
90 W
15-Oct-79
14:6:17
1
2
3
4
5 ó
7
a
9
io
1 L 12 1 3
14
15
16
17
18
19
20
21
22
Titel Modell 6500-Druckerprogramm PEPPRF - Drucker "
Aufbau-Organisation fUt Drucker-Hauptfluß Version mit zusätzlichem Vermittler
COPYRIGHT 1979
PITNEY BOWES INCORPORATED
ÜÜ20
CHECKPOINT #2 ' SAME OBJECT CODE AS OCTOBER 4,1979
OBJEKT-KODE GEHÖRT ZUR SERIE INTEL 8048 MIKROPROZESSOREN
INCLUDE DM2 : EQUIV
EQU ï V - Drucker Äquivalenzen ram-Speicherplätze POSTI! EQU 2011
"Portogeblihr ist"-Header
©\ es
W ON
I
C\ on
|s> »
w on
Kwiii.'L ô5û0 PRINTER PROGRAM CAQ04Q/11 version 4.21.57
15-Oct-79
14:6:47
23
00 21;
POSTÜ
EQU
2111
24
0024
DATEII
EQU
2411
25
0025
DATEß
E QU
2511
26
0028
TEMP
EQU
• 2011
27
0030
DELTA
EQU
301!
28
0036
STATU
EQU
3611
29
0037
STATUS
EQU
3711
30
0038
DSTAH
WQU
3011
31
0039
FESTA
EQU
3911
32
003A
INSTA
EQU
3 AH
33
003B
DSSTA
EQU
3BII
34
003C
INI!
EQU
3CII
35
003D
INB
EQU \
3DH
36
37
(X) =
Gegenwärtig nicht ve
38
39
PAGE
gegenwärtige Portogebilhr (3)
(X) 'Datum-ist'-Header
(X) gegenwärtiges Datum (3)
(X) Zwischenspeicherplätze (8)
Portogebührenänderungen (6)
Status-Header
Status
Diagnosestatus-Header verhängnisvoller Fehlerstatus
(X) verhängnisvoller Fehler, Information
Status außer Betrieb setzen
Eingabe-Header
Eingabe-Puffer (3)
oo
MJIH.L 6500 PRINTER PROGRAM CA 0040/ 1 1 version 4.21.57 15-Oct-79 14:6:47
40
0000
ORG 0
41
42
Seite 0 enthält Anfangssetzung, Hauptprogramm-Scheduler und Fühlerhandhabungsroutinen
4 3
44
45
I NCLUDK DM2 : IN ITF
INITF - Drucker
46
Programm
47
48
49
Benötigte Stapelebenen = 5,
wenn kein Fehler
Anfangssetzung Komn.-Header und starte Zeitgeber (15 Zyklen = 62,86 |isec.)
50
0000
BQ
36
IN IT: MOV RO.ISTATU
Anfängssetzung Statusheader'
51
0002
BO
00
MOV @RO, K Oft 0||
52
0004
18
INC RO
Zeiger auf Status
53
0003
BO
ÛO
MOV @RO,f0
Anfangssetzung
54
0007
88
38
MOV RO, ÏDST/WI
Anfangssetzung Diagnosestatusheader
55
0009
BO
AD
MOV @RO, I 00DII
56
000B
16
I NC RO
Zeiger auf verhängnisvollem Fehlerstatus
57
000C
BO
93
MOV 0110,19311
Anfangssetzung
58
000E
55
STRT T
Starte Zeitgeber
59
60
Bringe Riegel in Ausgangsstellung urd Vermittler nach unten (71 Zyklen = 297,52 fisec. müi.)
61
000F
B9
6 E
MOV RI , 11110
107 Zyklen = 448,38 (isec. total 49,32 msec.
JDËL 6500
PRINTER PROGRAM CAGO4
0/11 version 4.21.57
15-Oct~79 14:6:47
»
62
0011
14
DD
1NIT1;
CALL
SENSE
63
0013
37
CPL
A
Stift 1'
64
0014
F2
11
JB7
IN ITI
Springe, wenn Riegel vorne = Licht = Niedrigpegel an CPU-
65
66
0016 0018
D2 34
22 A7
JB6 CALL
IN IT 3 DLL 50
Sprlnge, wenn Vermittler unten = Licht = Niedrigpegel an
CPU.Stift 1
67
00 1 A
E9
1 L
DJNZ
RL,IN ITI
68
001C
74
DE
CALL
FREGZE
Set2e zusätzlichen Vermittler
69
00 1E
B9
85
INIT2;
MOV
RL , If 0 511
Fehler "Vermittler nicht gefallen"
70 7 L 72
0020
24
AB
JMP
ERROR
Anfangssetzung für Motojre auf Ausgangsstellung (17.619 Zyklen = 73.832,009 usec.)
73
00 22
23
EE
INIT3:
MOV
A, Ï0EEII
74
0024
39
OUTL
PI , A
Betriebsenergie für Motore
75
0023
A8
MOV
RO, A
Warte 74 msec.
76
0026 •
34
A3
MS74 ;
CALL
DL300
(72 Zyklen = 301, 71 usec. pro Aufruf)
77
0028
E8
26
DJNZ
RO,MS7 4
78
Û02A
09
FF
ORL
pi, hoff:
Betriebsenergie für Motore abschalten
79
80
Anfangssetzung für Schalter
(35 Zyklen = 146,67 jisec.)
01
002C
1 4
BE
CALL
SWITCH
Prüfe "Dunkel", Lese Schalter
82
002G
AE
MOV
R6, A
Speichere "ÖSW"
• 83
002F
C5
SEL
RBO
84
0030
B8
37
MOV
RO,«STA
Zeiger auf Status
>
MODEL 6500 PRINTER PROGRAM CA804B/11 version 4.21.57 15-Oct-79 14:6:47 oo
>i
BS
0032
A0
MOV
@R0, A
Anfangssetzung Schalterstatus
86
0033
BB
3Q
MOV
R0,»DSS
Zeiger auf Außerbetriebsetzungsstatus
87
88 • 89
0035
A0
MOV
@R0, A
Speichere Schalter-Info.
Anfangssetzung fiir
Fühler (69
Zykien = 289,14 psec.)
90
0036 ;
14
DD
CALL
SRNSR
Lese Fühler
91
0038
AF
MOV
R7, A
Speichere "OSENS"
92
0039
53
10
ANI,
A, If.l011
Schaue auf Bit 4 der "NEW"-Fühler (Ausgangsstellung)
93
00 3 B
40
ORL
A, @R0
"OR" in den Status
94
û C
003C
A0
MOV
@R0, A
. Wiederherstelle Status y d 96
Anfangssetzung für
Druckrclder
(11,6 Zyklen = 48,61 usec. bis RTS)
97
00 3D
54
23
CALL
S ST AT
Sende Status an Buchung
98
003F
34
5 1
CALL
CRBCW
Warte auf RTS und empfangene Nachricht
99
004 1
54
ßC
CALL
I POST
Anfangssetzung der Druckräder
100
101
0043
Z INIT
EQU
Ç-INIT
102
103
PAGE
os Os M
W os
©\
ON
M 0\
MODEL 5600 PRINTER PROGRAM CAÛ040/11 version 4.21.57 15-Oct-79 14:6:47
104
INCLUDE DM2iMAI
105
106
-
MA INF
- PEP
Drucker-Hauptfluß (erste Hälfte)
107
'
Stationärzustandsschleife
108
Benötigte Stapelebenen
= 4
109
110 0043
09
MANI :
IN
A. PI
i
Moduliere Ziffern-Motor 2 msec. ein = 1/4 Leist'
111 0044
D3
01
XRL
A, »1
Invertiere Bit 0
112 0046
113
39
OUTL
PI, A
Wiederherstelle neues Motor-Abbild
114 0047
14
BE
CALL
SWITCH
Lése Schalter
115 0049
2E
XCII
A, R6
Rette "NEW" in OSW
116 Û04A
DE
XRL
A, R6
Suche nur nach Änderungen
117 0Û4B
118
C6
62
JZ
MAN3
Springe, wenn keine Änderung
119 004D
' 23
3 P
MOV
A, «3 Ell
Lösche Bits 6 & 7 des Außerbetriebszustandes
120 004F
54
CALL
. ENABL
121 0051
FE
MOV
A, R6
Bringe neue Bits in 6 & 7 des Außerbetriebssetzungsstc.
122 0052
C6
58
JZ
MAN 2
Wenn alles abgeschaltet, fahre fort
123 0054
124 0056
43 54
08 32
ORL CALL
A, «Oll
DSABL
Wenn irgendeines angeschaltet, stelle sicher, daß Antwort von
Buchung erforderlicl
Setze außer Betrieb wie erforderlich
125 0058
88
37
MAN 2:
MOV
HO,«status Zeiger auf Status ^
126 -005A
PO
MOV
A, @R0
Erhalte Status oo
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.
127
005B
53
3 F
ANL
A , ï 3 PII
128
005D
4 E
ORL
A,R6
129
005E
A9
MOV
@110, A
L 30
00 3 F
C5
SEL
R00
131
0060
54
23
CALL
SSTAT
132
133
006 2
C5
MAN3 :
SEL
RB0
134
135
0063
14
DD
CALL
SENSE
136
0065
2F
XCII
A, R7
.13 7
0066
DF
XRL
A, R7
138
0067
C6
98 ■
JZ
INTRF
139
140
0026
ZMAIN
EQU
Ç-MAN1
141
142
PAGE
15-Oct-79 14:6:47
Lösche Bits 6 & 7 Einsetze neue Bits Wiederherstelle
Sende neuen Status und Aussprung
Lese Optik
Rette "NEW" (neu) in "OSENS"; Suche nur nach Änderungen Springe, wenn keine Änderung
ON
o\
w On iDEL 6500 PRINTER PROGRAM CAB048/11 version 4.21.57
INCLUDE DM2 ; S1IDLF
SHDLF - Drucker Fiihlerhandhabungs routine Benötigte Stapelebenen = 4
15-Oct.-79
14:6:47
143
144
145
146
147
i
148
149
150
151
152
153
0069
A9
154
006A
53
0F
155
006C
C6
72
156
006E
B9
81
157
0070
24
AB
158
159
160
0072
F9
) 6 1
0073
53
F0
162
0075
47
163
0076
£3
Zeitgabe: Max. To Return (No Cornili.) = 22 Zyklen1 - 92 ^ 190 usec.
Max. To CTS if RTS is on = 84 Zyklen. = 352 ,000 usec.
Schrittmotor-Dekoder
SIIDL:
MOV
ANL
JZ
MOV
JMP
RI , A A. SOPII SIIDL1 RI, I81II ERROR
Rette Änderungen in R1 Schaue nur auf Kodierer Fehler, wenn Kodierer bewegt
Kodierer bewegt, wenn unzulässig
Sprung auf Basis von Änderungen SliDLl : MOV A.R1 Wiederherstelle Änderungen
ANL A , II 0POH Schaue auf Nicht-Kodierer
SWAP A Bringe in niedrige Ordnung
MOVP3 a,@A Ubersetze
m NO
i
MODEL 6500
PRINTER PROGRAM CA804fl/11 version 4.21.57
) 6 4
00 7 7
72 7F
JB3
SHOME
] 65
0079
92 9 1
JB4
SilTN
166
007B
09 82
MOV
RI, //02H
167
007D
2 4 AB
JMP
ERROR
1 6 8
-
169
Ausgangsstellung verändert
1 70
007F
FF
SIIOME; MOV
A, R7
Ili
0050
37
CPL
A
172
008 ì
53 30
ANL
A,//30H
173
0083
96 98
JN2
INTRF
1 74
0085
F0
MOV
AßRO
175
00 8 6
72 98
JB 3
INTRF
176
0088
4 3 08
ORL
A, //8H
177
008A
A0
MOV
@RO,A
178
00 8 D
23 20
MOV
A, // 2 0 ! 1
179
008D
5 4 3 2
CALL
DSABL
. 180
008F
04 96
JMP
SI1IN2
181
182
Riegel und/oder
Vermittler
183
009 1
F 0
SII IH; MOV
A,0RO
184
0092
53 C 3
ANL
A, //0C3II
185
0094
6 A
ADD
A, R2
>
l-i V©
15-Oct-79 14:6:47 M
Ausgangsstellung geändert Riegel oder Vermittler geändert
Ungültiges Knderungsmuster Schaue auf Daten.
Ausgangsstellung (HOME) = 1, wenn nun ein
Schaue nur auf HOME
Wenn ein, Aussprung
Beide aus, erhalte Status
Aussprung, wenn bereits ausgelöst
Nicht ausgelöst, auslöse Maschine
Wiederherstelle Status
Setze Aus löse-Außerbetriebsetzungs-Bit Setze Maschine außer Betrieb
Sende Status und Aussprung geändert
Erhalte Status Lösche Bits 2-5
Gebe neue Daten ein (Lösche Auslösung)
os os
W os
tûDEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.
186 0095 AO
187 0096 54 23
188 '
189 002P
190
191 •
MOV
SII IN2 : CALL
2SIIDL
EQU
PAGE
@no,A
SSTAT $ -SIIDL
15-Oct-79 14:6:47
Wiederherstelle Status Sende Status und Aussprung
6500
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
2 10
211
212
213
PRINTER PROGRAM CA8048/11 version 4.21.57
INCLUDE DM2;INTRF
15-Oct-79
14:6:47
INTRF - Drucker
Prüfe Vermittler im Hauptfluß-Scheduler Benötigte Stapelebenen = 0
Zeitgabe, wenn kein Fehler -
Minimum
4 Zyklen =
= 16,762 usec.
Mittelwert -
16 Zyklen =
= 67,048 usec.
Maximum -
20 Zyklen :
= 83,809 Usec.
Erniedrige Zahler, wenn Riegel in Ausgangsstellung und Zähler nicht bereits Null
0098
FF
INTRF: MOV
A.R7
Schaue auf Fühler-Abbild
0099
37
CPL -
A
Riegel nun vorne = 1
009A
F 2
AB
JB7
MAN4
Aussprung, wenn Riegel vorne
009C
D5
SEL
RB1
Riegel in Ausgangsstellung (HOME)
0Û9D
FA
MOV
A.R2
Schaue auf Zählung
ÛÛ9E
C6
A 2
JZ
JNTR2
Fahre fort, wenn Null nicht Null
ÛÛAÛ
EA
AA
DJNZ
P2,JNTR3
nicht Null; erniedrige, Aussprung, wenn jetzt noch
00A2 C3
Zähler ist Null. Fehler, wenn Vermittler oben und Steuerung außer Betrieb gesetzt. • INTR2; SEL RBO
I
MODEL 6500 PRINTER PROGRAM CAQ04fl/ll version 4.21.57
214
00A3
0A
IN
A, P2
215
0QA4
37
CPL
A
216
00A5
F 2
AB
JB7
MAN4 .
217
00A7
FF
MOV
A.R7
2 1 B
00AB
S 2
JB6
1 NIT 2
219
00AA
C5
INTR3:
SEL
RB0
220
221
00)3
2INTRF
EQU
$-INTRF
222
223
PAGE
15-Oct-79 14:6:47
Schaue auf Steuerleitung
Strom an Vermittler jetzt = 1
Aussprung, wenn nicht außer Betrieb gesetzt
Schaue erneut auf Fühler-Abbild
Fehler, wenn Vermittler oben
Aussprung
MODEL 6500 PRINTER PROGRAM CA8048/11 4.21.57 15-Oct-79 14:6:47
224
INCLUDE DM2:MAIN2
225
226
MAIN2
- Drucker •
227
Fortsetzung der PEP Drucker-IIauptfluß-Stationärzustandsschleife
228
Benötigte Stapelebenen
= 4
229
\
Zyklen =
2 30
Zeitgabe: 5
20, 952 |isec., wenn keine Aktivität
231
37
Zyklen =
155,048 |isec. auf CTS, wenn RTS ein
232
1
,6 Zyklen =
6,705 usec. auf Ende nach RTS-Fehlprobe
23 3
234
00AB
FD
MAN4 :
MOV
A, R5
Ist eine empfangene Nachricht in Warteschlange?
235
Û0AC
96
B6
JNZ
MAN6
Wenn ja, springe.
23 6
00 AE
56
43
JT1
MANI
Kleine WS, springe, wenn RTS ebenfalls aus.
237
OOBO
34
53
CALL
CRECV
RTS, erhalte Nachricht
238
00B2
54
60
MAN5 :
CALL
IIDR
Analysiere Header
239
00B4
04
43
JMP
MANI
Schleife zurück
240
24 1
OOB6
07
MAN6 :
DEC
A
War mehr als 1 Nachricht in Warteschlange?
24 2
0027
07
MOV
B5 , A
Wiederherstelle WS-Anzeiger
24 3
OOBB
C 6
B 2
JZ
MANS •
WS war 1, analysiere Header
24 4
OÛBA
B 9
9 1
MOV
RI , S 9 ] II
245
0ÛBC
24
AB
JMP
ERROR
Einlaufende Nachricht überlagert
MODEL 6500 PRINTER PROGRAM CAB04B/11 version 4.21,
246
247 0013 ZMAIN2 EQU Ç-MAN4 2 4 B
249 • PAGE
15-Oct-79
14:6:47
o\ o\
N>
W os
> OS
so
-J
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57 15-Oct-79 14:6:47
250-
INCLUDE
DM2 : SWITCH
251
252
:T
Switch
- Drucker
253
• .
Lese Schalter,
prüfe auf steckengebliebene Eingaben.
254
Benötigte Stapelebenen =
0
255
256
Stelle sicher, daß
LED's 1 msec.
lang ausgeschaltet waren, bevor gelesen wird
257
Bei Aussprung ist RB1 gewählt
258
A
= Statusäquivalent der Schalter
259
Zeitgabe
= 27 Zyklen einschließlich Aufruf = 113,14 usec., wenn keine Wartezeit.
260
261
00BE
16
C2
SWITCH :
JTP
SWIT1
Springe, wenn Zeitgebermarke gesetzt ist
262
OOCO
04
JMP
SWITCH
Nicht gesetzt, warte
263
\
264
00C2
08
SWIT1
INS
A, BUS
Lese Eingabe
265
00C3
37
CPL
A
Sollte 0 sein nach Vollendung
266
00C4
96
D5
JNZ
SWIT2
Fehler, wenn nicht
267
268
00C6
9A
DP
ANL
P2 . H 0DFII
Schalte Schalter ein
269
ÛÛC8
08
INS
A, BUS
Lese
270
00C9
8A
20
ORL
P2 , #02011
Schalte Schalter aus
MODEL È500 PRINTER PROGRAM CA804Q/11 version 4.21.57
271
272
00CB
53
FO
ANL
A, JfOFOII
273
OOCD
47
SWAP
A
274
Û0CE
E3
MOVP 3
A, @ A
275
OOCF
B2
D9
JB5
SWIT3
276
00D1
53
CO
ANL
A, ÏOCOII
277
00D3
D5
SEL
RB1
278
Û0D4
83
RET
279
*
280
0005
B9
61
SWIT2:
MOV
RI ,16111
281
00D7
24
AB
JMP
ERROR
282
00D9
B9
62
SWIT3:
MOV
RI,ï 6 2H
283
OODB
24
AB
JMP
ERROR
284
285
001F
ZSWITC
EQU
Ç-SWITCll
28 6
287
PAGE
15-Oct-79
14:6:47
Lösche Bits niedriger Ordnung Bringe Daten in niedrige Ordnung Ubersetze
Fehler, wenn Bit 5 eingeschaltet Lösche 6 Bits niedriger Ordnung
Aussprung
Hängengeblieben Unzulässiges Schaltermuster
vo vo
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57 15-Oct-79 14:6:47
288
INCLUDE DM2:SENSE
289
290
SENSE - Drucker
291
7
Lese die optischen Fühler
292
Benötigte Stapelebenen =
= 2 .
293
.
,294 .
j
Nach Aufruf warte wenigstens
1 msec., bevor Lesen der Schalter, oder "Dark"
295
Bei Aussprung A =
Fühlerlesewerte +
296
R0 =
Adresse des Status
297
R2 =
Ubersetzte Statusinformation
298
Zeitgabe = 64
Zyklen = 268,19 (isec. einschließlich Aufruf
299
300
00DD
9A
BF
SENSE : ANL
P2 , //OBFII
Einschalte Optik
301
00DP
34
hi
CALL
DL1 50
36 Zyklen = 150,86 (isec.
302
177,66 jisec. von
Einschalten ab bis Füliler gelesen
303
00E1
23
F 3
MOV
A.//243
2 msec. Schleife; 1.716 |isec. von Abschalten
304
13 Zählungen =416 Zyklen = 1.743,238 psec.
305
00E3
62
MOV
T.A.
Rücksetze Zeitgeberzähler
306
0QE4
ì 6
E6
JTF
$ + 2.
Rücksetze Marke, wenn ein
307
00E6
oa
INS
A, BUS
Lese Optik
308
00E7
8 A
40
ORL
P2 , //040I1
309
Os Os
U) ON
MODEL '6500 PRINTER PROGRAM CA8Û48/11 version 4 . 21 .57
310
00E9
AB
MOV
RO, A
311
00EA
53
F0
ANL
A, lOFOll
312
00EC
17
V
INC
A
313
00ED
47
SWAP
A
314
00EE
E3
MOVP 3
A,@A
315
00EF
12
F6
JBO
SENSI
316
00F1
AA
MOV
R2 , A
317
00F2
F8
MOV
A, R0
318
00F3
B8
37
MOV
R0,|STATUS
319
00P5
83
RET
320
-
321
00F6
B9
63
SENSI;
MOV
RI , ti 6 3 li
322
00F8
24
AB
JMP
ERROR
323
324
POID
ZSENSE
EQU
Ç-SENSE
325
326
0006
POPREE
EQU
100H-$
327
PAGE
15-OCÜ-79 14:6:47
Rette Lesewerte
Schaue auf 4 Nichtkoder-Bits
Zeiger auf 2-te 16 Bytes - Seite 3
Ubersetze
Bit 0=1 wenn unzulässiges Muster Rette neues Muster fiir Status Wiederherstelle Lesewerte Zeiger auf Status (für später) Aussprung
Unzulässige FUhlerkomblnation
Freier Platz am Ende von Seite 0
6500
328
329
330
33}
332
333
3 3 4
335
336
337
338
339
340
34 1
342
343
344
345
346
347
348
349
350
PROGRAM CAQ048/1 1 version 4.21.57
15-Oct-79
14:6:57
ORG 10011
Seite 1 enthält Kommunikationsroutinen und Fehlerhandhabungsroutinen
INCLUDE DM2 :COUTF
COUTF - Drucker Drucker-Ubertragungsroutine
Benötigte Stapelebenen = 3, wenn kein Fehler
Bei Konflikt, Zeit einschließlich Aufruf von CTS:
Min. = 35,8 Zyklen = 150,019 |isec.
Max. = 37 Zyklen = 155,048 |isec.
Arbeitet in RB0 ; A,R0,R1,R2 zerstört, R5 abgeändert R1 - Adresse ^1 R2 - Bytezähler Bei Normalaussprung: R2 = 0
R1 zeigt auf letztes Byte R0 = 0
A = Abfall
R5 = Zahl empfangener Nachrichten in Warteschlange
Os Os
6500
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
3 6 6
367
3 68
369
370
371
372
PRINTER PROGRAM CA8040/11 version 4.21.57
15-Oct-79 14:6:57
©\
ON (s>
-fit W ON
0100
1D
COUT1:
INC
R5
RTS, Erhöhe'Q (Warteschlange)
0101
34
53
CALL
CRECV
Eingabe Nachricht
0103
46
00
COUT:
JANT1
COUT1
Eintritt - Springe, wenn RTS ein (T1 = 14,248 usec. max.
0105
:9A
EF
ANL
P2, B0EFH
Ausgabe RTS
0197
B0
FC
MOV
R0, 11252
Sperrzeit für 23,24 msec. (T13)
0109
34
94
COUT2:
CALL
DELIO
Warte 92,19 }xsec,. (Schleifenzeit)
0 1 OB
4 6
15
JNT1
COUT 4
Springe, wenn CTS ein
0 1 OD
E8
09
DJNZ
R0 . COUT'2
Versuche nochmals, wenn nicht Zeit vorbei
0 1 0F
B9
51
MOV
R1 , *5111
011 1
24
AB
JMP
ERROR
Zeit vorbei, verhängnisvoller Fehler
0113 0115 0117
0119 011A 011C 01 1D 011F
0120 0122 0124
34 47 34 93 56 87
19
34 9A
FI
B8 08 97
8 A 10 34 9Q 34 9E
COUT3 COUT4
COUT5
CALL
CALL
JT1
INC
CALL
MOV •
MOV
CLR
ORL
CALL
CALL
TESTI DELI 9 .CEROR RI
DELI 2 A, @R1 R0, SO C
P2, non
DELI 1 DEL8
nicht letztes Byte, Ausgate Zwischenstopp, prüfe 8-tes Bit-Echo wenn erstes Byte,, T4 = 171,79 usec; übergehe nächste 3 Könnentar< Prüfe Zwischenstopp-Bitecho Zeige auf nächstes Byte T5 = 1.135,619 |isec.
Erhalte nächstes Byte Zählung für 8 Bits Setze Ubertrag auf Startbit-Echo Ausgebe "Start"-Kante
► o
MODEL 65ÛÛ PRINTER PROGRAM CA8040/11 version 4.21.57
373
0126
12
3f
jbo cout7
374
0128
3 4
43
call testo
375
01 2a
67
cout6:
rrc a
376
012b e8
24
djnz r0,cout5
377
0120
: 34
9e
call delo
378
0 1 2 f
■ ea
13
djnz r2,cout3
379
0131
34
43
call testo
380
0133-
34
95
call deli 7
381
•0135 .
46
87
jnt1
ceror
38 2
0137
9 a ef
anl p2 . ï0efh
383
0139
34
a3
call •
dl300
384
' 013b
8 a
10
orl p2, non
385
01 3 d
24
a5
jmp dl225
386
387
013f
34
47
cout7
call
<■ testi
388
0141
24
2 a
jmp cout6
389
390
0143
8 a
10
testo :
orl p2 , s 1011
391
0145
24
49
jmp testi1
392
393
0147
9 a ef '
testi :
anl p2 , u oefii
394
0149
56
4 e testi 1 :
jt1
coutû
15-Oct-79 14:6:57 g w
Springe, wenn nächstes Bit 1'ist Ausgebe 0 und prüfe vorheriges Echo Bringe laufendes Bit nach C (Ubertrag), nächstes Bit nach B0 Schleife, wenn 8 Bits nicht erledigt
Springe, wenn nicht letztes Byte Letztes Byte, Ausgebe DOM Stopp-Bit, prüfe 8-tes Bit-Echo
Prüfe EOM-Stoppbit-Echo Schalte "Fehlerfrei"-Impuls ein T7 = 310,09 [isec.
Schalte "Fehlerfrei"-Impuls aus Aussprung
Ausgebe 1 und prüfe vorheriges Echo Rückkehr zur Schleife (LOOP)
Ausgebe Daten Null Ausgebe Daten 1
Springe, wenn letztes Echo = 0
9\
o\ w
ON
MODIÌL 6500 PRINTER PROGRAM CA8048/11 version 4.21
395
396
397
398
399
400
401
402
403
014B E6 87 JNC CEROR
014D 0 3 . RET
014E F 6 8 7 COUTB: JC CEROR
0150 83 RET
0051 ZCOUT EQU Ç-COUT1
PAGE
v
57 15-Oct-79 14:6:47
Echo = 1; Fehler, wenn Ubertrag = 0
Echo = 0; Fehler, wenn Ubertrag = 1
!►
I
I
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57 15-Oct-79 14:6:47 ®
404 INCLUDE DM2:CRECVF
405
406 CRECVF - Drucker
407 66 (Dezimal) Bytes
408
409 Aufruf CRECV - Unterroutine zum Empfang von Kommunikationseingaben 4 10 Benötigte Stapelebenen = 2, wenn kein Fehler
411
412 Zeitgabe, einschließlich Aufruf, bis CTS :
413 Min. = 30,8 Zyklen = 129,067 usec.
414 Max. = 32 Zyklen = 134,095 qsec.
415
4 16 • Arbeitet in RB0 oder RB1
4 17 A & R0 sind zerstört
4 j g Gibt variable Anzahl von Bytes ein, beginnend bei RAM-Speicherplatz "INH"
419 Eingabepuffer läuft von INH bis RAM-Byte 63 {3FlI)
4 20 Ninrnt an, daß RTS ein bei Eintritt; auch alle Fühler außer Betrieb gesetzt
42 1 Achtung: Keine T13 Sperrzeit, Vermittler ist stattdessen verwendet
4 2 2 Fl = 1, wenn Vermittler bei Eintritt in normalem Aussprung in Betrieb gesetzt war
4 23 (P2B7=0), A enthält letztes enpfangenes Byte,
4 24 R0 zeigt auf letztes enpfangenes Byte (in RAM)
425
426 Aufruf CRECW - alternativer Eintrittspunkt
6500
427
428
429
430
431
432
433
434
435
'4 3 6
437
438
.439
440
441
442
443
444
445
4 4 ß
447
448
PRINTER PROGRAM CA804Û/11 version 4.21.57 15-Oct-79 14:6:47
Warte auf RTS vor Empfang von Nachricht to
«k.
w ©\
0151
0153
0154
0155
0157
0158
0 1 5 A 015C 015E
01 5 F 0161
0 ì 6 3 0165
0167
0168
0169
01 6B 0 1 60 0 1 6 E 016F
56
51
CRECW:
JT1
$
CRECV:
IN
A , P2 '
A5
CLR
PI
F 2
58-
JB7
CREV1
B3
CPL
FI
B8
3B
CREV1:
MOV
R0, « (INH- 1)
34
93
CALL •
DELI 9
23
EF
CREV2:
MOV
A, fi 0EFH
3 A
OUTL
P2, A
4 6
5F
JNT1
$
76
65
JF1
CREV3
24
67
JMP
CREV4
9A
7F
CREV3:
ANL
P2,ï 7FH
18
CREV4;
INC
R0
F8
MOV
A, R0
D2
8F
JBß
CREV8
8 A
10
ORL
P2,Ï10H
97
CLR
C
08
INS
A, BUS
23
80
MOV
A, fi 0 01!
Warte auf RTS
Leser-Vermittlerkontrollstatus
Setze Marke auf "Außer Betrieb setzen"
Wenn Bit 7 = 1, lass-e Marke "außer Betrieb geset:
Wenn Bit 7=0, setze Marke auf "Betrieb"
Zeige auf Eingabepuffer-1
T3 = 127,377 usec. min,
fallen
Ausgebe CTS oder Zwischenstopp-Bitecho, lasse Vermittler
Warte auf Vorderflanke des Startimpulses Wenn Marke = 1, setze Maschine in Betrieb Marke = 0, lasse Maschine außer Betrieb Setze Maschine in Betrieb Bewege Pufferzeiger
Prüfe, ob Zeiger über Pufferende hinweg Fehler - zu viele Bytes Echogabe "Start" in Bit-Mitte Lösche einlaufendes Datenbit
Doppeltes NOP (keine Operation) zum Ausgleich Anfangssetzung Akkumulator
>
N> O ®\
>
ts»
MODEL 6500 PRINTER PROGRAM CA8040/11 version 4.21.57
15-Oct-79
14:6:47
449
0171
34
96
CREV5:
CALL
DEL16
450
0173
56
8B
JT1
CREV7
Springe, wenn Daten = 0
451
0175
9A
EF
ANL
P2,80EFU
Gebe Echo "1"
452
0177
A7
CPL
C
Setze einlaufendes Bit
453
0 17 0
00
NOP
(Ausgleich)
454
0179
67
CREV6
RRC
A
Bewege neue Daten zum Akkumulator
4 5 5
017A
E6
71
JNC
CREV5
Springe, wenn Byte nicht erledigt
45 6
017C
AO
MOV
@ R0 , A
Erledigt, rette Byte
457
017D
34
98
CALL
DELI 4
450
.0 1 7 F
46
5C
JNT1
CREV2
Springe, wenn Stoppbit nicht EOM ist
459
0101
8 A
10
ORL
P2, ï1 OH
Gebe Echo EOM Stopp
4 6 0
0103
34
A3
CALL
DL300
T8 = 1 .291,919 usec.
461 4 6 2
0185
4 6
A3
JNT1
DL300
Springe, wenn Impuls "fehlerfrei", T15 = 1.591,116
463
0187
74
BE
CEROR:
CALL
FREEZE
Set2e zusätzlichen Vermittler
4 6 4"
0189
JMP
?
Falle
465
4 6 6
0188
8 A
10
CREV7:
ORL ■
P2 , non
Gebe Echo: Daten 0
467
0 ì 8D ■
24
79
JMP
CREV6
4 6 8
4 69
01 BF
B 9
54
CREVB:
MOV
RI,S 54H
4 70
0191'
24
AB
JMP
ERROR
Mehr als Pufferkapazität empfangen
©s Os tv»
w
©\
MODEL '6500 PRINTER PROGRAM CAÜ04B/11 version 4,21.57
471
472 0042 2CRECV EQU Ç-CRECW • 473
4 74 PAGE
-Oct-79
14:6:47
ON
o\
N>
M ON
>
O OC
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57
include dm2:delay
DELAY - Drucker
15-Oct-79
14:6:47
► O
vo
475
476
477
478
479
480
Kleine Zeitgabeverzögerungen - 16 (dezimale) Bytes
Verzögerungen schließen Aufruf ein, und läge an 3,58 MHZ. TV-Kristall an
481
Benötigte Stapelebener
= 0
482
483
0193
00
DELI 9 :
NOP
79
,62
lisec
484
0194
00
DELI 8 :
NOP
75
,43
psec
485
0195
00
DELI 7 :
NOP
71
,24
psec
486
0196
00
DELI 6 :
NOP
67
,05
psec
487
0197
00
DELI 5 :
NOP
62
,86
psec
488
0198
00
DELI 4 :
NOP
58
,67
psec
489
0199
00
DELI 3 :
NOP v
54
,48
psec
490
019A
00
DELI 2 :
NOP
50
,29
psec
491
019B
00
DELI 1 :
NOP
46
,09
psec
492
01 9C
00
DELI 0
NOP
41
,90
psec
493
019D
00
DEL9 :
NOP
37
,71
psec
494
019E
00
DEL8 :
NOP
33
,52
psec
495
01 9F
00
DEL7 :
NOP
29
,33
psec
496
0 1 A0
00
DEL6 :
NOP
25
,14 •
psec o\
ON
ON Ov w
ON
6500
PRINTER PROGRAM CA804
8/11 version 4.21.
57
15-Oct-79
14:6:47
497
' 01A1
00
DEL5 :
NOP
20,95 usec.
498
01A2
83
DEL4 s
RET
16,76 psec.
499
500
Mittlere Zeitgabeverzögerungen
- 8 (dezima le) Bytes
501
Verzögerungen enthalten
Aufruf,
, und lege a n 3,50 .MHZ
502
Benötigte Stapelebenen =
= V
503
504
0 1 A3
34 •
94
DL300
CALL
DELI 8
301,71
psec. (72
Zyklen)
505
0 1À 5 .
34
94
DL225
CALL
DELI 8
226 ,29
'psec. (54
Zyklen)
506
01A7
34 .
94
DL150
CALL
DELI 8
150 ,86
.psec. (36
Zyklen)
507
01A9
24
96
JMP
DELI 6
C3
50 9 S 1 A
0018
ZDELAY
EQU
V
Ç-DEL19
J 4 U
51!
PAGE
>
MODEL 6500 PRINTER PROGRAM CA0O48/11 version 4.21.57 15-Oct~79 14:6:47 E
512
INCLUDE
DM2 :ERRORF
513
514
ERRORF
- Drucker
'
515
Handhabungsroutine für verhängnisvolle Fehler
516
Kann von RB0 oder RB1 aus eingetreten werden
517
Fehlereingabe -
Expliziter
Kode nach RI gegeben
518
519
0 1AB
ÛA
FF
ERROR:
ORL
P2,Ï0FFH
Abschalte Vermittler, LEDs, Kommunikation, usw
520
0 1 AD
89
FF
ORL
PI . S0FFFI
Schalte Motore ab
521
522
0 1A F
B0
37
MOV
R0.ISTATUS
523
0 1B 1
FO
MOV
A , @R0
-
524
01B2
1 2
B9
JBO
ERRI
Springe, wenn Fehlerbit schon gesetzt
525
0 1 B 4.
10
INC
Nicht gesetzt, setze Fehlerbit
5 26
01B5
B 8
39
MOV
R0,S FESTA
527
0 1 B 7
F9
MOV
A, RI
Fehlerkode in Akkumulator
5 2 B
0 1 B 8
AO
MOV
@ R0 , A
Bringe Kode in verhängnisvollen Fehlerstatus
529
530
0 1 B 9
27
ERRI :
CLR
A
53 1
0 1 DA
D7
MOV
PSW, A
Lösche und neueinstelle PSW
532
533
01BB'
AB
MOV
R0, A
Konm.-Ubertragungsleitung für mindestens 2.338 psec.
dunkel
W 0\
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57
534
01BC
E8
BC
DJNZ
R0,?
535
536
0 1 DE
17
INC
A
537 •
0 1 BF
5.4
32
CALL
DSABL
538
539
01C1
54
23
CALL
SSTAT
540
01C3
•34
51
CALL
CRECW
541
01C5
54
1B
CALL
DI AG
542
01C7
24
87
JMP
CEROR
543
544
001 E
ZERROR EQU
Ç-ERROR
545
546
PAGE
I
15-Octr79 14:6:47
(Ref. T8 = 1.340,625 psec. max.)
Anschalte Bit 0 des Anzeigestatus Ubertrage Status
Warte auf Aufforderung und empfange Nachricht
Verarbeite Nachricht
Einfriere (FREEZE) und Falle (TRAP)
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57
15-Oct-79
14:6:47
>
i-i <jì
547
INCLUDE DM2: ICOMON
548
549
ICOMON
- Drucker
550
Zentralkode durch IPOST
aufgerufen
551
Benötigte Stapelebenen
= 3
552
;
553
01C9
BA
09
ICOMON;
MOV
R2, HO
Bewege Rad 9
Stellungen auf Null
554
0 1CB
74
32
CALL
DMOVE
555
0 ICD
1A
INC
R2
Bewege einen
Satz nach unten
556
0 ICE
74
3A
CALL
BMOVE
557
01 DO
85
CLR
F0
Zeiger "UP"
558
01D1
83
RET
559
560
0009
ZICOMN
EQU
$-ICOMON
561.
562
002E
P1PREE
EQU
200H-$
Freier Raum ,
am Ende von Seite 1
563
PAGE
es es m es i
MODEL 6500 PRINTER PROGRAM CA8O40/11 version 4.21.57
Os o\ w
Jft M
o\
15-Oct-79
14:6:47
564
565
566
567
568
569
570
571 572-573
0200
ORG 200H
Seite 2 enthält: Naclirichten-Analysator & Hochebenen-Druckräder-Routinen
INCLUDE DM2 :HDRF
HDRF - Drucker Header-Analysator Benötigte Stapelebenen = 3
574
0200
B8
3C
HDR :
MOV
R0 , » IN1I
Zeige
R0 auf Eingabeheader
575
0202
F0
MOV
A, @ R@
576
0203
D3
Cl
XRL
A, II OC 1H
577
0205
C6
45
JZ
SPOST .
Wähle
Portogebühr
578
0207
F0
MOV
A, @R@
579
0208
D3
50
XRL '
A, M 05011
580
020A
C6
23
JZ
S ST AT
Sende
Status
58 1
0 2 OC
PO
MOV
A , @R@
582
0 2 OD
D3 4
i 1
XRL
S,8 0 4 1H
583
020F
C6
29
JZ
ENPR
Setze
Drucker betriebsbereit
584
021 1
F0
MOV
A , @R@
585
0212
D3
42
XRL
A, 8 04 211
> m
!
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57 15-Oct-79 14:6:47 .
0 JZ DISPR Setze Drucker außer Betriebsbereitschaft MOV A, @R@
5 XRL A, 104 511
? JZ ACCTC Buchung vollständig (Betriebsbereitschaft)
Routine "Sende Diagnosestatus"
? DIAG: MOV RI, I (DSTAH-1 ) Zeige auf Header-1.
1 JMP SENDl Sende 2 Bytes & Aussprung
Buchung vollständig ? ACCTC: MOV A,I0DFH Lösche Bit 5 in Außerbetriebsetzungsstatus
ì JMP ENABL Setze in Betrieb
Sende Statusnachricht Benötigte Stapelebenen = 3
Zeitgabe einschließlich Aufruf (SSTAT):
6 Zyklen = 25,143 psec. zum Aufruf COUT 43 Zyklen =180,190 psec. bis CTS
SSTAT: MOV R 2 , I ( ST ATM -1 ) RI = Headeradresse- 1
SENDl: MOV R2,!f2 R2 = Sende 2 Bytes
>
l-i Ul
586
0214
c6
587
0216
fo
58 8
0217
d3
509
0219
c 6
590
591
592
0 2 1 b b9
593
0 2 1 d
44
594
595
596
02 1 F
23
597
022 1
44
598
599
600
601
602
603
604
605
606
02 2 3
B9
607
0225
BA
Os Os M
W
Os
MODEL 6500 PRINTER PROGRAM CA8040/11 version 4.2
608 0227 24 03 JMP COUT
609
610 0029 > ZHDR EQU Ç-HDR
611
612 PAGE
es
OS
ju w es
15-Oct-79 14:6 :47,
Ubertrage und Aussprung
>
M M
ON
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57
INCLUDE DM2 :ENABLF
ENABLE - Drucker Banötigte Stapelebenen = 0
Kann von RB0 oder RB1 aus
6)3
614
615
616
6)7
'618
619
620
0229
23
F 7
621
02 2B
B8
3 B
622
022D
30
623
022E
44
35
624
625
0230
23
08
626
0232
B8
3 B
627
0234
40
628
629
0235
A0
630
0236
C6
42
631
0238
OA
632
0239
F2
3 F
633
0 2 3 B
B 3
1A
634
023D
B0
1 E
ENPR : ENABL:
MOV MOV ANL JMP
DISPR: MOV DISABL: MOV ORL
DSAB1 MOV JZ IN JB7 MOV MOV
A, V 0 P 711
RO,KDSSTA A, @R@ DSÀB1
A, Ï00ÛII RO,ÏDSSTA v A,@R@
@R@ , A ENAB1 A, P2 DSAB2 RO,«IAH @R<3, ï 3 0
15-Oct-79 14:6:47
ifgerufen werden
Lösche Bit 3 in Außerbetriebsetzungsstatus-Wort Zeiger auf Außerbetriebsetzungsstatus Abschalte erforderliche Bits Fahre fort
Setze Bit 3 in Außerbetriebsetzungsstatus-Wort Zeiger auf Außerbetriebsetzungsstatus Anschalte erforderliche Bits
Wiederherstelle Außerbetriebsetzungsstatus iSpringe, wenn jetzt gelöscht
Ist er gegenwärtig außer Betrieb gesetzt?
Springe, wenn der Fall
Zeiger auf RB1-R2
Setze Niederzähler
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.
635
636
637 £ 3 B
639
640
641
642
643
023F 8A 80 DSAB2: ORL 02 4 1 8 3 RET
024 2 9A 7 F ENABl ANL 0244 83 RET
00 IC 2ENABL EQU
PAGE
P2 , S 8011
P2 . Ï07F1I
Ç-ENPR
15-Oct-79 14:6:47
Nicht gelöst, setze außer Betrieb
Setze in Betrieb
>
M Hi ve
MODEL 6500 PRINTER PROGRAM CA004Q/11 version 4.21.57 '
15-Oct-79
14:6:47
644
INCLUDE
DM2 : SPOST
645
646
SPOST
Drucker
6'4 7
Portogebührenwahl - Unterroutine
648
Benötigte Stapelebenen = 3
649
650
0245
54
BC
SPOST:
CALL
DELT
Berechne Bewegungen
651
0247
1 9
SPOST :
INC
R1
Zeige auf nächstes DELTA
652
0248
Fl
MOV
A, @R1
Lese DELTA für diesen Satz
653
02 49
06
63
JNZ
SPOS4
Satzbewegung erforderlich?
654
0 2 4 B
EE
47
DJNZ
R6,SPOSI
5 Räder erledigt?
655
0 2 4 D
BD
00
SPOS2:
MOV
R5, DO
Speichere QR
656
0 2 4 F
8 A
40
ORL
P2 , #04011
Abschalte Optik
657
025 1
89
FF
ORL
PI ( S0FFII
Abschalte Motore
658
0253
FF
MOV
A.R7
Schaue auf Fühler
659
0254
53
0F
ANL
A, S0FII
Schaue auf Kodierer
660
0256
E 3
MOVP3
A , @ A
Zulässige oder Ausgangsstellung (HOME)?
66 1
0257
72
5 D
JB 3
S POS 3
Springe, wenn in Ordnung
662
0259
B 9
92
MOV
RI , ï 9211
663
0 2 5 B
24
AB
JMP
ERROR
Unzulässige Fühler für Ausgangsstellung
6 6 4
665
0 2 5 D
E 9
1 F
S POS 3
MOV
RI , # (POSTH-
1) Zeige auf "Portogebühr ist"-Header-1
ON
o\
4^ W on
I
MODEL 6500 PRINTER PROGRAM CA8040/11 version 4.21
666
0 2 5 P
BA
04
MOV
R2, 14
667
0261
24
03
JMP
COUT
668
V
669
0263
BA
02
S POS 4 :
MOV
R2 , #2
670
0265
74
32
CALL
DMOVE
671
0267
FE
MOV
A, R6
672
0268
AA
MOV
R2,A
673
0269
85
CLR .
F0
674
026A
74
3 A
CALL
BMOVE
675
026C
Fl
SPOS5:
MOV
A, @R1
676
026D
C6
7E
JZ
S POS 8
677
026F
95
CPL
PO
678
0270
74
3 A
CALL
BMOVE
679
0272
Fl
MOV
A, @R1
680 '
0273
F2
78
JB7
SPOS6
681
0275
85
CLR
F0
682
0276
44
7A
JMP
SPOS7
683
0278
37
SPOS6:
CPL
A
684
0279
17
INC
A
685
027A
AA
SPOS7 :
MOV
R2, A
606
0 2 7B
74
32
CALL
DMOVE
687
Û27D
85
C.LR
F0
57 15-Oct-79 14:6:47
Sende 4 Dytes
Ubertrage neue Einstellung und Aussprung
2 nach unten zur Entsperrung von Satzwahl Bewege Ziffernwähler
Bewege Satzwähler zu höchster Stellung
Satz "nach oben"
Bewege Satzwähler
Erhalte gegenwärtiges Satz-DELTA
Springe, wenn 0
Zeige Satzwähler "nach unten"
Bewege Satzwähler
Erhalte wieder gegenwärtiges DELTA Springe, wenn negativ Positiv, zeige "nach oben"
Speichere und bewege Mache DELTA positiv
Bringe Abstand nach R2 Bewege Ziffernwähler
MODEL 6 500 PRINTER PROGRAM CAB04Û/11 version 4.21.57
688
027E
1A
SPOS8 :
INC
R2
689
027F
19
INC '
R1
690
0280
EE
6 C
DJNZ
R6 , SPOS5
691
0282
95
CPL
PO ■ '
692
0283
>74
3 A
CALL
BMOVE
693
0285
BA
02
IPOSB:
MOV
R2, S 2
694
0287
85
CLR
F0
695
0288
74
3 2'
CALL
DMOVE
696
028A
44
4 D
JMP
S POS 2
697
698
0047
ZSPOST
EQU
Ç-SPOST
699
700
PAGE
v
15-Oct-79 14:6:47
Bewege Erhöhung 1 Satz Bewege Zeiger 1 Satz Alle Sätze erledigt?
Bewege Satz R2 verbleibende Stellung Sperre Wähler Zeiger nach oben
Ausgang
MODEL 6500 PRINTER PROGRAM CA8Û48/11 version 4.2.57
15-Oct-79
o\ o\
4*. w
9S
14:6:47
701
INCLUDE
DM2 :IPOS
702
703
IPOST
- Drucker
704
Setze
Druckräder anfänglich auf Null
705
Benötigte Stapelebenen =
4
706
707
028C
54
PO
IPOST:
CALL
CLRB
Setze Puffer für "alte Portogebühr" auf
708
028E
54
BC
CALL
DE LT
Unpack Auswahl
70 9
0290
54
FO
CALL
CLRB
Lösche Portogebührenpuffer wieder
710
0292
74
20
CALL
DSEEK
Entsperre Satzwähler
711
0294
FF
MOV
A , R7
Prüfe, ob Satzwähler nicht HOME
712
0295
53
OC
ANL
A,S OCH
Prüfe Fühlerbits 2 und 3 auf Null
7 1 3
0297
96
AF
JNZ
ALLO
V
Springe, wenn nicht in Ausgangsstellung
714
0299
Fl
MOV
A , @R1
Erhalte F NIBBLE
715
Ò29A
72
A F
JB3
ALLO
Springe, wenn Portogebühr unbekannt
716
029C
BA
05
MOV ■
R2, «5
Portogebühr bekannt, bewege nach Satz 5
717
029E
74
3A
CALL
BMOVE
718 '
0 2 AO
19
IPOSTL:
; INC
RI
Zeiger auf DELTA für diesen Satz
719
0 2 A1
23
F6
MOV
A, H0F6II
Komplement von 9.
720
0 2 A 3
61
ADD
A , @RI
Ziehe gegenwärtige Stellung ab
721
02A4
37
CPL
A
722
02A5
AA
MOV
R2 , A
Bewege aufwärts zu Stellung 9
•lODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57
723
02a6
74
32
call dmove
724
02a8
95
cpl f0
725
02a9
34
c9
call icomon
726
02ab ee ao
djnz r6,ipostl
727
0 2 ad
>4 4
85
jmp iposb
728
7 29
02af
1 a
allo ;
inc r2
730
02bo
74
57
call bmovx
731
02b2
c 6
ap
jz allo
732
0284
74
20
all1 :
call dseek •
733
02b6
34
c9
call icomon
734
.0 2b8
ee b 4
djnz r6, all1
735
02ba
44
85
jmp iposb
736
737
0030
2ipost equ
, $-1 post
738
739
page
15-Oct-7 9 14:6:47
Zeige "nach unten"
Bewege Rad nach Null und Satz nach unten um
Ist Satz 0?
Ja, mache fertig.
Suche Bank 5
Suche 9 auf diesem Rad
Bewege Rad auf Null und Satz nach unten um Ist Satz Null?
Ja, mache fertig
6500
740
741
742
743
744
745
746
74 7
748
749
750
751
752
753
754
755
756
757
758
759
760
7 6 L
PRINTER PROGRAM CAB048/11 version 4.21.57 15-Oct-79 14:6:47
os
OS «t
Os
INCLUDE DM2-.DELT DELT - Drucker
; Erstelle Räderänderungen•(DELTAS) im RAM; bringe Eingabe zum Portogebührenpuffer
Benötigte Stapelebenen = 1
0 2BC 9A BF DELT.: ANL P2,K0BFH Schalte Fühler ein
Û2BE 54 30 CALL DISPR . Setze Drucker außer Betriebsbereitschaft
0 2C0 B8 21 MOV R0,ïPOSTB
02C2 B9 3 D MOV Rl.SINB
02C4 BA 03 MOV R2 ,S 3
02C6 D5 SEL RB1
02C7 B8 30 MOV RÛ, 8DELTA
02C9 C5 SEL RB0 •
02CA PO DELTI: MOV A,@R0
02CB 53 F0 ANL A,B0F0II
02CD 47 SWAP A
02CE AB MOV R3,A
02CF PI MOV A,@ R1
02D0 47 SWAP A
02D1 54 E6 CALL COMON
Zeiger auf alte Portogebühr Zeiger auf neue Portogebühr Bytezähler
Zeiger auf Änderungspuffer
Erhalte altes Byte
Rette NIBBLE hoher Ordnung
Rechtsanpassung
Rette
Erhalte neues Byte
Bringe hohe Ordnung nach rechts
► -b.
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57
762
0203
F0
MOV
763
0204
53
0F
ANL
764
02D6 .
AB
MOV
765
02D7 ;
Fl
MOV
766
G2D8
A0
MOV
767
02D9
34
E6
CALL
768
02DB
18
INC
769
Û2DC
19
INC
770
02DD
EA
CA
DJNZ
771
772
Weiterer von
773
02DF
85
CLR
774
02EQ
95
CPL
775 .
02E1
B9
30
MOV
776
02E3
BE
05
MOV
777
02E5
83
RET
778
779
00 2 A
Z DELT EQU
780
78 1
PAGE
A, 0RO A,N 0 PU R3, A A, @R1 hRO, A COMON RO RI
R2, DELT 1
FO FO
RI , ï DELTA R6, H5
$ -D E LT
15-Oct-79 14:6:47
Erhalte altes Byte
Rette NIBBLE niedriger Ordnung
Rette
Erhalte neues Byte
Bringe in alten Portogebührenpuffer
Bewege Pufferzeiger
Alle 3 Bytes erledigt?
verwendeter Kode Zeige "nach unten" auf Entsperrung
Voreinstelle DELTA-Zeiger Voreinstelle Satzzeiger
ON
on
4^ W on
KÛDEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57
15-Oct-79
14:6:47
782
INCLUDE
DM2 : COMO
783
784
COMON - Drucker
785
Durch DELT aufgerufener
Gemeinschaftskode
786
Benötigte Stapelebenen =
= 0
787
Zeitgabe einschließlich
Aufruf = 13 Zyklen = 54,476 psec.
788
789
02E6.
53 0F
COMON: ANL
A.H 0 FU
Behalte nur rechten NIBBLE
790
. 02E8
37
CPL
A
791
02E9
6 B
ADD
A. R3
Subtrahiere alten von neuem
792
02EA
37
CPL
A-
793
' 02EB
D5
SEL
Rtìl
794
02EC
A0
MOV
@R0, A
Speichere in DELTA-Puffer.
795
02ED
18
INC
R0
Bewege Zeiger
796
02EE
C5
SEL
RBO
797
02EF
83
RET
798
.
799
000A
ZCOMON EQU
?-COMON
800
801
PAGE
>
S> on
6500
802
803
804
805
806
807
808
809
810
811
812
8 13
8 14
8 15
8 16
817
8 18
819
820
821
822
823
PRINTER PROGRAM CA8048/11 version 4.21.57
15-Oct-79 14:6:47
INCLUDE DM2 :CLRB
CLRB - Drucker
Lösche Puffer "Portogebühr ist"
Benötigte Stapelebenen = 0
Zeitgabe einschließlich Aufruf = 15 Zyklen = 62,857 usec.
Û2F0 B8 20 CLRB: MOV RO,#POSTH
02F2 B0 01 MOV SR0,J081H
02F4 27 CLR A
02F5 18 INC R0
02F6 A0 MOV @R0,A
02F7 18 INC ' R0
02FB A0 MOV ljR0,A
02F9 18 INC R0
02FA A0 MOV ljR0,A
02FB 83 RET
Zeiger auf "Portogebühr ist"-Puffer
Einsetze Header
Null in Puffer
Zeiger auf nächstes Byte
Lösche Byte
Etc.
000C
2CLRB EQU
5-CLRB
0004
P 2 FREE EQU PAGE
30011-$
Freier Raum am Ende von Seite 2
: « ;
Os on
J&. W on
*.ODLL o 500 PRINTER PROGRAM CA8O4 0/11 version 4.21; 57
15-Oct-79
14:6:47
824
825
826 S 27
828
829
830
831
832
833
834
835 <336
837
838
839
840 84 1
842
843 84 4 845
0300"
ORG 30011
Seite 3 enthält Ubersetzungstabellen & Niedrigebenen-Druckräder-Routinen INCLUDE DM2:
ENTBL
Drucker
Fühlerübersetzungstabelle - 3-2-0-1 anwachsende (Bits 0-1) Ebenso:
(Änderung +1)
BIT BIT BJT BIT BIT BIT BIT
2 - 1 = Falsche Kodiereränderung (zu schnell bewegt?)
3 - 0 = Falsches Ausgangsstellungs-Bitmuster
3 - 1 = Gültig, Ausgangsstellung verändert
4 - 1 = Gültig, Riegel oder Vermittler verändert
5 - 1 = Schalterfehler
6 - 1 = Datumsgebertür offen
7 - 1 = Zugangsberechtigung
Alt Neu Ergebnis
0300 AI
0301 AA
ENTBL:
DB DB
10100001B 1010101 OB
00 00 0 00 01 +1
> 00
MODEL 6500 PRINTER PROGRAM CAB048/11 version 4
8-16
0302
DB
84 7
0303
87
DB
848
0304
F0
DB
849
0305r
El
DB '
850
0306;
C7
DB
851
0307
C 2
DB
852
0308
32
DB
853
0309
07
DB
854
030A
2 1
DB
855
030B
00
DB
856
0 3 0C
57
DB
857
0 3 0D
40
DB
858
030E
42
DB
859
030F
4 1
v DB
860
861
0010
ZENTBL EQU
86 2
863
PAGE
.57 15-Oct-79
14:6:47
10101000B
00
10
-1
100001 IIB
00
11
Fehler
11110000B
01
00
-1
1 1 1000Q1B
01
01
0
11000 111B
01
10
Fehler
11000010B
.01
11
+ 1
00110010B
10
00
+ 1
000001 IIB
10
01
Fehler
OOIOOOOIB
10
10
0
OOOOOOOOB
10
11
-1
010101 IIB
11
00
Fehler
OlOOOOOOB
11
01
-1
01000010B
11
10
+ 1
Ol000001B
11
1 1
0
Ç-ENTBL
ON on k)
W on
6500
664
665
666
667
666
869
870
871
872
873
8 74
875
876
877
878
879
880
881
882
883
68 4
885
PRINTER PROGRAM CA0048/11 version 4.21.57 15-Oct-79 14:6:47
INCLUDE DM2 :TBL2
TBL2 - Drucker
Fühlergültigkeitsbewertung und Ubersetzungstabelle
BIT
0
- 1 =
Fehler
BIT
1
-
nicht benutzt
*
B I T ■
2
- 1 =
Vermittler oben
(Betriebsbereitschaft)
B 1T
3
-
Auslösung (immer Null)
BIT
4
- 1 =
Ausgangsstellung //2
BIT
5
- 1 =
Riegel vorne
BIT
6
-
nicht benutzt
BIT
7
- "
nicht benutzt
0310
ORG
31011
.
0310
21
TBL2
DB
00100001B
0000
Fehler
- Beide HOME-Fühler an
0311
10
DB
00010000B
0001
HOME 2
- außer Betrieb, Riegel teilweise vor
0312
00
DB
00Û000Q0D
0010
HOME 1
- außer Betrieb, Riegel teilweise vor
0313
31
DB
001 10001B
001 1
Fehler
- Vermittler gesetzt, Trommel nicht HOME
0314
25
DB
00100101B
0100
Fehler
- beide HOME-Fühler ein
0315
34
DB
00110100B
0101
HOME 2
- Riegel vorne
>
MODEL 6500 PRINTER PROGRAM CA0048/1 1 vers ion'4.21.57
B 8 6
0316
24
DB
OOlOOlOOB
887
0317
34
DB
00110100B
B 8 8
03 18
01
DB
OÛÛOOOOIB
889
0319
-10
DB
00010000B
890
0 3 1A
00
DB
OOOOOOOOB
891
03 1B
1 1
DB
OOOIOOOIB
892
03 1C
05
DB
OOOOOIOIB
893
03 1D
14
DB
00010100B
894
03 1 E
04
DB
00000100B
895
03 1 F
15
DB
00010101B
896
897
0010
ZTBL2
EQU
Ç-TBL2
898
899
PAGE
v
15-Oct-79 14:6:47
0110
: HOME 1 -
Riegel vorne
Olii
Ausgelöst - in Teilzyklus
1001
Fehler -
beide HOME-Fühler ein
1001
HOME 2 -
außer Betrieb
"1010
HOME 1 -
außer Betrieb
1011
Fehler -
Riegel HOME, Trommel nicht
HOME
1 100
Fehler -
beide HOME-Fühler ein
1101
HOME 2 -
in Betrieb
Ilio
HOME 1 -
in Betrieb
1111
Fehler -
Riegel HOME, Trommel nicht
HOME
on on
W
on
Ó500
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
9 IB
919
9 20
921
PRINTER PROGRAM CAÛ048/11 version 4.21.57 15-Oct-79 14:6:47 •
INCLUDE DM2 :DS
; DSEEK - Drucker
Suche Extremstellung des Ziffernwählers in Richtung F0 Benötigte Stapelebenen = 2 .
FO = 0 bedeutet "oben"
R2 ' muß
l bei
Eintritt
0 sein
Achtung :
Bei
Aussprung ist F0 umgekehrt, R2 und R0 = 0
0320
1A
DSEEK:
INC
R2
Bewege um 1 Ziffer
0321
74
52
CALL
DMOVX
i
0323
1A
DSEEK
INC
R2
Bewege um eine weitere Ziffer
0324
74
52
CALL
DMOVX
0326
C6
23
JZ
DSEK
Wenn erfolgreich, bewege um 1 weitere
0328
95
CPL
F0
Richtungsumkehr
0329
FF
MOV
A, R7
Schaue auf Fühler
0 3 2 A
53
03
ANL
A, II 311
Schaue auf Ziffernwahlfühler
032C
E3
MOVP 3
A , @ A
Ubersetze
032D
72
A5
JB3
P3RET
Aussprung, wenn zulässige Ziffer
032F
1A
INC
R2
R2 = 1 .
MODEL 6500 PRINTER PROGRAM CA0048/11 version 4.21.
922 0330 64 52 JMP DMOVX
923
924 0012 ZDSEEK EQU Ç-DSEEK
925
926 PAGE
>
N>
W W
15-Oct-79 14:6:47
Schrittweise zurück o\ On K)
W OS
0\
os ».
W OS
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57
15-Oct-7 9
14:6:47
927
INCLUDE
DM2: DMOVE2
928
929
DMOVE2
- Drucker
930
Bewege
Satz oder Ziffer
R2
Ziffern in Richtung F0, prüfe auf Fehler
931
F0 = 0
bedeutet
"oben"
,
.932*
Benötigte Stapelebenen =
= 2
933
934.
Achtung:
bei Aussprung ist F0 unverändert, R2 und R0 =0, R3 (Motore) = Abfall
935
936
0332
D5
DMOVE:
SEL
RB1
Anfangssetzung Neuversuchs-Zähler
937
0333
BD
0A
MOV
R5, #10
938
0335
C5
SEL
RB0
939
0336
74
52
CALL
DMOVX
Erstversuch.bei Bewegung (MOVE)
940
0338
64
45
JMP
DM2
94 1
942
033A
D5
BMOVE:
SEL '
RB1
Anfangssetzung Neuversuchs-Zähler
943
033B
BD
06
MOV
R5, #6
944
033D
C5
SEL
RB0
945
033E
74
57
CALL
BMOVX
Erstversuch bei Bewegung (MOVE)
946
0340
64
45
JMP
DM2
947
948
0,3 4 2
C5
DM1 :
SEL
RBO
> IN>
w
«t
MODEL 6500 PRINTER PROGRAM CA004Ö/11 version 4.21.57
949
034 3
74
61
CALL
RENT
950
0345
C6
A5
DM2 :
JZ
P3RET
951
034 7
1 A
INC
R2
952
0348
• D5
SEL
RB1
953
0349
ED
42
DJNZ
R5,DM1 *
954
034B
B9
71
MOV
Rl, #7111
955
0 3 4 D
76
50
J Fl
DM3
956
0 3 4 F
19
INC
Rl
957
0350
24
AB
DM3 :
JMP
ERROR
958
959
0020
ZDMOVE
EQU
$-DMOVE
960
.
961
PAGE
v
15-Oct-79
14:6:47
Wiedereingebe S tuf enprogranun nach PMCNT-Beginn Aussprung, wenn PMCNT = 0
Nicht Null, versuche einen weiteren Schritt
Aber falle heraus, wenn Neuversuche erledigt
Satzbewegungs-Fehlercode
Springe, wenn Satz
Ziffernbewegungs-Fehlercode (= 72H)
Druckräder-Einstellfehler
Os as s»
«t w as
MODEL 6500 PRINTER PROGRAM CAÜ048/11 version 4 i ? 1 - 5 7 15-Oct-79 14:6:47
962 INCLUDE DM2:DMOVX2
963
9 64 ' ^ DMOVX2 - Drucker
965 Benötigte Stapelebenen.= 1
966
967 Zeitintervall zwischen Kodiererlesewerten
968 Min. = 34 Zyklen = 142,476 psec. •969 Max. = 59 Zyklen = 247,233 psec.
970
971 Bei Eintritt - F0 = 0 für aufwärts, F0 = 1 für abwärts
97 2 . R2 = Anzahl der Stellungen, um die bewegt wird
973 R7 = alte Fühlerlesewerte
974 Bei Aussprung - F0 » unverändert
. 975 F1 = 0 für Ziffern, Fl = 1 für Satz
976 R2 und R0 = 0
977 • R3 (Motor) = Abfall
978 Wenn kein Fehler, A und R5 = 0
979 R1 und R6 unverändert
980 R4 = Abfall
981 R7 = Gegenwärtige Fühlerlesewerte
982
983 0352 A5 DMOVX: CI F1 = 0 für Ziffernwahl
> OS
MODEL 6500 PRINTER PROGRAM CAÛ048/11 version 4.21.
984
0.153
FA
MOV
A, R2
985
0354
E?
RL
A
986
0355
64
5A
JMP
MI
987
988
0357
A5
BMOVX:
CLR
FI'
989
0358
B5
CPL
Fl
990
0359
FA
MOV
A, R2
991
Ó35A
B6
5E
MI :
JF0
M2 •
992
035C
37
CPL
A
'993
035D
1 7
INC
A
994
035E
AD
M2 :
MOV
R5 , A
995
035F
C6
A5
JZ
P3RET
996
036 1
FA
RENT:
MOV
A, R2
997
0362
E7
RL
A
998
036 3
E7
RL
A
999
0364
AA
MOV
R2 , A
1000
0365
BB
CC
MOV
R3,jj OOCH
1001
0367
B6
70
J F0
M5
1002
0369
FB
M 3 :
MOV
A, R3
1003
0 3 6A
B6
6 E
J F0
MI
1004
036C
77
RR
A
1005
036D
77
RR
A
15-Oct-79 14:6:47
Schaue auf Ziffernwähler Multipliziere mit 2 für Kodierer Fahre fort
F1 = 1 für Satzwahl
Schaue auf Satzzähler Wenn abwärts, mache negativ (Zweier-Kompliment)
Rette in Kodierer Wenn Null, Aussprung Neuversuchs-Eintritt
Multipliziere R2 mit 4 Motorschritten Rette Motorschritte
Anfangssetzung Zweiphasen-Motorabbild Springe, wenn abwärts (links)
Schaue auf Motorabbild Springe, wenn abwärts (links)
Aufwärts - (Rechts)
MODEL 6 5 00
PRINTER PROGRAM CA8048/11 version 4 . 21.57
1006
036E
E7
M4 :
RL
A
100 7
0 3 6 F
AB
MOV
R3 , A '
100B
0370
FB
V
M 5 :
MOV
A , R3
1009
0371
53
FE
ANL
A, il 0 F EH
1010
0373
43
0E
ORL
A, B 00E11
1011
0375
76
78
JF1
M 6
1012
0377
47
SWAP
A
1013
0378
89
M 6 :
OUTL
PI , A
1014
0379
B8
23
MOV
R0,B 35
1015
037B-
74
86
CALL
READ1
1016
' 0 3 7D
EA
69
DJNZ
R2 ,M3
1017
037F
23
EE
MOV
A,8 0EEH
1018
0381
39
OUTL
PI,A
1019
0382
B8
D3
MOV
R0,K 21 1
1020
0384
64
86
JMP
READ1
1021
1022
0034
ZDMOVX
EQU
$-DMOVX
1023
1024
PAGE
15-Oct-79 14:6:47
Wiederherstelle Motorabbild
Motorabbild in Akku, (wenn nötig)
Halte anderen Motor in Ausgangsstellung (HOME)
Springe, wenn Satz
Ausgabe MOVE
5 msec. Verzögerung (196,4 bis 196,9 Schritt/sec. Warte 5 msec. lang
Springe, wenn Zählung nicht erledigt Beide Motore HOME
30,0876 msec. Verzögerung Warte 30,0876 msec. und Aussprung
650Û
1025
I 1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
PRINTER PROGRAM CA8048/11 version 4.21.57 l5-Oct-79
14:6:47
INCLUDE DM2:READ READ - Drucker
Bringe Kodierer-Lesewerte während Druckwahl auf neuen Stand Benötigte Stapelebenen = 0
Bei Eintritt - Fi = 0 für Ziffern, F1 = 1 für Satz
R0 = Anzahl der Schleifen durch Routine von Aussprung
R5 = Kodierer
R7 = Alter Fühlerlesewert
Bei Aussprung - A = Kodierer R0 = 0
R4 = Abfall R5 = Kodierer
R7 = Gegenwärtiger Fühlerlesewert Rl,R2, R3, R6, und F1 unverändert Zeitgabe = 32 Zyklen (142,476 psec.) pro Schleife, plus 4 Zyklen (16,762 psec.) für Aufruf und Aussprung
0386 08 READ 1 : INS A, BUS Lese Fühler
0387 2F XCII A, R7 Neue Fühler in R7
0388 AC MOV R4,A Alte Fühler in R4
"•lODEL 6500 PRINTER PROGRAM CAB048/11 version 4.21.57
15-Oct-79
14:6:47
ON Os
6
Os
1047 •
0389
DF
XRL
A. R7
Änderungen nun im Akkumulator
1048
038A
76
A6
JF1
READ3
Springe, wenn Satzwahl
104 9
i
1050
Ziffernwahlkodierer-Handhabung
1051
038C
53
OC
ANL
A,DOCH
Schaue auf Satz
1052
03 BE
96
B3
JNZ
READ4
Fehler, wenn irgendeine Änderung
1053
0390
08
INS
A.BUS
(2 Zyklen NOP als Ausgleich)
1054
0391
FF
MOV
A, R7
Erhalte neue Fühler
1055
0392
53
03
ANL •
. A, II 0311
Schape auf Ziffern (neu)
1056.
0394
2C
XCII
A, R4
Neu in R4, .alt in A
1057
0395'
53
03
ANL
A , il 0 3 II
Schaue auf Ziffern (alt)
1058
' 0397
47
SWAP
A
Bewege alt zu Bits 2 & 3
1059
1060
Common Wrapup
Routine
1061
0398
77
READ 2 RR
A
1062
0399
77
RR
• A
1063
039A
6C
ADD
A, R4
Kombiniere alte und neue Fühler
1064
039B
E3
MOVP 3
A, @A
Aufsuche Tabelleneintrag
1065
039C
52
BA
JB2
READ6
Wenn Bit 2=1, Kodiererfehler
1066
039E
53
03
ANL
A, ÏÛ3H
Schaue auf letzte 2 Bits
1067
03A0
07
DEC
A
Anpasse Eintragung um 8 Bit-Negativzahl
1068
03A1
60
ADD
A,R5
Anpasse alten PMCNT
- 1
>
6500
1069
1070
1071
1072
1073
1074
1075
1 076
1077
1078
1079
1080
108 1
108 2
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
PRINTER PROGRAM CA8048/11 version 4.21.57
15-Oct-79
14 : 6 : 4 7
03A2 AD 03A3 EO 86 03A5 83
MOV DJNZ P3RET: RET
R5,A Speichere PMCNT
RO,READ 1 Fahre fort, wenn Zeit nicht abgelaufen Aussprung
.Satzwahlkodierer-Handhabung
03A6 5-3 03 READ 3: ANL A, 80311
03AB 96 B3 JN2 READ4
03AA FC MOV A,R4
03AB 53 0C ANL A,80CH
03AD AC MOV R4,A
03AE FF MOV A,R7
03AF 53 OC ANL A,« OCH
0 3 B1 64 98 JMP READ2
Schaue auf Ziffern
Fehler, wenn irgendwelche Änderungen
Erhalte alte Fühler
Schaue auf Satzfühler
Rette nur Satz
Erhalte neue Fühler
Schaue auf neue Satzfühler
Bewege neu zu Bit 0 und 1
03B3 B9 87
0385 ' 76 B8
03B7 19
0388 24 AB
READ4:
READ5
MOV Rl, 88711 Ziffernkodierer bewegt, als Satz gewählt
JF1 READ5 . Springe, wenn Satz
INC Rl Satzkodierer bewegt, als Ziffer gewählt (= 88H)
JMP ERROR Falschen Kodierer bewegt
0 3 BA 0 3BC
B9 84 24 AB
READ6:
MOV JMP
Rl,i 8 4 H
ERROR
Kodiererfehler (zu schnell bewegt?)
0038
ZREAD
EQU
Ç-READ1
PAGE
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57 l5-Oct-79 14:6:47
1094
INCLUDE
DM2: FREEZE
1095
1096
FREE2E
- Drucker
1097
Setze zusätzlichen Vermittler
10 98
Benötigte Stapelebenen = 2
1099
1 100
03 BE
85
FREEZE
: CLR
FO
Zeiger auf "unten"
1101
03 BF
95
CPL
FO
1 102
03C0
8 A
FF.
ORL
P2,#0PFH
Schalter Vermittler, LED1 s, usw. ab
1103
03C2
BA
EF
MOV
R2,#239
1104
03C4
EA
C 4
DJN2
K2,§
Warte 2 msek. auf LED-Erlöschen
1 105
03C6
08
INS
A, BUS
Lese Eingaben, sofern vorhanden
1106
0307
AF
MOV
R7 , A
Speichere zur Verhütung von "Lese"-Fehlern
1107
03C8
BA
03
MOV
R2., #3
Um wenigstens 2 Ziffern bewegen
1 108
03CA
74
52
CALL
DMOVX
Wie erforderlich bewegen
] 109
. 03CC
89
FF
ORL
P2 , #OFFH
Schalte Motore ab
1110
03CE
83
RET •
1111
1112
0011
ZFREZE
EQU
Ç-FREEZE
1113
1114
0031
P3 FREE
EQU
4001!-$
Freier Platz am Ende von Seite 3.
1115
1116
0069
TFREE
EQU
P 0 F R E E + P2FREE+P3 FREE
1117
V
1118
END
MODEL 6500 PRINTER PROGRAM CA8048/11 version 4.21.57
A
000E
ACCTC
02 1 F
ALLO
02AF
OMOVX
0357
BUS
= 0004
C
= 0007
CLRD
0 2 FO
CNT
0009
COMON
02E6
COUT2
0109
COUT3
0113
COUT4
0115
COUT7
01 3 F
COUT8
01 4 E
CRECV
0153
CREV2
015C
CREV3
0165
CREV4
0167
CREV7•
018Q
CREV8
Ol QF
DATEB
0025
DELT
028C
DELTA
0030
DELTI
02CA
DELI 2
01 9 A
DELI 3
0199
DELI 4
0198
DELI 7
0195
DELI a
0194
DELI 9
0193
DEL6
0 1 AO
DEL7
Ol 9F
DELÛ •
019E
DISPR
0230
DL1S0
01A7
DL225
01A5
DMOVX
. OK 5 2
DM1
034 2
DM2
0345
DSAB1
0235
DSAB2
023F
DSEEK
. 0320
DSTAII
0038
ENABL
02 2B
ENAB1
024 2
ERROR
Ol AB
ERRI
01B9
FESTA
0039
PI
= 200D
IIDR
0200
I
= 000C
I Nil
00 3C
I N IT
0000
INITI
001 1
1 NSTA
00 3 A
1 NTRF
0090
INTR2
00 A 2
1 POST
0 2 8C
I POSTL
02A0
MANI
004 3
MAN 4
00 AB
MAN 5
00B2
MAN 6
00B 6
MS 7 4
0026
Ml
0 3 5 A
M2
035E
15-Oct-79
14:6:47
ALL1
02B4
CEROR
0187
COUT
0103
ÇOUT5
0124
CRECW
0151
CREV5
0171
DATEH
0024
DELIO
019C
DELI 5
0197
DEL4
01A2
DEL9
019D
DL300
0 1 A3
DM3
0350
DSEK
0323
ENPR
0229
FREEZE
03BE
ICOMON
0 1C9
1NIT2
00 1E
INTR3
00 AA
MAN2
0058
MBO
= 200B
M3
0369
BMOVE
033A
CLK
>0010
COUT1
0100
COUT6
012A
CREVl
0158
CREV6
0179
DBB
/H •
o o »
DELI 1
Ol 9B
DEL 16
0196
DEL5
OlAl
DIAG
Ol 21B
DMOVE
0332
DSABL
0232 .
DSSTA
003B
ENTBL
0300
FO
= 000D
INB
003D
IN1T3
0022
I POS B
0285
MAN3
0062
MB 1
= 3 00B
M4
036E
MODEL 6500 PRINTER PROGRAM CA8048/11 ve rs ion -4 . 2 1 . 57
M 5
0370
M 6
0378
POSTB
0021
POFREE
0006
PI
= 0105
P1 FREE
002E
P3 FREE
0031
P3RET
03A5
P4
= 0006
P7
= 0306
RDO
= 000B
RBl
= 100B
READ3
03A6
READ4
03B3
READ5
0 3BÛ
R0
= 0002
Rl
= 0102
R2
= 0202
R5
= 0502
R6
= 0602
R7
= 0702
SENSI
00 F 6
SIIDL
0069
SHDLl
0072
SHOME
00 7 F
SPOST
0245
SPOSI
0247
SPOS4
0263
SPOS5
0 2 6C
SPOS6
0 2 7 0
SSTAT
0223
STATU
0036
STATUS
0037
SWIT2
00D5
SWIT3
00D9
T
= 0008
TCNT 1
= 200C
TEMP
0028
TESTO
0143
TFREE
0069 •
ZCLRB
OOOC
ICOMON
000 A
ZDELAV
0018
ZDELT
002A
ZMOVE
0020
ZENABL
001C
ZENTBL
0010
ZERROR
001B
ZCOMN
0009
ZINIT '
0043
ZINTRF
0013
ZMAIN2
0013
Z READ
0038
ZSENSE
00 1 D
ZSWITC
001 F
2TBL2
0010
No errors detected
-Oct-79
14:6:47
POSTH
0020
P2
= 0205
P5
= 0106
READ1
0386
READ6
Ò3BA
R3
= 0302
SENDl
0225
SHIN
0091
SPOS2
024D
SPOS7
027A
SWITCH
OOBE
TBL2
0310
TESTI
0147
ZCOUT
0051
ZDMOVX
0034
ZFREZE
0011
Z1 POST
0030
ZSHDL
00 2 F
PSW =0003
P2FREE 0004
P6 =0206
READ2 0398
RENT 0361
R4 =0402
SENSE 00DD
SHIN2 0096
SPOS 3 025D
SPOS8 027E
SWITl 00C2
TCNT =000A
TESTI 1 0149
XCRECV 004 2
2DSEEK 0012
ZHDR 0029'
2MAIN 0026 >
2POST 0047
Cross reference
1isting
(MCREP
Symbol
Refs (#
= définition
ACCTC
589
596#
ALLO
713
715
729#
ALLl •
732 V
734
BMOVE
: 55 6
674
678
BMOVX
730
945
908#
CEROR
364
381
395
CLRS
707
709
809#
COMON
761
767
789#
COUT
353 #
608
667
COUTl
351 #
353
401
COUT2
356#
358
COUTl3
362#
378
COUT4
357
363 #
COUT5
372#
376
\
COUT6
375#
308
COUTl7
373
387#
COUT 18
394
390 #
CRECV
237
352
4 30# '
CRECW
90
4 29 B
472
CREVl
452
434 S
CREV2
4 36 #
450
CREV3
4 39
44 1#
version 4.0)
? = write <blank> = rpad) 731
692 717 942»
398 463# 542
0 20
799
540
CREV4
440
CREV5
449 8
CREV6
454 8
CREV7
450
CREV/8 •
444
DATEB
258
DATElt
248
DELIO
4928
DELI 1
371
DELI 2
366
DELI 3
489 8
DELI 4
457
DELI 5
487 8
DELI 6
449
DELI 7
389
DELI 8
356
DELI 9
363
DEL4
490 8
DEL5
497 1
DEL6
496 8
DEL7
4951
DELfl
372
DEL9
493 8
DELT
650
507 •
v
504 505
4Q3 K 509
494 8
7 4 6# 779
4421
455
467
4661
4698
4918
4908
4888
4868
4858
4 84 8
435
377
708
os os
«t os
506
44 Os
DELTI
755*
770
DELTA
27*
753
775
DI AG
541
592*
DISPR
506
625*
747
DL150
66
301
506*
DL225
305
505*
DL300 ;
76
303
'4 60
461
DM 1
940*
953
DM2
940
946
950*
DM3
955
957*
DMOVE
554
670
606
695
DMOVX
912
914
922
939
DSABl
623
629*
DSAB2 .
632
635*
DSABL
124
179
537
626«
DSEEK
710
702
911«
v
924
DSEK
9131
915
DSSTA
' 33*
06
621
626
DSAIi
30*
54
592
ENABl
630
633
ENABL
1 20
597
621«
ENPR
503
. 620*
64 1
ENTBL
0 4 4 8
06 1
ERRI
524
530*
Si 44. -4
504 *
723 936* 959
903* 1022 1108
Os ON
w
On
ERROR
70
157
167
245
360
470
519»
1086
1089
FESTA"
31 »
526
FREEZE
68
463
1 100»
1112
HOR
2 3 8
574»
610
ICOMON
53011
560
725
733
INB
3 5#
750
INH
34 II
434
574
INIT
50» .
101
INITI
62»
6 4'
67
INIT2
69»
218
INIT3
65
73»
INSTA
32»
INTR2
269
213»
INTR3
210
219»
INTRF
138
173
175
204»
IPOSB
693 »
727
735
I POST
99
707»
737
IPOSTL
718»
726
Ml
986
991 »
M2
991
994 »
M3
1002»
1016
M4
1003
1006»
381 544
221
283 663
322 ' 957
os Os
(ji ON
>
N> 44 00
M5
1001
1008*
H6
1011
1013*
MANI
lion
140
236
MAN 2
122
• 125*
MAN3
117
133*
MAN4
206
216
234*
!MAN5
230 ï
243
MAN6
235
241«
MS74
761
77
POFREE
326*
1116
PIFREE
562*
1116
P2 FREE
822*
1116
P3FREE
1 1 1 4 *
1116
P3RET
920
950
995
POSTB
23*
749
POSTII
22*
665
809
READ 1
1015
1020
1 044 *
READ2
1061 *
1081
READ3
104 8
107411
REA04
1052
1075
108311
READ5
1084
100 6 II
READ6
1065
1 0 0 Q
RENT
949
9 9 6 *
SENDl
593
60711
> «k.
vo
239
247
.1 071 K
1070 1091
on ©\ N>
44 W on
SENSI
315
321 «
SENSE
62
90
1 35
SIIDL
153«
189
SIIDLl
155
160«
SII IN
165
103«
SHIN2
1 00
107«
SIIOME
164
170«
SPOSI
651 «
654
S POS 2
655«
696
S POS 3
661
665«
SPOS4
653
669«
SPOS5
675«
690
SPOS6
680
683 «
SPOS7
602
605«
SPÛSB
676
688«
-
SPOST
577
650«
698
SSTAT
97
131
107
STATU
28«
50
606
STATUS
29«
84
1 25
SWJTl
261
264 «
SWIT2
266
280«
SWIT3
275
282«
SWITCH
81
114
261«
TQ12
880«
e 9 7
300«
539 3)8
262
os os tJ
t
OS
324
580 606«
522
285
temp
261
testo
374
testi
362
testi 1
391
tfree
1 1 161
zclrb
020»
zcomgn
799»
zcout
401 »
zxrecv
4 72 »
zdelay
509»
2delt
779 »
zdmove
959 »
zdmovx
1 922 »
zdseek
924 »
zemabl
64 1 »
zentbl
86 1 »
zerror
54 4 »
zfreze
1112»
ziidr
£10»
zicomn
560»
zinit
101 »
zintkf
221 »
zi post
737 «
zmain
140«
379 ■ 3 90* 387 393«
3 9 4 s
ZMAIN2 247H
ZREAD 1091V
ZSENSE 3241
ZSIIDL 10911
2SPOST * 6901
ZSWITC 2051
ZTDL2 0 9 7«
ON Os hi
44 W ON
>
K» Ul N>
10/ 16/79 12: 40:37 DMO;CROSS .Ti 3
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
0001 1
0000
00012
00013
0000
0500
0001 4
000 5
0500
00015
000 A
0009
ÛÛÛ 1 6
00) 2
0090
0001 7
1
00018
00) A
0100
00019
00 1 B
0100
00020
00 IC
0100
0002 1
00 1 D
0 ) 00
OOÛ22
00 1 E
0100
00023
00 1 F
0100
00024
0020
0)00
00025
«021
0)00
NAM TEST 13
* SYMBOL
COPYRIGHT 1979, PITNEY BOWES, INC.
SYMBOLD13PÏNÏTIONRN
ORG ^0000
î BUFFERS DISBUF RMB.-5
WRKBUF RMB 5
I NDUP RMB 0
OUTBIJF RMB 0 VARIABLES
BCTR
BEND
BLINK
BPTR
nnomic
DECPOS
DISCTR
DISPTR
RMB ) RMB 1 RMB 1 RMB 1 RMn 1 RMB 1 RMB 1 RMB ì
Puffer
Anzeigepuffer Arbei tspuffer Ri ngangsou f fer Ausgangspuffer Variable
Bytezähler für Format-(FMT)-Routinen und Eingabe/Ausgabe
(E/A)-Routinen
Ende von Rmpfangspuffer-1 356-Sek.-Zähler
Bytezeiger für FMT- und E/A-Routinen Ziihier für Tastaturentprellung Dez j/na 1 Stellung Steuerzähler für Anzeige Bytezeiger für Anzeige
TEST 13 10/16/79 12:40:37
OMO:CROSS.TI 3
00026 00 2 2 0100 GETPTR RMB 1
00027 0023 0200 IBPTR RMB 2 00021) *
00020
0025
0 I Û0.
IOMASK
RMB
1
00030
0026
0)00
KCLEAN
RMB
1
0003 1
0027
: 0100
KCLBEN
RMB
)
00032
0020
0100
KEYCOL
RMB
1
00033
0029
0)00
KLIJSED
RMB
1
00034
002A
0100
KSW
RMB
l
00035
0028
0 1 00
LNCTIM
RMB
1
00036
0Û2C
0)00
NIBCTR
RMB
1
00037
002D
0)00
PKSW
RMB
1
000 3 Q
002E
0)00
PORTB)
RMB
1
00039
002P
0100
PORTC1
RMB
1 '
00040
0030
0100
PORTCO
RMB
1
0004 )
003)
0)00
PORTO
RMB
1
00042
0032
0100
PIJTPTR
RMB
)
00043
0033
0400
TEMPO 1
RMB
4
00044
0037
0 1 00
TEMPO2
RMB
1
00045
* EXTERNAL FLAGS
00046
3 800
YPLAGS
EQU
A
00047
ÛÛ3Q
0100
YRESBA
RMB
1
000 4 B
0039
0100
YCPDAT
RMB
1
00049
00 3 A
0)00
YI MSP
RMB
)
00050 "
003B
0)00
YLOWP
RMB
)
0005)
003C
0100
YSERV
RMB
)
A A A f
A A 1 r\
A 1 A A
«ii'tki k n r n à« n
1
Nibble-2eiger für GETNIB Anfangsbyte-Zeiger für E/A-Routinen (Il/O Null für indirekte Adressierung) Ri twähler für RCVMSG, XMTMSG Rntprellte Tastatur
DITTO - Nicht geändert durch GETKEY Tastenspalte für KBSC
Letzter Tastenkode ausgegeben von GETKEY
SchlüsseIschalterbits
Zähler für zeitgesteuerte Anzeige
Zahl angezeigter "NIBBLES"
Vorherige SchlüsseIschalterStellung
PORT B-Abbild.
PORT C-Abbild.
PORT C-Abbild. - Daten = 0
PORT C-Abbild. - Daten = 0
Nibble-Zeiger für PUTNIB
Arbeitsbytes für KBSC
Arbeitsbyte für Nichtunterbrechungsroutinen
Externe Marken
Zeiger auf erste Marke
Basisrückstellung
Datumsprüfung
Unzureichende Gebührenmittel Niedrigstand der Gebührenmittel Wartungszustand
Macnhi rtû hûfr i ohchftrpî fr*
li:ST 1.1 10/16/79 l 2 : 4 lì ; 3 7 OMO : CROSS.TI 3
vWVi !
00 3 E
0 100
YBATRC
RMB 1
ilOJS-l
00 3 E
0]00
YIIARDE
RM 11 I
1)005 5
0040
0100
Y li 130 Ì S
RM0 I
ili)i)bü
* INTERNAI
, FLAGS
ili)05 7
4 100
Zlr'LAGtì
EQU *
000 5 ä
004 1
0)00
2SCDWN
RM lì 1
il û ù 5 9
U042
0 100
2KEYMÛ
RM lì 1
0 û 0 6 0
00 4 3
0100
2STDLO
RMB 1
0006)
0044
0100
2STNCD
RMIÌ 1
Ol)06 2
0045
0100
2TI MO
RM lì 1
0 d 0 6 3
0046
0100
2ADDOL
RMD 1
0006 1
0047
0100
2OfîLI NK
RMB 1
t)0065 004Û
0)00
2ECIIER
RMB 1
00 0 6 6
0049
0100
2EXCOM
RM lì 1
iltl 0 6 7
00 4 A
0100
2QIN
RMB 1
000 6 a
00 4 Ü
0100
2QOUT
RMB 1
ti 0 il 6 9
Û04C
0 1 00
2TOTAC
RM lì 1
000 70
00 4 D
0100
2TIUR
RM lì 1
0 û 0 7 1
«MESSAGE
HEADERS
000 7 2
»COMMANDS
TO AU -
1)0073
4)00
IlENABL
EQU ? 4 1
000 7 1
4 200
UDÌ SAH
EQU $42
000 7 5
4300
II ENDEN
EQU $43
000 7 6
4 4 00
lifìESUA
EQU $4 4
ikiO 7 7
4500
IISETSV
EQU $46
Stapelregister gelöscht harter Fehler Tastatur aufler Betrieb Interne Marken Zeiger auf erste Marke Stapellösch-Tastendruck TasteneIngabezustand Einstellbare Anzeige Einstellung angezeigt Zeitgesteuerte Anzeige Addierbare Anzeige Anzeigeblinker Echofehler
Externe Kommunikation Eingangsnachricht in Warteschlange k Ausgangsnachricht in Warteschlange Gesamtsummen-Akkumulation Maschinenauslösung
Nachrichtenheader oder - Vorsatzinformation NO DATA Befehle an Buchungseinheit (AU) - keine Daten Setze Maschine betriebsbereit Setze Maschine außer Betriebsbereitschaft Ende der Eingabe Rücksetze Stapelgesamtsummen Set2e Wartungszustand
n::iT 13 10/io/79
I 2 ; 4 fl : 3 7
DMO: CROSS .TI 3-
i) lì û 7 H 4700 IIRESSV EQU $ 4 7
uno79 *COMMANDS TO A
OOOdO 0100 USETPQ EQU $C)
0008 1 C5Û0 IÌENTAM EQU $C5
0 0 û fl 2 C600 BENTCO EQIJ $C6
0000 3 * REQUEST OATA F ROM AU
1)0081 5000 IIRI2QST EQIJ $50
0008 5 5100 IIREQPO EQIJ $51 00086 5200 I.IREQAR EQU $52 Û00Q7 52ÛÛ IIREQDL EQIJ $52 ii0088 5300 IIREQDR EQU $53 00089 5300 IIREQLP EQU $53 000 9 0 5400 IIREQCS EQU $54
0009 1 5400 IIREQMN EQU $54 00092 5500 IIREQPC EQU $55 OÛ093 5500 IIREQPS EQIJ $ 55 0009-1 5600 IIREQIÌA EQIJ $56 00095 5600 IIREQI1S . EQU $56 0Û096 5700 IIREQUC EQU $57 û0097 »DATA PROM AU -
00098 8000 IISTAT EQU $80
00099 "OATA F ROM AlJ -
u J I 00 81 00 II PS ET EQU $ 0 I
00I.ÌI 8200 IIA WEG EQU $82
00102 8A0Û HOI.OCK EQU $Q2«S0Q
Riicksetze Wartungszustand Befehle an AU - mit Daten •Portogebühr einstellen Betrag eingeben Kombination eingeben Anfordere Daten von AU Anfordere Status
Anfordere Portogebühreneinstellung
Anfordere anwachsendes (ASC)-Register (Betrieb)
Anfordere Dollarsperrwert (Wartung)
Anfordere abfallendes (DESC)-Register (Betrieb)
Anfordere untere Portogebiihrengrenze (Wartung)
Anfordere Kontrollsumme (Betrieb)
Anfordere Maschinennummer (Wartung)
Anfordere Stückzahl (Betrieb)
Anfordere Diagnosestatus (Wartung)
Anfordere Stapelbetrag (Betrieb)
Anfordere oberen Einstellgrenzwert (Wartung)
Anfordere Stapelzahl
Daten von AU - ohne Formatbyte
Daten von AU - mit Formatbyte Por togebiih rene ins tel lung anwachsendes Register Dol1arsperrwert
test 13 10/ 16/79 12:40 : 37 dmojcross.ti 3
ÛJI03 fl30Û IIDREG EQIJ §03
ÜO10-1 01300 IILOPOS EQU $03*SÛ0
tili 105 Q '10 0 IICS l)M EQIJ $04
OOlÛô PCUO IIMTRNÛ EQU $04iS00
00 107 H500 1IPCNT EQU $05
00100 ODOO IIDIAGS EQU $05tS00
tu) 109 Ü600 III)AMT EQU $06
00110 QEOQ II ES LI M EQU $06tS00
00 III Û 700 llßCNT EQU $07
00112 »COMMANDS PROM EXT DEV
Oû 1 1 3 El 00 IIEXWR EQU $E1
ooin- »commahds from ext dev
00 I I 5 6 100 IIEXRD EQIJ $61
00116 6200 IIENAKR EQU $62
00117 6300 HD 1S KD EQU $63
v
00 1ia »DATA TO EXT DEV
ÙO I i 9 A 100 IID 1 S FC EQU $A1
00 120 »M1SC PARAMETERS
0012 1 0 100 AUMAS« EQU $0 1
a li 1 2 2 0 2 û û EXMASK EQU $02
Uli I 2 3 1000 1 UENO EQU 1NIUJF«6
Ulli 2-1 IU00 OliDEM EQU OUTDUF i 6
00 125 7l'00 TS'l'AC « EQU $7E
00 12Ó «PORTS AHD TIMERS
Abfallendes Register
Unterer Portogebühren-Warenwert
Kontrollsumme
Maschinennummer
Stückzahl
Di agnosestatus
Stapelbetrag
Obere ßinstellgrenze
Stapelzahl
Befehle von externem Gerät - mit Daten
Mache zeitweilige Anzeige
Befehle von externem Gerät - keine Daten
Anfordere Inhalt der Anzeige
Anfordere Tas ta tur-Betriebsbereitschaft
An fordere Tastatur-Außerbetriebsetzung
Daten an externes Gerät
Inhalt der Anzeige
Verschiedene Parameter
Wähle Eingabe/Ausgabe-Bit für Buchungseinheit Wühle Eingabe/Ausgabe-Bit für externes Gerät Ende desEingangspuffers - 1 Ende des Ausgangspuffers - 1 Siapel anfang
PORTS (Tore) und Zeitgeber
IlZST 13 10/16/79 . 12:40:37
OMO ; CROSS ,J1H 3
0Û 1 2 7
OD 1 2d
00 1 2 9
üi) | 30
00 131
00 1 3 2
00 1 33
001 3-1
00 1 35
00 1 36
00 1 3 7
00 1 3B
Où 1 10
00 1 1 1
00) 12
3800
<3 (3 1 -1 3
3ÛÛÛ
4 fl
00 1-1-1
3001
A5
04
00 | 15
3003
BA
00 1 In
3004
40
00 1-17
3005
9U
00 1 10
3006
40
00 1 10
3007
C6
IC
l) ù ) 5 0
3009
DO
OC
oaoo
ACR
EQU
$ Aß
0500
CTRIIO
EQU
$ 05
0400
CTRLO
EQU
$ 04
AAÜ0
1ER
EQU
? AA
û 900
IPR
EQU
$ 09
OCOO
PCR
EQU
$ OC
0000
PORTA
EQU
$09
ODOO
PORG
EQU
$ OD
0 1 00
PORT (3
EQU
$ 0 1
ODOO
PORTBX
EQU
? AE
0200
PO RTC
EQU
$02
0300
PORTO
EQU
$03
* IIITRP
* INTERRUPT PROCESSING
ORG S3 00Û INTRP PIIA INTRP LOA CTRLO TX A PIIA 'l'yA '
PIIA
DEC (ÎLINK flNE 1 HT RO 2
IUIfssteuerregister Zähler 11/O Zähler L/O
Unterbrechungs-Inbetriebsetzungs-Regi IJn terbrechungsmarken-Reg ister Periphere Stuerregister Tasta turspa1 te/Anzeigesegment-Wahl
Tastaturzeile/Anzeigeziffern-Wahl
LEO- und serielle Ausgabe Serielle Eingabe
Unterbrechungs-Verarbeitung
Rette Akkumulator
Lösche Unterbrechungs-Marke
Rette X
Rette Y
Erniedrige .395-Sek.-Periodenzähler Wenn .395-Sek.-Periode beendet
TEST 13 IÜ/16/7U i 2 : 4 « ; 3 7 OMO:CROSS . Ti 3
0015 1
380B
A5
213
LOA
I.NGTIM
- wenn 101-Sek.-Zähler £ 0
001 52
3800
02
BEQ
IMTR02
ÛÛ153
3B0F
C6
213
DEC
LENGTIM
Erniedrige Zähler
Oû 15 1
1130
INTIMO
1 EQU
*
.
OOI55
30 1 1
A 9
00.
LOA
HSBÛ
Kippe Blinkermarke
ÜOI 56
30 1 i
45
EOR
2BLINK
00 157
30)5
05
47
STA
2BLINK
00150
1730
INTR02
EQU
*
00) 60
* KBSC
00161
* KEYBOARD AND SWITCH SCAN
Tastatur- und Schalterabtastroutine
001 62
* PAIÌT
OF INTERRUPT ROUTINE
Teil, der Unterbrechungsroutine
DOI63
3017
A9
OE
KBSC
LOA
ä 1 4
Wähle Tastaturzeile 4
00 1 6 1
30 1 9
05
0)
STA
PORTß
OÛ 1 65
30 in
AO
00
LOY
n n
Anfangssetzung für getasteten Tastaturzeilenzähler
00 I 66
38 10
04
20
ST Y
KEYCOL
Lösche
001 67
30 |p
0 4
00
STY
PORTAX
Setze auf Lesen der Tastaturspalten-Bits i) ü 1 ó à
302 1
4 6
4 1
LSR
2BCDWN
Lösche Stapel-Lösch--Tastendruck
00) 69
30 23
4 A
LSR
A
Lese Schlüsselschalter, 3 L/O-Bits (niedrige Ordnung)
00 J 70
*
Lösche Übertrag für spätere Verzweigung
00 I 7 )
3024
25
00
AND
PORTA
ûli 1 72
3026
05
2 A
STA
KSW
ûû ) 73
30 20
A 2
03
LDX
113
Setze auf lesen von 4 Tastaturzeilen
00 I 7 4
2A30
KUSCO
1 EQU
A
Ausführung bis 4 Tastenzeilen gelesen
00) 75
3B2A
C 6
0 1
DEC
PORTO ■
Wähle nächste Tastaturzeile
,ii) | 7 6
302n
A5
no
LOA
PORTA
Lese Tastaturspalten-Bits
TEST 13 10/16/79 12:4(1:37 DMO;CROSS.T13
üi)177
382E
49
FF
EOR
» SPP
00 1 70
3830
95
33
STA
TEMPO1,X
00179
3832
FO
07
DEQ
KBSC02
00IÜÜ
3034
06
36
STX
TEMPO 1 + 3
00 1 0 1
3036
05
ORA
KEYCOL
OÜI02
3830
95
20
STA
KEYCOL
00 103
388A
CB
INY
00 1 84
3(330
KBSC02
EQU
*
00 165
380B
CA
DEX
001 86
303C
10
EC
BPL
KBACOl
001 ß7:
k
00100
383E
98
TYA
001 89
3 8 3 F
•DO
OC
BNE
KBS04
00 1 90
304 1
A5
IE
LDA
DBOIJNC
00 191
3043
DO
04
BNE
KBSC03
00 1 9 2
3845
A9
FF
LDA
1-1
00 193
3847
30
37
BMI
KBSC11
00 19-1
4930
K13SC03
EQU
*
00 1 95
3849
C6
1 E
DEC
DBOIJNC
00 i 9 6
*
00 1 97;
304 3
90
37
BCC
KBSC 12
00I9Û
*
00199
4D3Q
KBSC04
EQU
*
Mache die Logik positiv Retire gegenwärtiges Spaltenbild wenn Tastendruck Speichere Tastaturzeilennummer Speichere Tastaturspaltennummer
Zähle getastete TaSTATURZEILE
Zähle Tastaturzeile
Wenn keine Taste gedrückt
Wenn Entprellungszähler = 0
Anzeige keine Taste gedrückt
Verlasse Routine sonst
Erniedrige tibertrag gelöscht Verlasse Routine
ri::»T I.J lti/ I t*/7U i 2; 4115 37 OMÜiCKOÜii
0200
3840
CO
02
CPY
12
00 20 1
3 fl 4 F
10
OO
npi.
KBSC06
00202
*
00203
a
00204
A
00 205
A
00206
:
à
00 20 7
A
0020Q
A
00209
A
002 )0
3851
A5
28
LOA
KEYCOL
0021 1
3853
A2
FF
LOX
*-1
002 1 2
3855
86
28
STX
KEYCOL
002 1 3
5738
KBSC05
EQU
*
00 2 14
3857
£6
28
INC
KEYCOL
002 15
3859
4 A
LSR
A
002 1 6
385A
90
FB
BCC
KBSC05
00217
*
002 1 a
305C
PO
1 3
nEQ
KBSC09
002 1 9
3 ü 5 E
A5
34
KDSC06
LOA
TEMPO 1t1
00220
3860
29
20
AND
IS 2 0
0022 1
3862
FO
09
nEQ
knseoo
00222
3864
A 5
35
LDA
TEMPO 1 i 2
002 3 3
3866
29
30
AND
i S 3 0
00221
3860
PO
03
BEQ
KBSC0 7
00225
386A -
38
SEC
Wenn' viele Tasten gedrückt Wenn Löschtaste gedrückt Wenn beide Stapeltasten gedrückt Setze Stapel-Lösch-Tastendruck
Anzeige viele Tasten gedrückt Setze Entprellungszähler Verlasse Routine
Setze auf Berechnung der Tastaturspalte
Führe aus bis Bit gefunden Berechne Spaltennummer Schiebe Bit in Übertrag
Wenn mehrere Bits in Byte Wenn Löschtaste gedrückt
Wenn beide Stapeltasten gedrückt
Setze Stapel-Lösch-Tastendruck
TKST 13 10/16/79 12:1(1:37 OMO : CROSS , TI 3
00226
3861)
66
4)
Ron
ZBCDWN
00227
6038
KBSC07
EQU
*
00228
6038
KBSCOO
KQIJ
*
00 2 29
366D
A9
P:E
LOA
Ï-2
Anzeige viele Tasten gedrückt
00 2 30
3 8 6P
30
Olì
BH 1
KBSC10
Setze Entprellungszähler
OÛ23 )
à
Verlasse Routine
00232
7138
KRSC09
EQU
A
00233
3871
A4
!E
LOY
OBOUNC
Wenn Entprellungszähler ^ 0
00234
3 0 73
00
OF
BN 12
KBSC12
Verlasse Routine
00235
*
00236
3875
A5
36
LOA
TEMPO 1 + 3
Derechne Tastenkode
00237
3077
OA
ASL
A
00238
3878
OA
ASL
A
00239
3879
OA
ASL
A
00 2-10
387A
65-
28
ADC
KEYCOL
0024)
387C
A2
26
KBSC10
LDX
H38
Setze Entprellungszähler
00242
3B7E
86
1E
STX
DBG1JNG
00243
3 0 DO
■05
26
KBSC1)
STA
KCLEAN
Anzeige Tastenkode
00 2 4 4.'
3882
85
27
STA
HCI.EEN
Û0 2-J5
04 38
KfìSC I 2
EQU
*
Verlasse Routine
00 2 4 7
* 01 S P
00248
* 01 SPLAY
MEXT NIBBLE
Anzeige nächsten Nibble in Anzeigepuffer
OÛ249
* PART ÛP
INTERRUPT ROUTINE
Teil der Unterbrechungsroutine
0025Û
3884
A5
20
DfSP
LOA
OISCTR
Wenn Abtastfolge vollständig beendet
ÌJ iü/iü/ /a J / ui'iu; ciiudd ,TU
00251
3886
10 08
BPL
DISPOl
00 2 5 2
3 68 0
A9 00
LOA
KDISBUPtO
00 2 5 3
368 A
85 2)
STA
DISPTR
00 2 5 1
386C
A9 09
r,OA
19
00255
380E
8 5 20
STA
DISCTR
00256
9039 ;
OISPOl
EQU
*
00257
3890
4 A
LSR
A
JÛ25Û
389 1
A6 21
LDX
DISPTR
00259
3893
B5 00
LOA
O. X
00260'
3895
90 05
BCC
DISP02
.00261
3097
20 OP3E
jsn
SWAP
00262
389A
90 02
BCC
0ISPÛ3
00263,
9C38
DISP02
EQU
*
002 6-1
309C
E6 21
INC
DISPTR
00265
9E38
0I SPO3
EQU
a
00266
389E
29 ÛP
AND
«SOF
00267
3 8 AO
AA
TAX
00268
3 B A 1
E0 OD
CPX
S1 3
00 269
3 8 A 3
DO 0 9
fìNE
0ISPÛ6
00270
3 8 A5
2 4 4 4
BIT
2STNG0
û 0 2 7 1
3 û A 7
10 05
BPL
DISP05
002 7 2
38A9
2 4 30
BIT
YENABI,
002 7 3
3ÜAÜ
30 0 1
lì M I
DISP04
00 2 7-1
3 fl AD
LI NX
00 2 75
ÂE3Û
D1SP04
EQU
a
Anfangssetzung Anzeigezeiger Anfangssetzung Anzeigezähler
Setze Übertrag wenn Zähler ungerade Hole gepackte Nibbles
Wenn Zähler ungerade markiert austausche Nibbles sonst zeige auf nächste 2 Nibbles
Trenne Nibble ab
Setze fiir Tabellensuchvorgang wenn auf Anzeigeteil gesetzt
Wenn Anzeigesetzungsmarke gesetzt
Wenn Maschine nicht betriebsbereit setze auf Anzeige von Bindestrich
TEST 13 10/16/79 12:48:37 DMO ; CROSS . Tl. 3
00276
AE30
DI S PO5
EQU
*
Où 2 7 7
Aß 3 8
DISP06
EQU
*
00278*
3 8 AE
BC FD3 8
LDY
DISP 16,X
002 79
3 OB)
18
L
CLC
00 2 80
38U2
A5 IP
I.DA
DECPOS
0028 1
3804
45 20
EOR
DISCTR
OU 20 2
3886
DO Ol
OME
DISP07
00283
3888
38
SEC
00284
0928
DISP07
EQU
*
00285
3889
24 4 4
DIT
2STBGD
00286
3 8 QU
10 18
0PL
DISP12
00 28 7
3 8 BD
24 3 P
ß IT
YIIARDE
00 288
28BP
10 03
BPL
DISP08
00289
30C1
30
SEC
00290
38C2
AO OO
LDY
ü SOO
00291
C4 38
DISP08
EQU
*
00292
38C4
24 4 7
BIT
2BLINK
00293
38C6
30 OD
BMI
DISP11
00294
38CQ
A5 3ß
LDA
YLOWP
00295
38CA
05 3A
ORA
Y1NSP
00296
3 8CC
10 01
BPL
DI SP09
00297
38CE
18
CLC
00298
CP30
DISP09
EQU
*
o\
o\ ».
W
Lade verschobenen 7-Segment-Kode in Y set2e auf Löschen des Dezimalsegments wenn in Dezimalformat setze auf Setzen des Dezimalsegments wenn Anzeigesetzungsmarke gesetzt wenn Marke "harter Fehler" gesetzt setze auf Setzen des Dezimalsegments setze auf Anzeige von Leerzeichen wenn Blinkermarke gelöscht wenn Niedrigstand oder unzureichende Geldmittel setze auf Löschen des Dezimalsegments
> »
ti; st 13 10/16/79 12; 40 : 37 omo : cross.tij
00299
0
3 ÛCF
24
3 A
BIT
YÏNSF
wenn unzureichende Geldmittel
00 300
3 OD 1
10
02
BPL
OISPOIO
0030 1
3003
AO
00
LO y
10
setze auf Anzeige von Leerzeichen •
00302
0538
DISP10
EQU
*
00303
0538
DÏSP11
EQU
*
00 304
0538
Ol SP 12
EQU
*
00305
3805
98
TYA
Hole verschobenen 7-Segment-Kode
00 3 06
3806
24
3C
BIT
YSERV
Wenn Wartungsmarke gesetzt
00307
3000
10
06
BPL
01S P 1 4
00308
38DA
49
00
EOR
IOÛÛ
wenn Leerzeichen angezeigt werden soll
00309
3 0OC
02
BNE
01 S P1 3
00310
3 ODE
A9
10
LOA
ÏS10
einsetze Unterstreichen
Û0 3 1 1
E038
DISP13
EQU
*
003 1 2
E03Û
OISPl4
EQU
*
003 1 3
3 flEQ
6 A
non
A
Verschiebung in Dezimal für 8-Segment-Kode
00314 '
3 û E 1
A 2
00
LOX
SO
Lösche Ausgabetor
ÛO 3 1 5
38E3
Û 6
80
STX
PORTA
ÛÛ316
3 0 ES
CA
OEX
Setze auf Ausgabe
00317
3 q E6
86
80
STX
PORTAX
00 3 1 8
38E8
AA
TAX
Bewege O-Segment-Kode nach X
003 1 9
38E9
A5
20
LOA
0ISCTR
Wähle Ziffer für Anzeige
00 3 20
3 0 ED
05
ni
STA
PORTO
0032 1
3 UEO
A5
26
LOA
KCLEAM
Tst eine oder keine Taste gedrückt
ÛÛ322
3 0 EF
C9
FE
CM P
1-2
003 2 3
3 a f i
FO
02
B EQ
01 SP 1 5
00 3 24
3 n r 3
06
no
STX
PORTA
Erleuchte Segmente
\
ri:sT
13 1Û/16/79
12:40.37
OMOs CROSS.T13
00225
F5 3B
DISP15 EQU
*
00 3 26
3 0F5
Ç6 20
DEC
DISCTR Zähle Anzeige
1)0 3 27
3 B F 7
60
PLA
Wiederherstelle Y
1)0 3 20
3 a po
All
TAY
00329
3 a p9
60
PLA
Wiederherstelle X
00 3 30
3 a FA
AA
TAX
003 3 l
3 a FD
60
PLA
Wiederherstelle A
003 3 2
3 a FC
40
RTI
Aussprung aus Unterbrechung
003 3 3
FD 3 a
DI S PO 16 EQIJ
* 7-Segment-Kodes linksverschoben
00334
*
0 1 2 3 4 5 6
ÜQ335
3 a FD
PCB
S7E,S0C, SBÄ, S9E, SCC, SDA, SFA,
3ßPE
0C
»
38FF
B6
3900
9E
"
3 901
CC
3902
DA
3903
FA
3904-
ÛE
3905
FE
3906
DE
Ji ü 3 3 ó
*
UPPER CASE ß großes E
00 3 37
3907
F 2
PCB
SF2
00338
*
LOWßR CASE R kleines R
003 39
390»
•AO
FCß
SA0
00 3 10
* •
LOWER CASE 0 kleine O
ÛO 3 1 1
39Û9
na
FCß
Sßß
•n:sT 13 ni /m/la l 2 : 4 » ; 3 7
dmqicross.ti3
00 3-12
*
WINGS
00 3 4 3
390A
92
FCB
$92
00'3 H
i
IJYPIIEN
00 3-15
3900
00
FCB
$00
00 3-16
BLANK
00 34 7
390C
00
FCB
soo
00349
* INIT
00350
* INITIALIZE
SYSTEM AT R
00351
390D
A2
7F
IM IT
LDX
. ÏTSTACK
00352
390F
9A
TX S
00353
39)0
70
SEI
00354
39 1 1
DO
CLD
00355
39 1 2
A9
00
LDA
KO
00356
1 439
INI TO 1
EQU
à
ÛOJ57
39)4
95
ûû
STA
00358
39 16
CA
DEX
00359
39 1 7
10
FB
BPL
INITOL
ù 0 !3 6 0
à
0036 1
39 19
20
1 8 3 A
JSR
BLANK
00362
t
00 363'
39 1C
05
49
STA
ZEXCÛM
00364
39 1E
A9
F7
LDA
ISF7
00365
39 20
05
2F
STA
PORTC I
0 û 3 6 6
39 22
05
02
STA
PORTC
00 36 7
39 2 4
A9
0 F
LDA
(SOF
Flügel
Bindestrich Leerzeichen
Anfangssetzung des Systems zur Rücksetzzeit Anfangssetzung Stapelzeiger
Setze Unterbrechungs-Außerbetriebssetzung Setze auf Ausführung binärer Arithmetik Lösche Akkumulator
Ausführung bis Seite Null gelöscht Lösche Byte Zähle Byte
Fülle Anzeigepuffer mit Leerzeichen
Setze X = -1 = #FF
Setze EXT-Kommunikations-Marke
Einleite Porte, Anschalte Datumsprüfung-LED
Einleite PortB, setze serielle E/A in Betrieb
TEST 13 10/16/79 1 2 ; 4 fi ; 3-7
DMO:CROSS.Ti3
tiü.) 6 a
3926
85
8 1
STA
PORTB
Û0J69
3928
05
212
STA
PORTBI
Û0 3 70
392A
46
40
LSR
YKBDJS
ÛÛ37 )
3 9 2C
A9
5p :
LDA
K $ 5P
003 7 2
3 9 212
85
812
STA
PORTBX
00373
3930
05
20
STX
DT SCTR
00 3 74
3932
86
29
STX
KLUSED
ÛO375 !
3934
A2
00
LDX
II $00
00376
3936
86
8C
STX
PCR
00377
3930
A2
0A
LDX
S$OA
0037B
3 98A
86
BB
STX
ACR
00379
393C
A2
06
LDX
»$06
00380
398E
86
20
STX
PKSW
003 8 )
3940
86
84
STX
CTRLO
00382
3942
86
85
STX
CTRHO
00383
3944
A9
50
LDA
miREQST
ÙÛ384
3946
20
6P3B
JSR
IIDR2AU
00385
*
OÛ3B6
3949
20
PE3C
JSR
PSKI203
00387
*
00388
*
00390
* MI,OOP
00 39 1
«
»MAINLINE LOOP
00392
4039 MLOOP
EQIJ
*
00393
394C
20
fi23A
JSR
PLU S II
00394
394P
A 9
02
LDA
1IÏXMASK
Einleite PORTB Abbild
Lösche Marke "Tastatur sperren"
Anfangssetzung Anzeigezähler Anzeige kein Tastenkode ausgegeben Setze zur Ausgabe IR0 auf PB6
Setze für freien Lauf auf Phase 2
Anfangssetzung SchlüsseIschalterStellung
Starte 1542-usec-Zeitgeber
Hole Status
Empfange Status einschleuse Warteschlangen-Nachricht Anfordere Portogebühreneinstellung Ri nschleuse Warteschlangen-Nachricht llauptf luß-Schleife Schleife
Rinschleuse Warteschlangen-Nachricht
Wenn RTS (Sendeaufforderung) von externem Gerät
TEST IJ 10/16/VU
1 2 : 1 » ; 3 7
PMÛ ; CIIQSS , TI 3
00395
3951
24
03
BIT
PORTO
Û0396
3953
DO
Û6
BNE
MLOOOl
Û0397
3 955
20
7030
JSR
RCVIN
H0390
3950
20
B23A
JSR
PLUSII
0 0299
5ß 3 9
M 1,0 00 1
EQU
&
004ÛÛ
3 9 5B •
A9
ük
LDA
IAUMASK
0 0 101
3950
24
03'
BIT
PORTO
00402
3 9 5P
DO
06
BNE
ML0Û02
00-10 3
3961
EÛ3D
JSR
RCVOUT
00-104
3964
B23A
JSR
PLUSII
00105
67 39
ML0002
EQU
*
00406
3967
A2
40
LDX
ï $40
00407
3969
06
AA
STX
1ER
00-100
3 9 6B
58
CLI
00409
396C
24
45
BIT
2TIMD .
004 10
296E
10
07
BPL
ML0004v
Üü-l 1.1
3970
A5
25
LDA
LNGTIM
004 12
3972
DO
03
BNE
ML0ÛÛ3
00 1 1 3
3974
20
01 3D
JSR
PSKE04
00 4 1 -1
A
004 1 5
7739
141-00 0 3
EQU
«
0 0 1 16
77 39
MLOGO <1
EQU
«
Û0-M 7
3977
A 5
47
LDA
Z fi LI M l<
00 1 1 A
3979
25
38
AND
YRESBA
00 419
397B
0A
ASL
A
00420
397C
A5
47
LDA
ZBLINK
Erhalte Nachricht von externem Gerät Einschleuse Warteschlangen-Nachricht
Wenn RTS von AU (Sendeaufforderung von arithmet
Erhalte Nachricht von AU Einschleuse Warteschlangen-Nachricht
Setze Unterbrechungen in Betrieb
Wenn Marke "zeitgesteuerte Anzeige" gesetzt
Wenn Y.ei tperiode erledigt
Hole Postgebühreneinstellung ei nschleuse Warteschlangen-Nachricht
Setze zum Ein/Ausschalten von Basisrückstellung Halte Bit in Übertrag
Setze zum Ein/Ausschalten von Datumsprüfung
TEST 13 10/16/79 12 : 4fi ï 37 DMÛjCROSS.T13
0 0-121
3 9 7E
25
39
AMD
YCKDAT •
Ol) 12 2
3 91)0
2A
KOL
A
Bewege Bits in Stellung no-12 3
390 i
2 A
.
ROL
A
00424
3982
2 A
ROL
A
00425
3983
2A
ROL
A
00426
3984
09
F 3
ORA
Il ?P3
Setze aile weiteren Bits
00427
3986
05
2P
STA
PÛRTCI 1
Schalte LED's an oder aus
00428
3988
05
02
STA
PO RTC
00429
3 9 OA
A5
81
LDA
PORTB
Hole Wartungsschalterbits
004 30
39ÛC
A6
2E
LDX
PORTB1 .
Hole vorheriges Bit
004 3 1
398E
05
2 E
STA
PORTB1
Speichere gegenwärtiges Bit .
004 3 2
3990
OA
TX A
wenn Xnderung des Schalters aufgetreten ist
00433 .
3991
45
2E
EOR
PORTBI.
00434
3993
29
20
AND
1400100*000
00435
3995
PO
16
DEQ
ML0007
00436
3997
A5
2E
LDA
PORTBï
Wenn in Wartungsstellung
00437
3999
29
20
AND
HQÛ10000Û
004 38
399Q
00
BME
ML0005
004 3 9
399P
46
49
LSR
2EXCOM
Lösche Marke "externe Kommunikation"
00440
399F
46
40
LSR
YKBDlS
Lösche Marke "Tastatur außer Betrieb"
00 4-1 1
3 9 A 1
A9
46
LDA
ÏIISËTSV
Setze zur Anforderung des Wartungszustandes
004 4 2
39A3
10
05
bpl
M f-0006
004 4 3
A5 39 ML00Ü5
EQU
*
sonst, schalte in Normalstellung
004 4 4
39A5
30
SEC
Setze Marke "externe Kommunikation"
004 15
39A6
66
4 9
ROR
2 EXCOM
Ti:ST 13 10/16/79
12:40:37
OMO:CROSS.TI
00 1 -16
39AÛ
A 9 47
LDA
ï IIRESSV.
004-17
AA 3 9
ML00 06
EQU
*,
004 4 a
39AA
20 0D3R
JSR
KEYM03
00449
00450
à
0045 1
AD39
ML0 007
EQU
*
00452
3 9AD
2 4 4 0
BIT
YKBDIS
00453
3 9 AP
30 9B
DM I
'MLOOI9
00454
3 an i
24 4 1
RIT
2BCDWN
00455
' 3 9 fi 2
10 OC
BPL
ML0 009
00456
3905
2 4 3 E
BIT
YBATRC
00457
391)7
30 05
DM I
MLftOOfl
00450
3 91)9
A 9 4 4
LDA
H IIIÌESBA
004 39
39Dn
20 0D3B
JSR
KEYM03
00-160
A <•
004 6 1
à
00462
BE39
MLOOOfl
EQU
*
00463
3 9BE
20 013D
JSR
PSKE04
004 6 4
A
00465
*
00466
Cl 39
HL000 9
EQU
*
00467
3 9C 1
2 4 4 D
n l'i'
2 T R I P
004 6Û
39C3
10 0P
BPL
MI,00 I 2
ÛÛ569
39C5
4 6 4 D
LSR
ZTIUP
004 70
39C7 „
A5 27
LDA
KCLI2RN
Setze auf Anforderung Normalzustand
Anfordere Zustand Empfange Status
Elnschleuse Warteschlangennaehricht Wenn Tastatur in Betrieb Wenn Stapellösch-Tastendruck
Wenn Stapel zur Löschung fällig
Setze auf Löschung des Stapel-Registers Sende Nachricht an AU Empfange Antwort
Ei nschleuse Warteschlangen-Naehricht
Anfordere Portogebühreneinstellung Empfange Antwort
Einschleuse Warteschlangen-Naehricht Wenn Maschinenauslöse-Marke gesetzt
Lösche Maschinenauslöse-Marke Wenn keine Taste gedrückt
TEST'l 3 10/ 16/79 12:40:37 OMO ; CROSS . TI
00-171
39C9
10
06
BPL
HL0010
Û0-172
3 9Cß
20
01 3D
JSR
PSKE04
00-173
A
00-174
39CE
4C
D4 39
JMP
MLOO}1
00-175
Di 3 9 :
MLOOIO
EQU
*
00-176
39DI
20
893C
JSR
PRKEOO
00-177
*
004 78
*
1)0-17 9
k
00-180
D439
MLOO))
EQU
*
00-18)
D439
MJ,00 1 2
EQU
*
00-18 2
39D4
A9
08
LDA
KO
00-183
39D6
A6
2A
LDX
KSW
00 4 0 4:
3 9DB
E0
03
CPX
Il 3
00485
39DA
FO
08
BEQ
HL0013
00 4 86
39DC
EO
05
CPX
Ï5
00487
39DE
FO
04
BPQ
MLOOÌ 3
00-188
39EO
EO
06
CPX
U6
00 189
39E2
DO
OE
BNE
MLOO14
00490
39E4
QA
ML0013
TX A
0049 1
39E5
4 A
Lsn
A
0 û 4 9 2
39E6
85
37
STA
TGMP02
0 û -|9 3
39E8
■A 5
2D
LDA
PKSW
00 4 9 1
39EA
ÓA
ASL
A
00495
39EB
OA
ASL
A
00-196
39EC
05
37
ORA
TEMPO2
Hole Portogebühren-Einstellung Einschleuse Warteschlangen-Nachricht sonst, Taste gedrückt Pali
Verarbeite reg. Tastendruck Kein Pali
Setze Fallnummer=kein Fall
Hole SchlüsseIschalterStellung wenn zulässige Schlüsselschalterstellung
Berechne Fallnummer auf PKSW, KSW
TI-ST J3 10/16/79 1 2 : 4 0 : 3 7
DMO ; CROSS. T13
00 194
39êa
0a
asl a
00495
3 9 eh
»
0a
asl a
00 4 96
39ec
05
37
ora temp02
rì 0-197
3 9 ec
29
of
amd ii sof
00498
39fo
86
2d
stx prsw
00 4.99
f 2 3 9:.
ml00 1 4
equ
*
00500
39f2
aa
tax
00501
39f3
a9
39
lda
ïmloûl0-1<
00502
39f5
48
piia
00503
39p6
a9
4 b
lda
«mlooio-ì>
00504
39fb
48
piia
00505
39fb bd fd39
lda mlooi6>-5,x
00506
3 9 fc
48
piia
00507
39fd bd
08 3 a
lda mlù0ì 7-5,x
00508
3aû6
40
pra
00509
3 a0 1
60
mloo15
rts
005 10
3 ao 2
3 a
mloo]6
fcb ecßa-i <
005 1 1
3 a 0 3
3 a
pcr ecßc-i<
005 1 2
3 aû 4
3 a
fcb
12cûp- 1 <
005 1 3
3 aû5
3 a
pcb mloo ì 5 - ì <
û û 5 M
3aû6
3 b
pcb
OPIÎA- 1 <
005 1 5
3 aû 7
3 b
pcb nppc- i <
005 1 6
3a0ü
3 b
pcb opûp-1<
005 1 7
3aû9
3 a
pcb ml 0015-ì <
>
Bringe vorherige Schlüsselschalterstellung auf neuen Star
Setze Fallnummer in X.
Setze für RTS auf Endfall
Setze für RTS auf Fall
FALL - Schlüsselschalter-Übergänge von Kombinationseingabe auf Betragseingabe von Kombinationseingabe auf Kombinationseingabe von Kombinationseingabe auf Betrieb kein Fall .
von Betrieb auf Betragseingabe von Betrieb auf Kombinationseingabe von Betrieb auf betrieb kein Fall S
-b. On
TEST 13 10/16/79
12:40:37
OMO:CROSS.TI 3
00518
3A0A
3 A
PCB
EAEA-1<
ûûâ 1 9
3 A0B
3 A
PCB
EAGC-1<
00520
3 A0C
3 A
V
PCB
EAOP-1 <
005 2)
3 A00
68
MLOO17
PCB
ECEA-1>
00522
3AÛE
8)
PCB
ECEC-1>
00523
3AÛF
89
PCB
ECOP-)>
00524
3A1Û
00
PCB
MLOO)5-)>
00525
3 A 1 1
92
FCB
OPEA-)>
00526
3 A 1 2
92 .
FCß
OPEC-)>
Û0527
3 A ) 3
A F
FCß
OPOP-1>
00528
3 A ) 4
00
FCB
MLOO15-1>
00529
3 A ) 5
54
FCB
EAEA-)>
ÛÛ530
3 A 1 6
5P
PCB
EAEC-1> •
0053)
3 A 1 7
63
FCB
EAOP-1
005 3 2
4C39
MLOO18
EQU
M LOOP
ÛÛ533
4C39
MLOO19
EQU
M LOOP
00534
*
i von ßetragseihgabe auf Betragseingabe von Betragseingabe auf Kombinationseingabe von Bei.ragseingabe auf Betrieb
TUST 13 10/16/79
12:40:37
DMO:CROSS,T13
00536
* BLANK
005 37
00530
DA 10
A 2
04
BLANK
LDX «4
005 3 9
a
00540
1 A3A
BLANK 1
EQU *
0054 1
3A 1 A
A9
FF
LDA II?FF
00542
3 A 1C
95
00
STA D ï Sß U P,X
00543
3 A 1 E
56
4 1
LSR Z FLAGS , X.
00544
à
00545
*
00546
i
00547
a
00540
3 A 20
06
2 C
STX NIBCTR
00549
3A22
CA
DEX
00550
3A23
1.0
F5
BPL BLANK 1
00551
*
v
00552
3A25
06
IP
STX DECPOS
00553
3A27
60
RTS
00555
* DISBFR
00556
»DISPLAY
BUFFER
00557
3 A 20
06
22
DI SUER
STX GETPTR
00550
3 A 2 A
20
4 P 3 A
JSR DISI NT
Leerzeichen
Fülle Anzeigepuffer mit Leerzeichen, Setze
Setze auf Leerzeichen 5 Bytes und auf Löschen 5 Marken
Führe aus, bis Bytes, Marken gelöscht
Fülle Byte mit Leerzeichen
Lösche Marke für zeitgesteuerte Anzeige Lösche Marke für Einstellungsanzeige Lösche Marke für einstellbare Anzeige Lösche Marke für Tastatureingabe Lösche Marke für Stapellösch-Tastendruck Lösche Nibble-Zahl
Unterdrücke Dezimalpunkt Aussprung
Anzeigepuffer
Zeiger auf NIBBLE-Puffer +2*2 Lege Anzeige still
test 13 10/16/79 12:40:37
OMO:CROSS.Ti 3
00559
3a2d
20
1 0 3 a
jsr blank
00560
3a30
20
5f3b
jsr
GI3TN I ß
00561
3 a3 3
ao
•t
tay
00562
.3 a 3 4
20
5f3jì
jsr getnïr
00563
3a37
05
if
sta d eg pos
0056-1
3 a3 9
66
22
ror getptr
00565
3a3b'
90
tya
00566
3a3c
4 a
lsr a
00567
3a3d
26
22
rol getptr
ûû56b
3fsa disbûl equ
*
00569
3 asf co ob
cpy ii 1 1
00570
3a4 1
10
ob
bpl
DISB04
00571
4 3 3 a
DISB02
equ
*
00572
3 a4 3
88
dey
00573
3 a4 4
30
00
nwi
Disn03
ûû574
3a46
20
5f30
jsr getmiß
00575
3 a4 9
20
ad3c
jsr psiinib
00576
3a4c
.1°
f5
bpl
DISB02
00577
4e3a
DISB03
equ*
00578
4e3a dlsbûil equ
*
00579
3 a -1e
60
rts
os
9\
Jk w
0\
Fülle Anzeige mit Leerzeichen Bringe Zeichenzahl in Y
Hole De2imalstellung Zeiger auf BYTE-Puffer + 3
Zeiger auf NIBBLE-Puffer + 3 * 2 + (0 oder 1 )
Alternativer Eintrittspunkt Wenn Y < 11
Führe ans bei Y>.-1 Erniedrige und prüfe Y
Hole Zeichen Bringe ös in Anzeige
Aussprung
> 0\
TEST 13 10/ 16/ 79' 12:40 : 37 DMO;CROSS,T13
00580 3A4F 70
00502
00583
00501 3A4P 78 00505 3A50 A9 Op 00536 3A52 85 8) 00507 54 3A
00588 3A54 60
* DISINT
* SET INTERRUPT DISAB!
* RETURN WITU H/0 BIT DISI NT
LDA ÏSOP STA PORT» DIS 101 EQU *
RTS
> S
-4
Setze Marke "Unterbrechung außer Betrieb" - Lege Anzeige Aussprung mit H/O-Bit des Akkumulators auf Null gesetztN^*11 Setze Marke "Unterbrechung außer Betrieb"
Lege Anzeige still alternativer Eintrittspunkt Aussprung os os
N>
W os
TKST 13 10/16/70
12:40:37
DMO; CROSS.TI 3
ON
o\
M
W
o\
00590
0059 )
00592 3A55 20 533Q
00593 3A5Û 30 PK
00594
00595 ÛQ596
00597 3A5A 20 E03B 0059Q 3A5D 4C D23B
00599
00600 '
0060 I 00603 00 60-1
00605
00606 3A60 A9 C5
00607 •
00608 3A62 30 07
00609 '
00610 006) I 00612
* EAEA
4 PROCESS KEVSWITCII
EAEA
EAEC
EAEC
JSR GETKßV-BM) DISIO)
JSR PDKEV JMP PAKE0 2
Verarteite Schlüsselschalterübergarig von Betragseingabe auf
„ . ,. , Betragseingabe
Jlole Schlusselkode
Wenn kein Tastendruck
Aussprung
Pali verarbeitè numerische oder Löschtaste verarbeite Dezimaltaste kein Fall
Aussprung
Verarbeite* Schlüsse] Schalterübergang von Betragseingabe auf Kcmbinationseingabe
Aussprung mit positivem Status übertrage Betrag Status ist negativ
LDA IIIBNTAM BMI ECEA0)
Empfange Status
Einschleuse Warteschlangen-Nachricht
Lösche Anzeige
Aussprung
>
-4 00
TKÜT 1
3 10/16/7!)
12; 41): 3 7 PMO ; L'HOiiS ,
T13
006)4
* EAÛP
• ,
006)5
»Verarbeite Schlüsselschalterübergang von Betriebseingabe auf Betrieb
006)6
3 A6 4
20 603A
EAOP jsn EAEC
Obertrage Betrag
0061 7
*
Empfange Status
006)0
-
*
Einschleuse Warteschlangen-Nachricht
006)9
*
I,tische Anzeige
00620
*
Status ist positiv
0062 )
3A67
10 24
BPL ECOPOI
Ubertrage Ende der Eingabe
00622
Empfange Stcitus
00623
*
Ei nschl euse Warteschlange:n-Nachricht
00624
à
Anfordere Portogebühreneinstellung
00625
à
Empfange Portogebühreneinstellung
00626
.*
Ei nschleuse Warteschlangennachricht
00627
*
Aussprung
00629
* ECEA
00630
V
»Verarbeite Schliisselschal terübergang von Kombi na tionseingabe auf Betragseingabe
0063 1
*
. Aussprung mit positivem Status
00632
3A69
A9 C6
ECEA LDA IIIENTCO
Definiere Header für Kombinationseingabe
00633
6B3A
ECEAOl EQU »
alternativer Eintrittspunkt
00634
3A6U
0 5 on
STA INßlJFil
00635
3A6P
A5 1F
KDA DI2CPOS
Hole Stellung der Dezimalen
00636
3A6F
2 9 ÛF
AND «OOP
Berei nige
00637
3 A 7 )
AO
TAY
Set2e Deziinalen-Stellung in Y
006 30
3A72
A5 2C
LDA NIßCTR
Hole NTBBLE-Zahl
TEST 13 10/16/79 1 2 i 4 H : 3 7 DMO; CROSS,TI 3
ÛÛfi 3 9
3A74
A 2
OP
LDX DINBliP+3
Formatiere Nachricht
00640
.3A76
20
2 0 3 0
JSR PMTB02
ÛÛ64 1
3A79
20
753B
JSR IIDR2A)
Obertrage Nachricht
00 6 4 2
*
• Empfange Status
006-13
3A7C
20
B23A
JSR PLUSII
Einschleuse Warteschlangennachricht
0064 4
3 A 7F
4C
9 0 3B
JMP PCLROI
Lösche Anzeige
00645
A
Aussprung
00647
*ËCEC
00648
»Verarbeite Sehl iisseì scha 1 terübergang von Kombinationseingabe auf Kombinationseingabe
006 4 9
3 AO 2
20
5 3 3 n
ECEC
JSR GETKEY
Hole Schlüsselkode
00650
3 AO 5
30
CD
BMl DIS 101
Wenn kein Tastendruck
00651
*
AusSprung
00652
*
V
00653
*
Fall
00654
3A87
4C
E03B
JMP PDKEY
Verarbeite numerische oder Löschtaste
00655-
*
kein Fall
00656'
*
00657
A
Anssprung
00659
* ECOP
00660
».Verarbeite Schi üssel schal terübergang von Kombinationseingabe auf Betrieb
0066 )
3AÛA
69 3A
ECOP
JSR ECEA
übertrage Kombination
00662
*
Empfange Status
TUST 13 10/16/7 i) 12:40; 37 DMO ; CROSS . T13
00663
*
00664
*
00665
8D3 A
ECOPl
EQU
*
00666
3 A8D
43
LDA
«IIENDEN
00667
3A0P
20
6Fß
JSR
IIDR2AU
00660
*
00669
3 A9 2
4C
FE3C
JMP
PSKE03
006 70
*
00671
t
00672
*
00673
À
006 75
*FLSOUT
00676
*
00677
3A95
24
4B
FLSOUT
BIT
ZQOUT
00670
3A97
10
1 8
BPL
FLS00 2
00679
3 A 9 9
A5
13
LDA
OUTBUFt1
ÛÛ6ÛÛ
3A9B
C9
QO
CMP
1 IISTAT
0068 1
3A9D
DO
09
BNE
FLS001
00602
3A9F
A5
40
LDA
YKBD1S
00603
3 AA 1
29
00
AND
| i 1 ÛÛ0Û00Û
ÜÜ6Ö 4
3AA3
4 A
LSR
A
00685
3 A A 4
05
1 5
ORA
OUTBUFt3
00686
3 AA6
85
15
STA
OUTRUFi3
00687
AO 3 A
EQU
*
00 6 0 8
3AA8
-20
1 5 3 F
JSR
XMTOIJT
>
00 M
Einschleuse Warteschlangen-Nachricht Lösche Anzeige alternativer Eintrittspunkt Obertrage Ende der Eingabe
Empfange Status
Ei nschleuse Warteschlangen-Nachricht Anfordere Portogebühreneinstellung Empfange Portogebühreneinstellung Ei nschleuse Warteschlangen-Nachricht Aussprung
Ei nschleuse Warteschlangen-Ausgabenachricht Wenn Ausgabenachricht in Warteschlange
Wenn Statusnachricht
Einsetze Tastaturstatus on on
Obertrage Ausgabenachricht w w
on
TEST 13 10/16/79
12:40:37
DMO;CROSS.TI 3
00689
00690 0069 1
00692
00693
006 94
00695
00696
00698
00699
00700 0070)
00702
00703
00704
00705
00706
00707 00700
00709
00710 0071 1
007 1 2 0071 3 007 I 4
3AAB 3 AAE
20 0A3D 20 443C
3A02 3 AB4 3AB6 3 AB8 3 ABB 3ABD 3 ABF 3 AC 1 3AC3 3AC5 3AC7 3AC9 3 AL'B* 3ACD
B 1 3 A B1 3A 60
023 A A5 4A 05 4B 10 F9 20 953A
24 4 A 10 4P A5 OB C9 61 DO ÌF 46 4A 24 4 3 10 19 A9 Al 05 1 3
FLS002 PLS003
»PLUSII * PLUSII FLIJSII
JSR PSTATR JSR PPOSTR
EQU * EQU * RTS
QUEIJED EQU LDA ORA BPL JSR BIT BPL LDA CMP BNE LSR BIT BPL LDA STA
MESSAGES * :
2QIN
2QÛUT
FLUSIIÛ
FLSOUT
ZQIN
FLUSH7
INBUFt1
BIIEX HD
PLUSII 2
ZQIN
ÜSTBLD
FLIJSII)
ÄIID1SPC
OUTBIJF» Ì
Fall
Verarbeite Statusantwort
Verarbeite Portgebühreneinstellungs-Antwort kein Pali alternativer Eintrittspuhkt
Aussprung
Einschleusen
Elnschleuse Warteschlangen-Nachricht
Führe aus während Nachrichten in Warteschlange
Prüfe auf Warteschlangen-Nachricht
Ei nschleuse Warteschlangen-Ausgabenachricht Wenn Warteschlange-Eingabenachricht
Wenn externe Anzeige gelesen
Lösclie Marke für Warteschlangen-Eingabenachricht Wenn einstellbare Anzeige
Formatiere Ausgabeantwort
TEST 13 10/16/79 12 Î 4fl Ï 37 OMO{CROSS.TI
0Û715
3 ACP
A5
1P
007)6
3ADÌ
29
OP
007) 7
3AD3
AB
00716
3AD4
A5
2C
00719
3AD6
A2
15
00720
3ADÛ
20
12 8 3 B
00721
3 ADB
20
1 Ö 3 A
00722
3 ADE
20
Afl 3C
00723
3AE)
38
00724
3AE2
66
4B
00725
E43A
00726
E43A
00727
3AE4
A5
OB
00728
3AE6
C9
62
00729
3AEÛ
DO
û 4
00730
3AEA
46
40
0073 1
3 AEC
10
15
00732
EE3A
00733
3 AEE
C9
63
00734
3 A PO
DO
05
00 7 3-5
3AF2
30
007 36
3 A P 3
66
40
00737
3AP5
30
OC
LDA DECPOS AND ISOP TAY ,
LDA NIQCTR LDX ÏOUT11UP+3 JSR PMTB02 JSR BLANK JSR PRKE04 SEC
ROR ZQOUT EQU *
EQU *
LDA INIÌUPn CMP jHIEHAKB H M12 PLUSII 3 LSR YKBDIS BPL PLUSII5 EQU *
CMP illD f SKH flNE PLUSII4 • SEC
ROR YKBDIS BMI PLUSII5
Fiiìle Anzeige mit Leerzeichen Führe kurzzeitige Anzeige aus
Setze Marke für Warteschl'angen-Ausgabenachricht
Hole Header (Vorsatzinformation)
Wenn Tastaturinbetriebsetzungs-Auf forderung
Lösche Tastaturaußerbetriebsetzungs-Marke Xndere Nachricht in Statusanforderung
Wenn Tastaturaußerbetriebsetzungs-Aufforderung
Setze Marke für "Tastatur außer Betrieb"
Xndere Nachricht in Statusanforderung
TEST 13 10/
1
6/79
12:40:37 OMO:CROSS.TI 3
00730
P73A
FLUSII4
. EQU
A
00739
3AF7
C9
El
CMP
ÏIIEXWR
00 7-10
3AF9
1P
BNE
PLUSII6
0074 1
3 A PB
A2
Iff
LDX
K INßUP't 2*2
0074 2
3AFB
20
28 3A
JSR
DISBP.R
00743
3B00
20
A43C
JSR
PRKE02
0074 4
3D03
AO
Ol
PLUSII5
LDA
III
00745
3B05
05
0A
STA
IMBUP+0
00746
3B07
A9
50
LDA
illREQST
00747
3 609
85
00
STA
INBUPt1
00740
0B3B
FLUSU6
EQU
»
00749
3BOB
20
A33E
JSR
XMTIN
00 750
ÛE3B
PLUSII7
EQU
A
00751
3B0E
4C
B23A
JMP
PLUSII v
00752
ßl 3A
PLUSII 8
EQU
PLS003
00753
*
00755
»PMTQUP
00756
A ■
00757
3ß 1 1
95
FE
FHTIHJP
STA
-2,X
00758
3B1 3
86
1D
STX
ßPTR
00 759
3ß|5
20
3 9 3 E
JSIV
PIXDEC
00760
3 fi 1 8
03
LDY
U 3
00761
301 A _
A6
2C
LDX
MIBCTR
00762
3B IC
CA
DEX
00763
3B 1 D
A5
04
LDA
Dl SOUP*4
Wenn extern schreibe in Anzeige
Anzeige Eingabepuffer
Führe zeitgesteuerte Anzeige aus Xndere Nachricht in Statüsanforderung
übertrage Eingabenachricht
Aussprung
Bilde formatierte Nachricht aus Anzeige Speichere Header in Puffer + 1 Zwischenspeichere Pufferzeiger Neuformatiere Anzeige Annehme Dezimale für MILS Annehme Ziffernzahl für MILS
Wenn CENTS angezeigt
TEST 13 10/16/79 1 2 : 4fl: 37
00764
3B1P
C9
FF
00765
3112 1
DO
02
00766
3B23
88
Q0767
3B24
CA
0076Q
2530
00769
3B25
00770
3026
A 6
1D .
00771
283
0
00772
3028
85
37
00773
3B2A
04
FF
00774
3D2C
20
OF3
00775
3B2F
15
FF
00776
303 1
95
FF
00777
3B33
A4
37
00778
3035
C 8
00779
3036
98
00780
3B37
4 A
0078 1
3B38
AO
007Q2
3B39
C8
00783
3B3A
ca
0Û 7 8 4
3030
9 4
FD
00705
3030
OA
00786
0078 7
3 0 3 E
05
) A
00 7 Q Û
FMTOOl
FMT002
STY - I , X
DMO:CROSS.TI 3
CMP. «SPP
BNE PMTBOÌ
DEY
DEX
EQU *
TX A
LDX BPTR EQU *
STA TEMPO2
JSR SWAP
ORA -1 , X
STA - 1,X
LDY TEMPO2
I MV
TVA
LSR A
TAY
I M Y
INY
STY - 3,X -ASI, A
STA BCTR
► M
oo en
Setze Dezimale für CENTS Setze Ziffernzahl für CENTS
Bewege Ziffernzahl nach A Wiederherstelle Pufferzeiger alternativer Eintrittspunkt Rette Ziffernzahl
Setze Dezimal in Formatbyte, Puffer + 2 Definiere Ziffernzähler für Formatbyte
Speichere Nachrichtenbytezähler in Puffer +0 (BUF+0)
Zwischenspeichere Nachrichtenzeichenzähler Lösche Übertrag für SBC
2eiger auf II/O-Anzeigezeichen o\
On
£-W on
TEST 13 10/16/79 12:40:37 OMO : CROSS.TI 3
00709
304 0
A9 OB
LDA
ïdisbupt5*2
00790
3 B 4 2
E5. 2C
S OC
N r OCTR
00791
3B44
05 22
STA
GETPTR
00792
3B4 6
4 5 3 7;
LSR
TEMPO2
00793
3040
90 02
HCC
PMTD03
00794
304 A
C6 22
DEC
GETPR
00795
4C3B
FMT003
EQU
à
00796
3B4C
OA
TX A
00797
3B3D
OA
ASL
A
00790
3B4B
A4 1A
LDY
BCTR
00799
3050
4C 303C
JMP
PPEQ06
00800
*
00001
*
00803
*GETKEY
V
00804
*
00805
*
00806
305 3
A5 26
GETKEY
LDA
KCLEAN
00807
3055
30 07
BM1
GETKOI
00808
3057
A2 FF
LDX
ï-1
00009
3059
06 26
STX
KCLEAN
008 10
3050
AA
TAX
008 1 1
3H5C
06 29
STX
KLUSED
008 1 2
5E3B
GETKOI
EQU
à
008 1 3
3R5E
60
RTS
Wenn Ziffernzähler ungerade
Zeiger über ll/O-Anzeigezeichen hinaus
Setze auf Setzung von PUTPTR=BUF+3*2
Setze V = Nachrichten-Zeichenzähler Definiere PUTPTR Editiere und bewege Puffer Aussprung
Hole Tastenkode in Akkumulator
Wiedergebe Tastenkode =-1 wenn Tastendruck bereits gele Wenn unausgegebener Tastenkode vorhanden
Angebe ausgegebenen Tastenkode
I
Passe Status an Tastenkode an Angebe letzten ausgegebenen Tastenkode
Aussprung
TEST 13 10/16/79 12;48:37 OMO:CROSS,TI 3
0Ù815
*GETNIB
00816
A
0081 7
3B5P
A5 22
GETNIB
LDA
GETPTR
008 18
3B6 1
4 A
LSR
A
00 8 1 9
3B62
AA
TAX
.
00Q2Û
3B63
05 00
LDA
o,x
00821
3B65
B'O 0 3
OCS
GETNOl
00822
3B67
20 OP3E
JSR
SWAP
00823
6A3B
GETNOl
EQU
*
00824
3B0A
E6 22
INC
GETPTR
00825
3B6C
2 9 OP
AND
ISOP
00826
3B6E
60
RTS
00828
MIDR2AU
00829
*•
00830
3B6P
85 00
IIDR2AU
STA
INfìUPi 1
0083 1
3 D 7 1
A9 01
LDA
1 1
00832
3073
8 5 OA
STA
INßUPiO
00833
7530
IIDR2A1
EQU
*
0083-1
3075
20 A33E
JSR
XMTI N
00835
7 8 3 B
IIDR2A2
EQU
A
00836
3 B 7 8
20 9 5 3A
JSR
PLSOUT
000 3 7
3070
4C EÖ30
JMP
RCVOtlT
000 3 Q
*
Erhalte NIBBLE von (GETPTR) und erhöhe GETPTR
Hole NIBBLE-Zeiger
Bilde Byte-Zeiger
Bringe Byte-Zeiger in X
Hole Byte
Wenn NIBBLE-Zeiger gerade Erhalte H/O NIBBLE
Zeige auf nächsten NIBBLE Bereinige NIBBLE Aussprung
Sende HEADER an Buchungseinheit, empfange Nachricht Speichere HEADER in Puffer Speichere Bytezahl alternativer Eintrittspunkt übertrage Nachricht alternativer Eintrittspunkt
Einschleuse Warteschlangen-Ausgabenachricht
Empfange Antwort
Aussprung
Os Os M
W Os
TEST 13 10/16/79 12:40:37 DMO;CROSS.T13
00Ö40
* KEYMOD
00 0 -1 1
* ENTER
KEYENTRY MODE
00042
3B7I3
24 4 2
KEYMOD
BIT
2KËYMO
00013
3D09
30 09
BM 1
KEYMOl
OOQ44
3BÛ2
20 I0 3A
JSR
BLANK
00845
A
00046
3B05
06 42
STX
ZKEYMO
00047
3BÖ7
06 43
STX
ZSTBLD
000 40
3B09
06 46
STX
2ADDBL
00049
0B3B
KEYMOl
EQU
%
00050
0B3B
KEYMQ2
EQU
*
00051
3B0B
A9 42
LDA
M HDISAB
00052
8D3P
KEYM03
EQU
A
00853
3BBD
20 6F3B
JSR
I1DR2AU
0085-1
*
v
ÛÛ855
3B90
4C B23A
JMP
FLUS1I
00856
*
00058
*ÛPEA
00059
*
00060
3B93
46 4C
ÛPEA
LSR
ETOTAC
00061
A
0006 2
A
00863
A
os os N>
■U OJ OS
Eingebe Tastatureingabebetrieb
Wenn Marke für Tastatureingabebetrieb gelöscht
Fülle Anzeige mit Leerzeichen Setze X = #FF
Setze Marke für Tastatur-Eingabebetrieb Setze Marke für einstellbare Anzeige Setze Marke für addierbare Anzeige alternativer Eintrittspunkt
Lade Maschinenaußerbetriebsetzungs-Header alternativer Eintrittspunkt
Sende Nachricht an Buchungseinheit
Empfange Antwort
Einschleuse Warteschlangen-Nachricht Aussprung
Verarbeite Schlüsselschalterübergang von Betrieb auf Betrag eingab
Losche Gesamtakkumulations-Marke Gelange nach PCLRK, was folgt Lösche Anzeige Aussprung
00 00
TEST 13 10/16/79 12;4fl:37 DMO;CROSS.T13-
00865
* pclrk
û0b66
» procrss clear kry
0qb67
3b95
20 0b3b pclrk jsr ji2ym02
00060
903b pc mio 1
eqij
à
ûûb69
V
*
00 fi 70
3h90
20 i03a
jsr blank
0007 1
3q9b a9 fc
lda
âçfc
00072
3b9d
05 04
sta di soup*4
00873
309p
24 4c
b l t
2totac
00874
3 ba 1
10 ûa
bpl pclrû3
oob75
3ba3
26 46
bit
2addbl ooû76
3ba5
10 06
bpl pclno2
00077
3 lì a 7
20 39312
jsr fi xdec
û0û78
30aa
20 ic3i2
jsr w2add
00879
ad3b pclrq2
equ
* v
008bû
ad3b pclr03
equ
*
v
00 0 b 1
3bad
46 4c
lsn
2totac
00002
3baf
60
rts
û0bb4
»opec
000 0 5
A
00 (j 8 6
9 3 3b opec equ opea
00087
*
00008
A
00
ve
Verarbeite Löschtaste Setze Maschine außer Betrieb alternativer Eintrittspunkt Anssprung mit positivem Status Fülle Anzeige mit Leerzeichen Bringe klein o in Anzeige
Wenn Gesamt-Akkumulationsmarke gesetzt Wenn Marke für addierbare Anzeige gesetzt
Führe Festkomma-Dezimalanzeige aus Addiere Arbeitspuffer zu Anzeige
Lösche fiesamtbetrags-Akkumulationsmarke Aussprung
Verarbeite Schlüsselschalterübergang von Betrieb auf Kombinati«
, ^ . . eingab*
Losche Gesamtbetrags-Akkumulationsmarke
Lösche Anzeige
Aussprung
ON 0\
-fe. W on
TEST .13 10/16/79 12:40:37
DMO; CROSS,TI 3
00090
*OPOP
0009 1
*
00992
3UB0
20 533B
OPOP
jsn
GETKEY
00893
3 RH 3
30 OC"
BM)
OPOPOI
00094
k
00095
3BB5
20 E03B
JSR
PDKEY
00896
3BB6
20 CA3B
JSR
PAKEY
00097
3BBB
20 873C
JSR
PRKEY
00890
3BBE
4C DB3C
JMP
PSKEY
00099
*
00900
%
00901
k
00902
Cl 3B
OPQPOl
EQU
*
00903
3BC 1
A5 IE
LDA
DBOUNC"
00904
3BC3
FO 0 4
BEQ
0P0P02
00905
3BC5
A9 05 •
LDA
#5
00906
3BC7
85 20
STA
LNGTIM
00907
C93B
0P0P02
EQU
*
00908
3BC9
60
RTS
00909
»
©\ o\
JX W ON
Verarl^eite Schlüsselschalterübergang von Betrieb auf Betrieb
Erhalte Tastenkode
Wenn kein Tastenkode ausgegeben
Fa 1.1.
Verarbeite Datenvorbereitungstasten Verarbeite arithmetische Tasten Verarbeite Registeranzeigetasten Verarbeite Einstelltaste kein Fall
Aussprung .
sonst
Wenn Taste niedergedrückt Setze Anzeigeperiodenzeitgeber
Aussprung
TEST 13 10/16/79 12:40:37 DMÛîCROSS.Ti3
DODI 1
* PAKEV
009 i 2
* PROCESS
ARITHMETÏC KEYCODE
Verarbeite arithmetischen Tastenkode
009 J 3
3DCA
A5 29
PAKEY
r.DA
KLUSED
Hole Tastenkode
009 1 4
31ÌCC
C9 ÛD
CMP
Il 1 1
Wenn "+-"-Tastenkode
009 15
3BCE
DÛ 02
BNE
PAKEO)
009 1 6
3DDÛ
PO 3 2
BEO
PPEQK .
Verarbeite "+"-Tastenkode
009 1 7
*
Aussprung
009)0
0230
PAKEOI
EQU
A
009)9
0230
PAKEÛ2
EQU
*
alternativer Eintrittspunkt
00920
3DD2
C9 OC
CMP
1112
Wenn Dezimaltastenkode
00921
. 3BD4
DÛ 09
BNE
PAKE04
00922
3BD6
20 7E3B
JSR
JEYMOD
Bewirke Tastatureingabezustand
00923
*
Setze Maschine außer Betriebsbereitschaft
00924
3BD9
A5 1 P
LDA
DECPOS
Wenn Dezimalpunkt nicht schon eingegeben
00925
3B0B
10 02
BPL
PAKE03
00926
3BDD
E6 1P
ING
DECPOS
Schiebe Dezimalpunkt in Anzeige
00927
DP3B
PAKE03
EQU
A
00928
DP3D
PAKE04
EQU
* '
00929
DF3B
PAKE05
EQU
*
*
alternativer Eintrittspunkt
00930
3BDP
60
RTS
Aussprung
TEST 13 10/16/79
12;40 ; 37
DMO; CROSS,TI3
00932
* PDKEY
OÛ933
* PROCESS
DATA
PREPARA
00934 3BEO
A5
29
PDKEY
LDA
KLUSED
00935 3BE2
C9
OA-
CMP
110
00936 3BE4
30
06 ;
BMI
PNUMK
00937
*
00938
*
OOÇ39 3BE6
C9
OD
CMP
«13
00940 3BE8
DO
P5
BNE
PDKEOl
0094 1 3BEA
PO
A9
BRQ
PCLRK
00942
*
0 U 9 4 3
DP3B
PDKEOl
EQU
PAKE05
00944
*
.
00946
,
4 PNUMK
V
00947
* PROCESS
NUMERIC KEV
00948 3BEC
20
7E3B
PNUMK
JSR
KEYMOD
00949
*
00950 3BEF
A5
2C
LDA
N1BCTR
00951 3 BF 1
C9
OA
CMP
II 10
00952 3BP3
10
EA
BPL
PAKE05
00953 .
*
00954 3BP5
A5
1P
LDA
DECPOS
00955 3BP7
30
06
BMI
PNUMOl
00956 3ßF0
C9
03
CMP
»3
Verarbeite Datenvorbereitungskodes
Hole Tastenkode
Wenn numerische Taste
Verarbeite numerischen Tastenkode
Aussprung
Wenn Löschtastenkode
Verarbeite Löschtastenkode Aussprung
Aussprung
Verarbeite numerische Taste Setze auf Tastatureingabebetrieb Masclline außer Betriebsbereitschaft Wenn Anzeigepuffer voll
Aussprung
Wenn Deziinalpunkt eingegeben
Wenn 3 Ziffern hinter Dezimalpunkt
TEST 13 10/16/79 12:4Û;37 DMOs CROSS.TI 3
00957
3BPB
10
E2
BPL
PAKE05
00 9 5 B
t
00959
3BFD
126
1 P
INC
DECPOS
00960
*
00961
PPSß'
PNUM0Ì
EQU
*
00962
3BPF
A5
29
LDA
KLUSED
00963
3C01
i
4C
AD3C
JMP
PSIiNIB
00964
*
00966
* PPËQK
00967
*PROCESS
PLUS-
-EQUAL KEY
00968
3C04
20
ÛB3B
PPEQK
JSR
KEYM02
00969
3C07
24
46
BIT
2ADDBL
009 70
3C09
30
0E
BMI
PPEQ02
00971
3COB
24
45
BIT
2TIMD
00972
3C0D
10
02
BPL
P P EQO1
00973
3C0P
30
87
BMI
PCLROI
00974
*
00975
1 1 3C
PPEQOJ
EQU'
*
00976
3C1 1
38
SEC
00977
3C1 2
66
4C
KOR
ZTOTAC
ÜÜ97Q
3C1 4
20
3 9 3 E
JSR
PIXDßC
Û0979
*
00 0 8 0
3C17
10
0F
BPL
PPEQ04
0098 1
à
ÛÛ9Û2
'
*
Aussprung sonst
Schiebe Dezimalpunkt nach links
Bringe Tastenkode in Anzeigepuffer Aussprung
Verarbeite "Plus-<31eichheitszeichen"-Taste Setze Maschine außer Betriebsbereitschaft Wenn Marke für addierbare Anzeige gelöscht
Wenn Marke für zeitgesteuerte Anzeige gesetz
Lösche Anzeige
Äussprung sonst
Setze Gesamtbetragsakkumulations-Marke
ßewirke Festkomma-Dezimalanzeige Status positiv
Bewege Anzeige in Arbeitspuffer Aussprung
TEST 13 10/16/79 12:48:37
0098 3
) 9 3C
PPEQ02
009 8 4
3C ) 9
20 393E
00985
3C)C
24 4C
00986
3C ) E
)0 03.
00937
3C20
20 )C3
00988
233C
PPEQ03
009Q9
3C23
38
00990
3C24
66 4C
0099)
3C26
4 6 4 6
00992
283C
PPEQÛ4
00993
3C2B
A9 00
00991
3C2A
85 22
00995
3C2C
A9 0A
00996
2E3C
PPEQ05
00997
3C2E
AD 0A
00998
303C
PPEQÛ6
00999
3C30
85 32
0)000
3 2 3C
PPEQQ7
0 1 00)
323C
PPEQOO
0 1002
3C32
88
0 1003
3C33
30 AA
01004
3C35
20 5F3fi
0 1 005
3C38
C9 OA
0)006
3C3A
'39 02
0 1007
3C3C
A9 00
OMO:CROSS.TI 3 EQU *
JSR FIXDEC B f T 2TÛTAC BPL PPEQ03 JSR W2DADD EQU *
SEC
ROR 2TOTAC LSR 2ADDBL EQU *
LDA IDISBUPt 0* 2
STA GETPTR
LDA KWRKtìUpi0*2
EQU *
LpV 110
EQU *
STA PIJTPTR EQU *
EQU *
DEY
(IMI PPEQ10 JSR GETNin CMP tSOA RM ï PPß LDA iSOO
ON
Bewi rke Festkomma-Dezimalanzeige Wenn Gesamtbetragsakkumulations-Marke
Addiere Arbeitspuffer zu Anzeige
Setze Gesamtbetragsakkumulations-Marke
Lösche Marke für addierbare Anzeige alternativer Eintrittspunkt
Setze auf Erhalt der NIBBLES von Anzeige
Setze auf Einbringung der NIBBLES in Arbeitsspeicher alternativer Eintrittspunkt
Setze Y auf Zählung von 10 NIBBLES
alternativer Eintrittspunkt
Definiere PUTPTR
alternativer Eintrittspunkt
Führe aus, falls Y i 0
Erniedrige und prüfe Y
Hole NIBBLE
Wenn nicht numerisch
Xndere auf Null
TEST 13 10/16/79 12 ; 40 ; 37 DMO;CROSS.T1
ÛlÛOfl 3E3C PPEQÛ9 EQU
0)009 3C3E 20 523D JSR PIJTNIB
,01010
i
3C4 1
4C
323C
JMP
PPEQOB
0 10 11
DF3B PPEQ10
EQU
PAKEÛ5
010)2
*
0)0)4
*PPOSTR
01015
*PROCESS POSTAGE
S ETTING REPLY.
01016
3C4 4
A5
13 PPOSTR
LDA
OUTBUPtl
01017
3C46
C9
81
CMP
KUPSET
0 1 0 1 Q
3C4D
DO
3C
BNE
PPOST5
010)9
3C4A
A 2
28
LDX
BOUTBUPt2
0 1020
3C4C
20
283A
JSR
DISBPR
0102)
3C4P
20
3 9 3 E
JSR
PTXDEC
0 1022
3C52
46
43
LSR
2STBLO
0 10 2 3
3C54
A9
00
LDA
BDiSBUPtO-
v
01024
3C56
85
22
STA
GETPTR
01025
• 583C PPOSTI
EQU
*
0)026
3C58
20
5F3B
JSR
GETNIB
!0 ) 0 2 7
3C5B
C9
OF
CMP
U?F
0)028
3C5D
FO
F9
BEQ
PPOSTI
0)029
*
0 1030
3C5P
A 6
22
LDX
GETPTR
0)031
3C6 1
CA
DEX
010 3 2
3C62
CA
DGX
0 1033
3C6 3
86
32
STX
PUTPTR
01034
3C65
EO
OO
CPX
1DISBUFiO'
Speichere NIBBLE
Aussprung
Verarbei te Por togebiihrene ins te 1 lung s -Antwort Wenn Portogebühreneinstellungs-Antwort erhalten
Anzeige-Einstellung
Neu formatiere in Festkomma-Dezimalanzeige
Lösche Marke für einstellbare Anzeige
Setze auf Abtastung der H/0 (hohe Ordnung) der Anzeige
Führe aus bis H/O Nichtleerzeichen gefunden
Zeiger auf letztes H/O-Leerzeichen Wenn Il/O-Leerzeichen gefunden
TEST 13 10/16/79 12;40;37
OMO;CROSS.Ti 3
01035
3C67
PO
05
BEQ
PPOST2
0)036
3C69
A9
OD
LDA
U?0
01037
3C6ß
20
523D
JSR
piJTN in
01030
6E3C
PPOST2
ËQ»
*
0)039
6E3C
• PPOST3
EQIJ
A
010-10
3C6E
20
5 P 313
JSR
GETNIß
0)04)
3C7)
C9
OP
CMP
#ÇP
0)042
3Ç73
DO
P9
BNE
PPOST3
01043
*
0)044
3C75
A6
22
LDX
GETPTR
0 1045
3C77
CA
DEX
0 10 4 6
'3C7B
06
32
STX
PllTPTR
01047
3C7A
A9
OD
LDA
l§D.
0)040
3C7C
20
523D
JSR
PIJTNVI B
0)049
3C7P
30
SEC
01050
3CÛ0
66
44
ROR
2STNGD
0)05)
023C
PPOST4
EQU
*
0)052
3CÛ2
46
4 6
LSR
2ADDBL
01053
3Cfl 4
46
4C
LSR
ZTO'l'AC
0)054
063C
PPOST5
EQU
X
0)055
063C
PPOST6
EQU
1
A
01056
3CÛ6
60
RTS
Einsetze U/O-Flügel
Führe aus bis L/O Leerzeichen (niedrige Ordnung) gefundf Suçhe nach Leerzeichen
Zeiger auf erste L/O-Leerzeichen Einsetze L/O-Flügel
Setze Marke für Anzeige der Einstellung alternativer Eintrittspunkt
Lösche Marke für einstellbare Anzeige
Lösche Gesamtbetragsakkumulations-Marke alternativer Eintrittspunkt Aussprung
TEST 13 10/16/79 12:40:37 DMO; CROSS.TI 3
0)050
* PRKEY
0 1 û 5 9
* PROCESS
REGISTER DISPLAY
0)060
3CÛ7
A5 29
PRKEY
LDA
KLUSED
0106 1
Ö93C
PRKE0Û
EQU
*
0 1062
3CB9
C9 10
CMP
U 16
0)063
3con
90 F9
BCC
PPOST6
01064
3B0D
C9 16
CMP
Ï22
01065
3C0F
BO F5
BCS
PPOST6
0 1 066
*
01067
*
01060
3C9 1
69 42
ADC
11IREQAR- 1 6
01069
3C93
20 6F3B
JSR
IIDR2AIJ
01070
3C96
A5 13
LDA
OUTBUP * Ì
0 1 û 7 1
3C98
a
CO
cn CJ
CMP
I IISTAT
01072
3C9A
DO 0 3
nNE
PRKEOÌ
010 7 3
3C9C
20 7Û3B
JSR
IIDR2A2
01074
*
010 7 5
9F3C
PRKEÛ)
EQU
*
0 1076
3C9P
A2 20
LDX
lOUTBUPt 2* 2
0 1077
3CA1
20 2 ü 3 A
JSR
B1SBFR
0 1070
A43C
PRKE02
EQU
* ;
0 1079
3CA4
A 9 05
LOA
115
010(10
A63C
PRKE03
EQU
A
û Hill 1
3CA6
0 5 2 B
STA
l.NG'i'lM
01002
-
Afl 3C
PRKE04
EQIJ
*
-j
Verarbeite Registeranzeige-Tastenkodes Hole Tastaturkode alternativer Eintrittspunkt Wenn nicht Registeranzeigetaste Äusserung
Aussprung
{ibertrag ist gelöscht Bilde Aufforderungs-Header Anfordere Registerwert Wenn unerwartete Statusantwort
Einschleuse auslaufende Warteschlangen-Nachricht Empfange Registernachricht
Anzeige empfangene Daten alternativer Eintrittspunkt Setze auf Einstellung der Anzeigezeit alternativer Eintrittspunkt Setze Anzeigezeitgeber os alternativer Eintrittspunkt n»
«i
CS
TEST 13 10/16/79
12:40:37
DMO: CROSS.TI 3
ûlO G 3 3CA8 01081 3CA9 01085 3CAB 0 1086 Ü I 08 7 01089 0 I 090
010 9) 3CAD
01092 3CAE
01093 3CD0
01094
01095 3CB3
01096 '3CB5
01097 3CB7
01098 3CB9
01099
i
01100 3CBB
01101 3CBC 01 102 3CBF
01103 3CC1
01104 3CC2 0 1105 3CC4
01106 3CC6
01107 3CC7 -0 1108 3CC9
0 1109 3CCD
38
66 45 DO D5
A5 00 20 OF3E
85 00 A2 03
86 37 A 2 00 BB3C E8
B5 00 20 0F3E 48
90 OF 95 00 68
09 FO 35 FF 95 FF
SEC
ROR 2TIMD BME PPOST4
*PSIINIB
*PUSI| NIBBLE INTO DISPLAY PS UN I B PIIA LDA JSR
DISBUPtO SWAP
STA LDX STX LDX
PSHN02 equ I NX LDA JSR PIIA ORA STA PLA ORA AND STA
DISBUP+ 0 113
TEMP02
V
KO
DISBUF,X SWAP
IIÇOF
DISBUP,X *$PO
DISBUF-1/X DISBUF-1,X
Setze Marke für zeitgesteuerte Anzeige
Lösche Marke für addierbare Anzeige Lösche Gesamtbetragsakkumulations-Marke Aussprung
Bringe NIBBLE in Anzeigepuffer Rette NIBBLE in den Stapel Hole H/O-Anzèigebyte Bewege L/O-NIBBLE nach oben Bewege H/O-Leerzeichen nach unten
Setze auf viermalige Schleife
Zeiger auf gerade verschobenes Byte
Führe aus, bis 8 NIBBLES nach oben bewegt
Zeiger auf nächstniedriges Byte
Hole 2 NIBBLES
Bewege L/O-NIBBLE auf H/O
Rette vertauschte NIBBLES
Bringe Leerzeichen hinter L/O-NIBBLE ein
Einsetze in selbes Byte
Hole H/O NIBBLE
Bringe Leerzeichen von H/O-NIBBLE ein Einsetze in nächstes Byte oben
TEST 13 10/16/79
t
12:40:37
DMO:CROSS.TI3
on io
3CCD
C6
37
DEC
TEMP02 "
Olili
3CCF
10
EA
BPL
PSIIN02
0)112
*
'
01113
3CD1
68
PLA
01114
3CD2
09
ORA
ISFO
01115
3C14
35
40
AND
DISBUF+O,X
01116
3CD6
95
00
STA
DISBUF+O,X
01117
3CDB
E6
2C
INC
NIBCTR.
01 IIB
3CDA
60
-
RTS
0 1 120
* PSKEY
01121
* PROCESS
SET KEYCODE
0 1122
3CDB
A5
29
PSKEY
LDA
KLUSED
0 1123
3CDD
C9
0A
CMP
II 10
0 1124
3CDF
DO
28
BNE
PSKE05
0 1 1 25
*
V
0 1126
3CE)
24
44
BIT
2STNGD
0 1 1 27
3CE3
30
07
BMI
PSKEO)
0 1 1 2B
*
0 1129
*
0 1130
*
011]]
*
0 1)32
*
0 1133
3CE5
24
43
BIT
2STIÌLD
0 1134
3CE7
30
OB
IÌMI
PSKE02
0 I1) 35
3CE9
20
01 3D
JSR
PSKEO 4
ts>
ve
Zähle die Schleife
Hole'geretteten NIBBLE Setze Leerzeichen von NIBBLE Einsetze NIBBLE in L/O-Byte
Zähle den NIBBLE
Aussprung ;
Verarbeite Einstelltasten-Kode Hole Tastenkode Wenn nicht Einstelltaste Aussprung
Wenn Marke für Anzeige der Einstellung
Sende Inbetriebsetzungsbefehl Empfange Antwort
Einschleuse Warteschlangennachricht Aussprung
Wenn Marke für einstellbare Anzeige gelöscht
ON
Hole Portogebühreneinstellung g
OS
TEST 13. 10/16/79 12:48 : 37 DMO : CROSS . T13
OU 36
*
01137
EC3C
PSKEOl
EQU
*
0)138
3CEC
A9 4 1
LDA
HHENABL
0)139
3CEF
4C 8D3B'
JMP
KEYM03
0 ) ) 40
*
01 ) 4 )
*
0)142
F) 3C
PSKE02
EQU
*
01)43
3CP I
20 043C
JSR
PPEQK
01)44
3C4F
A9 Cl
LDA
IIIISETPO
0 1)45
3CF6
A2 OD
LDX
11 INBUF-» 3
0) ) 46
3CFB
20 113B
JSR
FMTBUF
01)47
3CFB
20 75 3B
JSR
IIDR2A1
0 114 8
*
01149;
FE3C
PSKE03
EQU
*
01 150
3CFE
20 B23A
JSR
FLUSH
0115)
Ol 3D
PSKE04
EQU
*
0 1)52
3D01
A 9 51
LDA
jj IIREQPO
0)153
3D03
20 6F3B
JSR
IIDR2AU
0 1)54
*
0) 155
3D06
20 B23A
JSR
FLUSH
0 1)56
093D
PSKE05
EQU
*
0 1157
3D09 '
60
RTS
©\
Einschleuse Warteschlangennachricht alternativer Eintrittspunkt Sende Inbetriebsetzungsbefehl Empfange Antwort Einschleuse Puffer Aussprung
Simuliere "+"-Tastendruck
Setze auf Sendung von Protogebühreneinstellbefehl Formatiere Befèhl in INBUF
Sende Nachricht an AU Empfange Status alternativer Eintrittspunkt Einschleuse Warteschlangennachricht alternativer Eintrittspunkt Anfordere Portogebühreneinstellung
Empfange Portogebühreneinstellung Einschleuse WarteSchlangennachricht alternativer Eintrittspunkt Aussprung
TEST 13 10/16/79
.12: 48:37
DMO:CROSS.T13
01159 01 160
01 161 3 DOA A5 13
0 1162 3 DOC C9 80
01163 3DOE' DO F9
01164 3D10 A2 F9
01165 3D12 A5 14 011 66 1 4 3D 01167 3D14 2A 011 68 3D15 7*6 3F 01169 3D Ì 7 E8
0 1)70 3D) 8 30 FA 01)71
01172
0)173 3D1A . 05 4d
01 1.74 3D1C 85 4D 01 I 75
01176 3D1E 26 3F
I
01)77 3 D20 A5 )5 0)178 3D22 29 82 0 1179 3D24 85 3F 0 1)00 3D26 FO E) 0 118) 3D28 2902 01102 3D2A DO 02 0)183
01184
* PSTATR
«PROCESS STATUS REPLY • PSTATR LDA OUTBUF+1 CMP K IISTAT BNE PSTAT5 LDX II-7 LDA OUTBUF+ 2 PSTAT1 EQU *
ROL A
ROR YFLAGS + 7, X I NX
BMI PSTAT)
*
*
ORA ZTRIP
v.
STA ZTRIP
*
ROL YIIARDE LDA OUTBUF+3 AND 11% 100000 10 STA YIIARDE BEQ PSTAT4 AND U00000010 BNE PSTAT2
*
*
Verarbeite Statusantwort Wenn Statusantwort"
Setze auf Kopieren von 7 Marken
Führe aus, bis 7 Marken kopiert Bewege Bit in Markenbyte hinein
Zähle Bit
Wenn Maschine ausgelöst worden ist Setze Maschinenauslöse-Marke
Bewege vorherigen harten Fehler zu Übertrag Hole Fehlerbits
Setze/Lösche Marke für harten Fehler Wenn weicher oder harter Fehler wenn weicher Fehler Bewirke Fehleranzeige Springe in Hauptschleife
TEST 13 10/16/79 12:40:37 DMO; CROSS.TI 3
Ol 185
3D2C
BO D8
BCS
PSKE05
01186
*
01)67
*
01 188
2E3D
PSTAT2
EQU
*
0)189
3D2E
20 1 8 3 ÀÏ
.
JSR
BLANK
0))90
3D3)
A9 AB
LDA
' 1 ? AB
0 1)9)
3D33
85 01
STA
DISBUF+1
0)192;
3D35
A9 BC
LDA
K ? BC
01)93
3D37
85 02
STA
DISBUFt 2
0)194
3D39
A9 BF
LDA
K $ B F
01 195
3D3B
85 03
STA
DISBUF+ 3
01 196
3D3D
20 823C
JSR
PPOST4
01 197
*
0 1)98
3D40
20 A43C
JSR
PRKE02 '
0) 199
433D
PSTAT3
EQU
*
01 200
3D43
78
SE)
01 20)
3D44
A2 7F
LDX
KTSTACK
01 202
3D46
9A
TXS
01 203
3D47
A5 2F
LDA
PORTC I
01204
3D49
09 03
ORA
H 3
0 1 205
3D4D
85 82
STA
PORTC
0)206.
3D4D
85 2F
STA
PORTCI
01 207
3D4F
4C 4C39
JMP
M LOOP
0) 208
0 93D
PSTAT4
EQU
PSKE05
0) 209
093D
PSTAT5
EQU
PSKE05
0)2)0
* '
Wenn harter Fehler vorher gesetzt Aussprung alternativer Eintrittspunkt Fülle Anzeige mit Leerzeichen Anzeige Fehler-Legende
Lösche Marke für addierbare Anzeige Lösche Marke für Gesamtbetragsakkumulation Setze auf zeitgesteuerte Anzeige alternativer Eintrittspunkt Setze Unterbrechung außer Betrieb Meuanfangssetzung des Stapels
"Untätigsetzung der seriellen Ausgangsleitungen
Springe in Hauptschleife hinein
Aussprung
TEST 13 10/16/79 12:48:37 DMO:CROSS.T13
i
I
01234
* RCV1N
01235
*
«RECEIVE
01236
3D70
24 49
RCV IN
01237
3D72
10 IB *
01238
3D74
'20 4F3A
01 239
3D77
20 563F
01240
3D7A
20 833D
0124 1
7D3D
RCV101
0 1242
3D7D
AO BD
01243
3D7F
20 5 2 3 F
0 1244
3D82
60
01245
8 33D
RCV)02
01 246
3D83
A9 02
01247
3D85
A2 0A
01248
3D87
>
o ©
01249
3D89
20 903D
01 250
3D8C
38
01251
3D8D
6 6 4 A
0 1252
8F3D
RCV)03
0)253
3 DO F
69
INBOUND MESSAGE BIT ZEXCOM BPL RCV103 JSR DISINT JSR Dl2US JSR RCV102 EQU *
LOY II -67 JSR D20US RTS EQU *
LDA ÄEXMASK LDX IINBUF " LDY fllDEND: JSR RCVMSG SEC
ROR ZQIN EQU *
RTS
>
M
Empfange einlaufende Nachricht von externem Gerät Wenn Marke für externe Kommunikation gesetzt
Setze Unterbrechungen außer Betrieb Verzögere 12 psec., T3
alternativer Eintrittspunkt Verzögere 350 jisec. , T1 5
Aussprung alternativer Eintrittspunkt Wähle externes Gerät Zeiger auf Eingangspuffer Zeiger auf Pufferende Empfange Nachricht
Setze Marke für einlaufende Warteschlangen-Nachricht Aussprung
OS
o\
-b. US
o\
Ti:ST 13 10/16/79
12:40:37
DMO .-CROSS. TI
01212 .
012)3
012)4 3D52 29 OP 0)2)5 3D54 > 48 *
0 1216 3055 A5 3 2
012)7 3D57 4A
012)8 3058 AA
0)2)9 3059 A9 FO
0)220 3058 BO 07
0)22) 3050 65
0) 222 3D5E ' 20 OP3E
0) 233 306) 4 B
0)224 3062 A9 OF
0)225 6430
0) 226 3064 .E6 32
0)227 3066 35 00
0)228 3068 95 00
0)229 306A 68
01230 3D6B 15 00
0)231 3060 95 00
0)232 306F 60
* PUTNIB
*
PUTNIB AND J$OF PUA
LDA PUTPTR LSR A TAX
LOA I5FO BCS PUTNOl PLA • JSR SWAP PUA
LOA l?OF PUTNO) EQU *
INC PUTPTR AND O,X STA 0,X PLA
ORA 0,X STA 0;X RTS
Bringe NIBBLE in (PUTPTR) und erhöhe PUTPTR
Reinige NIBBLE
Zwischenspeichere NIBBLE
Hole NIBBLE-Zeiger
Mache Byte-Zeiger
Bringe Byte-Zeiger nach X
Setze zur Bildung von L/O-Loch (niedrige Ordnung L/O)
Wenn NIBBLE-Zeiger gerade
Bewege NIBBLE AUF Il/O (hohe Ordnung)
Setze zur Bildung von U/O-Loch
Zeiger auf nächsten NIBBLE Bilde Loch
Einsetze NIBBLE
Aussprung
TEST 13 10/16/79 12:48:37 DMO .-CROSS . T13
01255
*rcvmsg
01256
* receive message
01 257
3d90
85
25
rcvmsg sta iomask
01258
3d92
86
23
stx ibptrto
01259
3d94
86
ïd
stx bptr
01 260
3d96
84
ib
sty bend
0126 1
3d98
20
623f
jsr echo
01 262
9b3d rcvmol equ
*
01263
3d9b a3
ib
lda bend
01264
3d9d c5
1d
cmp bptr
01 265
3d9f
30
43
bmi rcvm04
01266
*
abort
01267
*
01268
3da1
e6
1d
inc bptr"
01269
3da3
20
7d3f
jsr rcvbyt
01 270
3da6
a0
fb
ldy
1-5 -
01271
3dab-
20
4 f 3 f
jsr d26us
01272
3dab
20
623f
jsr echo
01273
3dae bo e8
bcs rcvmol
0 1274
*
01275
3dbo
38
sec
01 276
3 db 1
a 2
23
ldx fibtrto
01277
3db3
a5
1d
lda bptr
012 78
3 db 5
f5
00
sbc o, x
01 279
3db7
ol
00
sta
(o.x)
Empfange Nachricht Rette Gerätewähler Rette anfänglichen Pufferseiger .Anfangssetzung Pufferzeiger Rette Zeiger auf Pufferende Gebe RTS-Echo als CTS ab Führe aus, bis EOM empfangen Wenn Puffer voll ist
Abbruch
Zeiger auf nächstes Byte Empfange Byte Verzögere 46 psec., T10
Gebe EOB/EOM-Echo als CTS/NCTS aus Ende der Ausführung
Setze Übertrag für SBC (Zähler der gespeicherten Byteî Berechne Anzahl der Bytes
Speichere in erstem Byte des Puffers
I
test 13 10/16/79 12:48:37
dmo:cross.ti 3
01280
3db9
ao eo
loy
#-32
0 1281
3dbb
20
5 3 3 f
jsr dl bus
01282
3dbe
à5
25
#
lda iomask
01283
3dco
25
cd uf
and fortd
01284
3dc2
fo
2 3
beq rcvm05
01285
3dc4
20
7d3d
jsr rcv101
01286
c73d rcvm02
equ a
01287
3dc7 .
a5
25
lda iomask
01288
3dc9
6a
ror a
0 1289
3 dca
90
18
bcc rcvm03 .
01290
3dcc
20
953a
jsr flsout ol 291
3dcf ao
03
lda
113
01292
3dd)
85
12
sta outbuf+o
01293
3dd3
a9
00
lda ho
01294
3dd6
85
14
sta outduf+ 2
01295
3dd7
a9
80
lda ii hstat
01296
3dd9
85
13
sta outbuf+1
01 297
3ddb
85
15
sta outbuf+1
01 298
3ddd
85
3f
sta yiiarde
01299
3ddf
85
4 b
sta zqout
0) 300
3de1
4c
2e3d
jmp pstat2
01 301
e43d rcvm03
equ
*
01 302
3 de 4
4c m
4 33d rcvm04
jmp pstat3
01 303
e73d rcvm05
equ a
01 301
3de7
60
rts
Verzögere 173 psec., T8
Verzögere 350 psec., T15 Alternativer Eintrittspunkt
Wenn Gespräch mit AU (arithmetische Einheit)
Einischleuse auslaufende Warteschlangennachricht Bilde Statusnachricht für verhängnisvollen Fehler
Setze Marke.für harten Fehler
Setze Marke für auslaufende Warteschlangennachricht
Anzeige Fehler und Abbruch
Abbruch
Aussprung
vi ■ • *
TEST 13 10/16/79
>
12:40:37
DMO:CROSS.TI 3
Ol 306 0) 307
* RCVOUT
I
♦Empfange auslaufende Nachrichjt von Buchungseinheit
01 308
3DE8
20
4F.3A
RCVOUT
JSR
DIS INT
Setze Unterbrechungen außer Betrieb
01 309
3DEB
20
F ï b D
F13D
JSR
RCVOOl
Empfange Nachricht von Buchungseinheit
013 10
3 DEE
4C
7D3D
JMP
RCV101
Verzögere 350 )isec., T15
01311
*
Aussprung
01312
Fl 3D
RCVool
EQU
*
alternativer Eintrittspunkt
013 13
3DF1
A9
ol
LDA
8AUMASK
Wähle Buchungseinheit
013 14
F33D
RCV002
EQU
*
Führe aus, bis RTS erkannt
013 15
3DF3
24
83
BIT
PO RTD
Suche nach RTS
0)316
3DF5
DO
FC
BNE
RCV002
01317
*
Ende der Ausführung
01318
3DF7
A2
12
LDX
SOUTBUF
Zeiger auf Ausgabepuffer
013 19
3DF9
A0
18
LDY
SOßEND
Zeiger auf Pufferende
01 320
3 DFB
20
903D
JSR
RCVMSG'
v
Empfange Nachricht
01321
3DFE
38
SEC
Setze Marke für auslaufende Warteschlangennachricht
0 1322
3DFF
66
4 B
ROR
ZQOUT
01323
3 EOI
60
RTS
Aussprung o\
ON «k
W 0\
TEST 13 10/16/79 12:40:37
DMO; CROSS.TI 3
Ol 325
* SETXMT
Ol 326
* Setze auf
Übertragung •
0)327
3E02
48
SETXMT
PIIA
Ol 328
3E03
45
2 F
EOR
PO RTC I
01329
3E05
85
3) 1
STA
PORTCI
0) 330
3E07
A5
2 F
LDA
PORTCI
0)33)
3E09
85
30
STA
PORTCO
0)332
• 3 EOB
68
PLA
0 1333
3 EOC
24
83
BIT
PORTD
0)334
3 EOE
60
RTS
-Abbilder - Setze auf Prüfung auf RTS (Sendeaufforderung) Zwischenspeichere Gerätewahl Rette Port-Abbild für Daten =1
Rette Port-Abbild für Daten = 0
Bringe Gerätewahl in Akkumulator Setze zur Prüfung auf RTS Aussprung
TEST 13 10/16/79
12:40:37
DMO:CROSS.TI 3
>
w o vo
0)336
i
* SWAP
0)337
* *
Vertausche NIBBLES IM Akkumulator
0)338
* RETURN
WI TI 1 CLEAR
CARRY Aussprung mit gelöschtem Übertrag
0)339
3 EOF
OA
SWAP
ASL A
Schiebe H/O-Bit (hohe Ordnung) in Übertrag,
0)340
3 E 1 0
69
00
ADC IO
Bewege Übertrag zu L/O-Bit, Lösche Übertrag
0)34)
3 E1 2
0A
ASLA
0)342
3 E1 3'
69
00
ADC «O
Ql 343
3 E 1 5
0A
ASL A
0)344
3 E 1 6
60
00
-
ADC HO
0)345
3E18
OA
ASL A
0)346
3 E 19
69
00
ADC HO
01347
3 E 1 B
60
RTS
Aussprung
(niedrige Ordnur
ON ©N
-U
w ©\
TEST 13 10/16/79 12:48:37 DMO: CROSS.T13
01 349
*W2DADD
01 350
* ADD WORK
BUFFER TO DISPLAY
Addiere Arbeitsspeicher zu Anzeige
01351
; 3E1C
20
4F3A •
W2DADD
JSR
DISINT
Setze Unterbrechungen außer Betrieb
01352
3 E 1 F
A9
00
LDA
II DISBUF+O* 2
Zeiger auf Anzeige
01353
3E21
85
22
STA
GETPTR
01354
3E25
20
2E3C
JSR
PPEQ05
Setze X auf Zählung von 10 NIBBLES
01355
*
Definiere PUTPTR
Ol 356
*
Editiere MOVE (Bewege)
01357
3E26
A2
04
LDX
114
Setze auf Addition von 5 Bytes
01358
3E28
18
CLC
01359
3E29
F8
SED
Setze auf dezimale Addition
Ol 360
2A3E
W2DA01
EQU
■ *
Führe aus, bis 5 Bytes addiert sind
0136)
3E2A
B5
00
LDA"
DISBUF,X
Addiere Puffer
01362
3E2C
75
05
ADC
WRKBUF., X
01363
3E2E
95
00
STA
DISBUF,X
Bringe Ergebnis in Anzeige
01364
3E30
CA
DEX
.
Zähle Byte.
Ol 365
3 E 3 1
10
F7
BPL
W2DA01
'
01366
*
Ende der Ausführung
01 367*
3E33
D8
CLD
Setze auf binäre Arithmetik
Ol 368
3E44
90
03
BCC
W2DA02
Wenn Oberlauf
Ol 369
3E26
4C
2ESD
JMP
PSTAT2
Zeige Fehler an und Abbruch
Ol 370
393E
WD2A02
EQU
*
01371
-
*
Gelange in Festkommabetrieb, was folgt
Ol 372
*
Mache Festkomma-Anzeige
Ol 373
*
Aussprung
TEST 13 10/16/79 12:48:37 DMO: CROSS.TI 3
0 1 3^5
01376
01 377
01 378
3E39
20
. 4F3A
01 379
3E3C
A9
00
01 380
3E3E
85
22
01381
3E40
85
32
01382
3E42
A0
0A
01383
3E44
84
2C
01384
3E4 6
88
01 385
473E
01 386
3E47
20
5F3B
01 387
3E4A
DO
02
01388
3E4C
A9
OF
0 1389
4E3E
01 390
3E4E
C9
OA
0 13 9 1
3E50
30
0A
orni
J Cb 2
AO
OF
0 1 393
3E54
20
523D
OD'J 4
3 ES 7
C6
2C
01 395
3E59
88
01 396
3 E 4 A
10
EB
01 397
5C3E
0 1398
3E5C
A5
IF
0 1399
3E5E
1 0
04
0 1 100
3E60
A9
02
* FIXDEC
* Neuformatiere•Anzeige : in Festkomma-Dezimalformat
* Aussprünge.mit1positives Ergebnis anzeigendem Statuswort FIXDEC
FIX DO)
FIXD02
FIXD03
JSR DISINT LDA K DISßUF + O* 2 STA GETPTR STA PUTPTR • LDY 110 STY NIBCTR DEY EQU *
JSR GETNIB BNE PIXD02 LDA I! $3F EQU ^ *
CMP # $OA BMI FIX DO3 LDA I $01' JSR PUTNIB DEC NI HCTR ' DEY
BPL FIXDOl EQU *
LDA DECPOS DDL FIXD04 LDA «2
Setze Unterbrechungen außer Betrieb Zeiger auf H/O NIBBLE (NIBBLE hoher Ordnung)
Annahme, daß Anzeige, voll ist
Setze auf Zählung von 10 NIBBLES Schleife mit 2 Ausgängen Hole NIBBLE von H/O-Ende vorangestellte Null Mache ihn nicht-numerisch
Ausgang, v/enn numerischer NIBBLE
Dimko.ltable nicht-numerischen NIBBLE
Erniedrige angezeigten NIBBLE-Zähler Ausgang, wenn 10 NIBBLES abgestastet
Schleifenende
Wenn Dezimalpunkt nicht eingegeben Festlege seine Stellung bei 2
TEST 13 10/16/79
12:40:37
DMO:CROSS.T13
0 140) 01402 0 110 3
01404
01405
01406
01407
01408 0 1409 0)4)0 0)4)1 0)412 0)4)3 0)414 0)415 0)4 16 014 17 0)4 10 0)4 19 0) 420
01421
01422 0 1423 0)421 0)425 0 14 2 6
3E62
3E64.
3E65
3E67
3 E 6-9
3E6B
3E6D
3E70 3E72 3E74 3E76 3E78 3E7B 3E7D
8 5 IF
643E
38
A5 2C B5 1 P C9 07 30 03 4C 2E3D 703E 703E A5 1F C9 04 10 09 A9 OF 20 AD8C E6 1F k9 Fl 7FSE
FIX DO 4
3E7F A9 05 3EbL 85 22 3E38 AO 05 3E85 20 303C
3E88 A9 FF 3E0A 05 43
FIXD05 FIXD06
FIXD07
STA DECPOS EQU *
SDC
LDA NIBCTR SBC DECPOS CMP n BMI FIXD05 JMP PSTAT2 EQU *
EQU *
LDA DECPOS CMP M BPL FIXD07 LDA vï$OF JSR PSIINIB INC DECPOS BPL FIXD06 EQU *
LDA HDISBUF+ STA GETPTR LDY ï 5 JSR PP.EQ06
LDA 11 $ FF STA 2STBLD
Wenn Anzeige nicht fonnatiert werden kann
Zeige Fehler an und Abbruch
Führe aus falls Dezimalstellung j^.4
Bringe Leerzeichen in.Anzeige Schiebe Dezimalpunkt nach links
Ende der Ausführung Setze auf Betrieb auf Einheiten 2*2 + 1
Setze auf Bewegung von 5 NIBBLES Dezimiere PUTPTR Editiere und bewege
Setze auf Leertastung von MILS und END Setze Marke für einstellbare Anzeige
TEST J3 10/16/79 12:40:37
DMO:CROSS.TI 3
01427 01 428
01429
01430
01431 014 3 2
01433
01434
01435
01436
01437
01438
01439
01440
3E8C 3E3E 3E90
3E92 3E94 3E96 3E98 3E9A 3E9C
3E9E 3 EAO 3EA2
A4 04 FO 02 A9 OF 923E 05 0 4r 85 04: A5 IF C5 2C 30 02 85 2C 9E3B 46 44 46 42 60
FIXD08
FIXD09
LDY
BEQ
LDA
EQU
ORA
STA
LDA
CMP
BMI
STA
EQU
LSR
LSR
RTS
DISBUF+4 FIXDOÛ
H $OF *
DISDUF+4
DISßUF+4
DECPOS
NIBCTR
FIXD09
NIBCTR
i
*
ZSTNGD ZKEYMO
Wenn MILS und Ende nicht 00
Setze auf Leertastung von lediglich END
Editiere MILS und END
Wenn NIBCTR vorangestellte Null ausschließt
Einschließe vorangestellte Null in NIBCTR
Lösche Marke fiir Anzeige der Einstellung Lösche Marke für Tastatureingabebetrieb Aussprung
TEST 13. 10/16/79
12:48:37
DMO:CROSS.TI3
0 1442
0 14 4 3
0 14 4 4
3EA3
4F3A
01445
3EA6
83
4 A
0 14 4 6
3EA8
A9
01
0 1447
3 EAA
20
02 3 E
014 4 8
3 EAD
FO
08
0 1449
3 EAF
20
5B3F
0 1 450
3EB2
A9
FC
01451'
3E04
20
5 03 F
01452
B73E
01453
3EB7
24
83
01454
3EB9
DO"
OB
01455
3EBB
20
Fl 3D
01456
3 EBE
20
5B3F
01457
3 EC 1
AO
CD
Û H 58
3EC3
20
523F
01 459
C03E
0 1-160
3EC6
A9
01
01461
3EC8
A2
0A
01462
3 ECA
20
CE3E
0 1463
3ECD
60
*XMTIN
* Übertrage in einlaufender XMTIN JSR DISINT
STA ZQIN LDA H AUMASK JSR SETXMT BEQ XMTl01 JSR DOUTOl LDY #-4 JSR D24US XMTlOl EQU *
BIT PORTD BNE XMTl02 JSR RCVOOl JSR DOUTO). LDY B-51 JSR D20US XMTl02 EQU *
LDA «AUMASK ' LDX 8INBUF JSR XMTMSG RTS
ON ON
«t
W ON
Richtung auf Buchungseinh'eit
Setze Unterbrechungen außer Betrieb
Lösche Marke für einlaufende Warteschlangennachricht
Setze auf Übertragung
Wenn kein RTS von Buchungseinheit Bewirke Anstieg von RTS/CTS an Buchungseinheit Verzögere 39 psec., T2
Wenn RTS von Buchungseinheit
Empfange Nachricht von Buchungseinheit Ausgebe RTS
Verzögere 270 psec., T17
Übertrage INBUF (Eingabepuffer) auf Buchungseinheit
Aussprung
> w
TEST 13 10/16/79 12: 48 : 37 DMO.-CROSS.T13
0)465
* XMTMSG
0 1466
«TRANSMIT
MESSAGE
01467
3ECE
85 25
XMTMSG
STA
IOMASK
0)468
3 EDO
86 1D
STX
BPTR
0)469
3ED2
*86 4 8
STX
ZECHER
0)470
3ED4
B5 00:
LDA
0,X
01471
3ED6
8 5 1A
STA
BCTR
01472
3ED8
20 5B3F
JSR
DOUTOl
0)473
DB3E
XMTMO 1."
EQU
*
01474
9EQB
A2 00
LDX
HO
0 14 75
DD3E
XMTM02
EQU
*
0 14 76
3EDD
A5 25
LDA
IOMASK
0 1477
3 EDF
25 83
AND
PORTD
0 14 78
3 EE 1
FO OC
BEQ
XMTM05
01479
3EE3
E8
•I NX
01480
3EE4
DO F7
BNE
XMTM04
0148)
3EE6
A9 02
LDA
IEXMASK
0 1482
3 EEB
C5 25
CMP
IOMASK
0 1483
3EEA
DO F)
BNE
XMTMO3
0 1484
3 EEC
4C 5 7 3 F
,
JMP
DOUTOO
01485
*
01486
DDSE
XMTM03
EQU
XMTM02
0 1487
DDSE
XMTM04
EQU
XMTM02
0 1488
EF3E
XMTM05
EQU
*
01489
3 EEF
AO F5
LDY
1-11
W M
en
Übertrage Nachricht Speichere Gerätewähler Anfangssetzung Bytezeiger Lösche Echofehler-Marke
Bewirke Ausstieg von RTS
Führe aus bis alle Bytes gesendet
Setze Sperrzeitzähler, T13
Schleife - Ausgang bei CTS (Sendebereitschaft) Ausgang wenn CTS
Erhöhe Sperrzeitzähler
Sperrzeit abgelaufen
Wenn Sendung an externes Gerät
Senke RTS ab Aussprung
Verzögere 72 psec
T4
OS OS K»
W Os
TEST 13 10/16/79 12:40:37 DMO.-CROSS .T13
01 490
3EF1
20
513F •
JSR
D2 2US
0 1 4 9 1
3EF4
E6
1D
INC
BPTR •
01492
3EF6
20
A93F
JSR
XMTBYT
01493
3EF9
C6
1A •
DEC
BCTR
OÌ494
3EFB
DO
DE ' .
BNE
XMTMO1
01495
*
01496
3EFD
24
48
BIT
ZECHER
01497
3EFF
10
03
BPL
XMTM06
01 498
3 FO 1
4C
C73D
JMP
RCVM02
01499
040F
XMTM06
EQU
*
01 500
3FÛ4
20
5B3F
JSR
DOUTOl
01501
3F0 7
AO
CB
LDY
B-53
01 502
3F09
20
4D3F
JSR
D26US
01503
3 F0C
20
573F
JSR'
DOUTOO
01504
3F0F
AO
EE
LDY
11-1.8
01505
3 F 1 1
20
503F
JSR
D2 4 US
01506
3 F1 4
60
RTS
Erhöhe Bytezeiger Übertrage Byte Erniedrige Bytezähler
Wenn Echofehler
Prüfe Status, Abbruch
Sende Bestätigung Verzögere 286 jisec. , T7
Sende EOM (Ende der Nachricht) Aussprung
TEST 13 10/16/79 12:40:37 DMO-.CROSS.T13
01508
* XMTOUT
01509
* Übertragung in
Auswärtsr.ichtung an externes Gerät
01510
3F15
20
4F3A
XMTOUT
JSR
DISINT
Unterbrechung außer Betrieb
01511
3F1B
85
4 B
STA
2QOUT
Lösche Marke für auslaufende Warteschlangennachricht
01512
3F1A
24
49 .
BIT
2EXCOM
Wenn externe Kommunikationsmarke gesetzt
01513
3F1C
10
1E "
BPL
XMT002
01514
3F J E
A9
02
LDA
DEXMASK
Setze auf Übertragung
01515
3.F20
20
023E
JSR
SETXMT
01516
3F23
DO
10
BNE
XMTOOl
Wenn RTS von externem Gerät
01517
3F25
AO
FC
LDY
1-4
Verzögere 35 psec., T3
01518
3F27
20
5 2 3 F .
JSR
D20US
0 15 19
3F2A
20
8 3 3 D
JSR
RCV102
Erhalte Nachricht von externem Gerät
0 1520
3F2D
20
5B3F
JSR
DOUTOl
Veranlasse Anstieg von RTS
01521
3F30
AO
CD
LDY
#-51
Verzögere 270 psec., T17
0 1522
3F32
20
523F
JSR
V
D20US
01523
353F
XMTOOl
EQU
*
0 1524
3F35
A9
02
LDA
DEXMASK
Übertrage Ausgabepuffer auf externes Gerät
01525
3F37
A2
1 2
LDX
iOUTBUF
0 1526
3 F 3 9
20
CE3E
JSR
XMTMSG
0 1527'
3C3F •
XMT002
EQU
*
0 1528
3F3C
60
RTS
Aussprung
TEST 13 10/16/79
12:40:37 DMO: CROSS.TI 3'
01530 3P4F
01531
01532
01533
01534
01535
01536 3F4F EA
01537 3F50 EA.
01538 3F51 EA
01539 3F52 EA
01540 3F53 EA
01541 3F54 30 FD 01542'3F56 60
ORG S3FFA-171
*D26US
*' Zeit Verzögerungsroutinen
D26US D24US D22US D20US Dl OUS
D12US
. NOP , NOP NOP NOP INY
BMI DlflUS RTS
o\
ON to w
ON
Verzögerung beinhaltet LDY ff und ISR Halte Kode von Seitengrenzen fern Einstellungen für Y
>
W M 00
TEST 13 10/16/79 12:48:37 DMO:CROSS.T13
û 1 5 4 4 *
01545
01546 3F57 A6 30
01547 3F59 DO 02
01548 5B3F
01549 3F5B A6 3) 01550.3F5D 86 82 0155)'3F5F 86 2F 01552 3F6) 60
* DOUTOO
* Ausgabedaten 0 oder Daten DOUTOO LDX PORTCO
BNE DOUTO2 DOUTO) EQU *
LDX PORTCI DOUTO2 STX PORTC
STX PORTCI RTS
l
1 an laufendes Gerät
Setze auf Ausgabedaten 1
Springe um alternativen Eintrittspunkt alternativer Eintrittspunkt
Setze auf Ausgabedaten 1
Ausgabedaten
Speichere Port-Abbild
Aussprung
'16/79
A5 25
24. 83
DO 00
FO 07
) 8
49 00
05 2F
90 07
713F
38
49 FF
25 2F
BO 00
783F
85 2F
85 82
12:48:37 DMO: CROSS.T13
* ECHO
* READ AND ECHO
* Bei Aussprung
ECHO
ECHOOÌ
ECH002
LDA BIT BNE BEQ CLC
EOR
ORA
BCC
EQU
SEC
EOR
AND
BCS
EQU
STA
STA
RTS
INPUT Lese und gebe Echo der Eingabe wieder stellt Übertrag Daten=0 oder Daten=1 dar Lese Eingabe
IOMASK PO RT D * + 2 ECHO)
#$00 PORTCI
EC1I002 • *
V
# ? FF PORTCI
ECU002
*
PORTCI PORTC
Wenn Bit = 1 für Daten = 0
Übertrag=0 für Daten = 0
Setze auf Echo Bit = 1 für Daten = 0
(Zeitausgleich)
sonst
Übertrag = 1 für Daten = 1
Setze auf Echo Bit = 0 für Daten = 1
(Zeitausgleich)
Ausgebe Bit
Aussprung
TEST 13 10/16/79 12:40:37 DMO:CROSS.T13
0) 576
* RCVBYT
0)577
' *RECEIVE
BYTE
01570
3F7D
A9 80
RCVBYT
LDA
HS80
01 579. 3F7F
A6 10
LDX
BPTR
0 1580
3F81
95 00
STA
O, X
01 581
3F83
A2 00
LDX
KO
01582
853F
RCVBOl
EQU
*
01583
3F8 5
A5 25
LDA
IÒMASK
0 1584
3F87
24 83
BIT
PORTD
01585
3F89
DO 06
BNE
RCVB03
01586
SF8B
E8
I NX
0 1587
3F8C
DO F 7
BNE
RCVB02
0 1588
3 FBE
4C 4330
JMP
PSTAT3
0 1 589
853F
RCVB02
EQU.
RCVBOl
0 1590
913F
RCVB03
EQU
**
01 591
3F91
20 563F
JSR
Dl 2US
01592
3F94
20 623F
JSR
ECHO
01 593
3F97
20 56 3F
JSR
Dl 2US
01594
9A3F
RCVB04
EQU
* .
0 1595
3F9A
AO F8
LDY
«-8
0 1 596
3F9C
20 5 3 3F
JSR
D 1 8 US
0 1597
3F9F
20 623F
JSR
ECHO
0 1598
3 FA 2
A6 1 D
LDX
BPTR
0 1599
3 FA 4
76 00
ROR
O, X
0 1 600
3FA6
90 F2
BCC
RCVB04
0 1601
*
0 1602
3 FAB
60
RTS
>
Empfange Byte
Setze Markierung - Lösche Puffer
Setze Sperrzeitzähler, T13 Schleife - Ausgang bei Start Ausgang, wenn Start
Erhöhe Sperrzeit-Zähler Wenn Sperrzeit vorüber Abbruch
Schleifenende Verzögere 12 psec., T10 Echo für Startbit Verzögere 10 jisec., T10
Führe aus bis 8 Bits exponiere Markierung Verzögere 53 psec., T10
Lese Bit undgebe Echo Rotiere Bit in Byte hinein on ©S
Prüfe auf Markierung w
ON
Aussprung
TEST 13 10/16/79
12:40i 37
DMO; CROSS.TI 3
0)604 01605 Ol 606 0)607 0) 608 0)609 0)6)0 0)6) ) 016)2 0)6)3 0)6)4 0)6)5 0)6)6 01617 0)6)8
01619
01620 0162) 01622 ü I 623 0)624 0 16 2 5 01626 0 1627 01628
* XMTBYT
«TRANSMIT BYTE
3FA9 A6 )D , 3FAB B5 00 * 3FAD 85 37 3FAF' 38 3FBO A6 IA 3FB2 CA 3FB3 DO 0) 3FB5 18
B63F 3FB6 20 573F 3FB9 A2 F7 3 FBB AO F5 3FBD 20 533F
C03F 3 FCO 66 3 7 3FC2 BO 00 3FC4 90 04 3FC6 A4 31 3 FC 8 BO 0 4
CA3F 3FCA A4 30 3FCC 90 00 CE3F
XMTBYT
XMTBOl
XMTB03
XMTB03
XMTB04
LDX LDA STA SEC LDX DEX BNE CLC EQU JSR LDX LDY JSR EQU ROR 'ßCS BCC LDY BCS EQU LDY BCC EQU
BPTR 0,X
TEMP02
BCTR
XMTBOl
DOUTOO
1-9
1-11
Dl BUS *
TEMP02
* + 2
XMTB03 PORTCI
XMTB04
*
PORTCO XMTB04
Übertrage Byte
Kopiere Byte in Arbeitsbereich
Annahme daß EOB Byte beendet wenn dieses letztes Byte ist
EOM beendet Byte
Ausgabe Startbit
Setze auf Ausgabe von 9 Bits
Verzögere 68 psec., T9
Ausführung bis 9 Bits gesendet Hole nächstes Bit Wenn Übertrag gesetzt
Setze auf Ausgabe von Daten = 1
sonst
Setze auf Ausgabe von Daten = 0 (Zeitausgleich)
TEST 13 10/16/79 12:48:37 DMO:CROSS.T13
016 29
3FCE
A5
2F
LDA
PORTCI
01630
3FDO
84
2F
STY
PORTCI
01631
3FD2
8 4
8 2
STY
PORTC
0 1632
3FD4
20
E6 3F
JSR
XMTBOS
01633
3FD7
A0
FB
LDY
a-s
0 1 634
3FD9
20
533F
JSR
di aus
01635
3 FDC
E8
I NX
0)636
3FDD
30
E)
BMI
XMTB02
0)637
*
016 3 8
3FDF
AO
FE
LDY
8-2
01639
3 FE 1
20
533F
JSR
Dl 8US
0)640
3FE4
A5
2F
LDA
PORTCI
0)641
E6 3 F
XMTB05
EQU
*
0)642
3FE6
45
83
EOR
PÖRTD
0)643
3FE8
25
25
^AND
IOMASK
0 1644
3 FEA
FO
00
BEQ
* + 2
0 1645
3 FEC
DO
03
BNE
XMTB06
01646
3FEE
1 8
CLC
0 1647
3 FEF
90
03
BCC
XMTB07
0 1648
F) 3F
XMTD06
EQU
*
Ü 1 649
3 FF 1
38
SEC
0 1650
3FF2
DO
OO
DCS
XMTB07
0)651
F4 3F
XMTB07
EQU
*
01652
3FF4
6 A
ROR
A
0 1653
3 FF5
05
48
ORA
ZECHER
01654
3FF7
83
48
STA
Z ECII ER
0 1655
"1FF9
60
RT*?
Hole vorheriges Bit Ausgebe gegenwärtiges Bit
Vergleiche vorheriges Bit mit Echo Verzögere 38 psec., T9
Zähle Bit
Verzögere 23 psec., T9
Hole vorherige Bitausgabe (STOP) alternativer Eintrittspunkt Vergleiche vorheriges Bit mit Echo
Wenn Bits übereinstimmen
Setze auf Wartung der Echo-Fehler-Marke sonst
Setze auf Setzung der Echo-Fehler-Marke (Zeitausgleich)
Bringe Echo-Fehler-Marke auf neuen Stand
Aussprung
TEST 13 10/16/79
0)657 0) 658
0)659 0038
0)660 3 FFA 0038 0)661 3FFC 0D39 0)662 3FFE 0038 01663
12:40:37
DMO: CROSS.T13
* END
*
NMINT
Os
«k
W Os
Unterbrechungsvektor und Endanweisung
EQU INTRP
FDD NMINT
FDB INIT
FDB INTRP
END
CROSS REFERENCE
ACR 008B 127
AUMASKOOO1 121
DCTR 001A' 18
BEND 001B 19
BLANK 3A 1 8 538
ULANK13A 1A 540
BLINK 001C . 20
BPTR 001D 21
CTRRQ 0085 128
CTRLO-0084 129
D12US 3F56 1552
DJ8US 3F53 1540
D20US 3F52 1639
D22US 3F51 1538
D24US 3F50 1537
378
400
13)3
1446
787
790
1471
1260
1263
361
559
721
550
149
758
770
1 259
1606
382
144
381
1238
1591
1593
1201
1541
1596
1243
1450
15)0
1490
]<\5)
1505
1460
1493 1610
044 070 1 1.09
1264 1260 1277
1610 .1634 1639 1522
1468 1491 1579
1598
>
TEST 13 10/16/79 12 : 46: 37 DMO: CROSS.T13
D26US
00 IE
1536
1271
1502
DDOUNC
001F
22
190
195
233
242
DECPOS
3A3F
23
280
552
563
635
1401
1403
1411
14)6
D1 S PO1
3A43
568;
DISB02
3A4E '
571
576
DlSB03
3A4E -
577
573
D1SB04
3A28
578
570
DISDFR
oooo •
577
• 742
1020
1077
• -
DlSBUF
0020
13
252
542
763
789
) 101
1 1 05
1 106
1 109
1361
1363
1 379
• 1420
ï
D1SCTR
3A54
24
• 250
255
281
319
DISIO)
. 3A4 F
587
593
650
DISINT
3864
584
558
1238
1 308
' 1 351
DISP
3890
250
DISPOi
389C
256
251
D1SP02
389E
263
260
D1SP03
3BAE
265
262
DISP04
38AE
275
273
DI SP05
38AE
276
217
Dl SP06
38D9
277
269
Dl SP07
38C4
284
282
Dl SPOS
3ÜC4 «
29 )
288
903
715 924 : 926 "954 959 1398
1433
872 .993 1023 1034 1092 1095
1115 1116 . 1191 1193 1195 1352
]427 1431 1432
326 373
1378 1444 1510
On on s»
«k
W on
test 13 10/16/79
12:40:37
dmo: cross.t13
disp09
3 0cf
290
dl sp 10
38d5
302
di sp 11
38d5
303
d i sp 1 2
38d5
304
d 1 s p 1 3
30eo
31 1
d! sp 1 4
38eo
312
d1sp15
38f5
325
di sp 1 6
3 0 fd
333
disptr
0021
25
doutoo
3f57
1546
doutol
3f5b
1540
d0ut02
3f5d
1550
eaea
3a55
592
eaec
3a60
606
eaop
3a64
616
ecea ■
•3a69
632
eceaol
3a6b
633
ecec
3a02
649
écho
3f62.
1557
echool
3 f 7 1
1566
ECIIOO 2
3f70
1571
ECOP
3 aßa
661
ECOPOl
3a8d
665
exmask
0002
•122
fixdol
3e4 7
1305
f ixd02
3 E 4 E
1309
250 264 1503 16)5 1456 1472 1500
529
530 616
V
531
521 661
522
1272 1592 1597
1570
523
12 4 6 14 01 1514
296
300
293
206
309
307
323
270
253
1404
1449
1547
510
519
520
510
600
511
1261
1560
1 565
512
621
394
1 396
1307
©\ ON
4*. ON
1520
1524 >
W N>
ON
TEST 13 10/16/79 12:40:37
FIX DO 3
3E5C
1397
1391
FlXD04
3E64
1402
1399
FlXD05
3E70
1409
1 407
F 1XD06
3E70
14ia
1417
F 1XD07
3E7F
1410
1413
F1XDO0
3E92
1430
1420
FlXD09
3E9E
1437
1435
FIXDEC
3E39
1370
759
FLSOOl
3AA0
607 *
601
FLS002
3 ABl
694
670
FLS003
3 AB 1 .
695
752
FLSOUT
3A95
677
704
FLUSll
3AB2
700
393
FLUSH1
3AE4
725.
712
FLUSH2
3AE4
. 726
709
FLUS1I3
3AEE
732
729
FLUSH4
3AF7
733
734
FLUSH5
3D03
744
731
FLUSH6
3 DOB
740
740
FLUSH7
3BOE
750
706
FLUSHB
3 AB 1
752
703
FMT BD.)
3 B 2 5
760
765
FMTB02
3B20
771
640
FMTB03
3B4C
795
793
FMTBOF
3 B 1 1
757
1 146
DMO:CROSS.TI3'
077 970 904
036 1290
390 404 643
737
720
> w
-i
1021
751 055 1150 1155
o\
S\ M
4^
W ®\
TEST 13 10/16/79
1 2:48:37 DMO; CROSS.TI 3
GETKOI
3B5B
812
807
'
GETKEY
SB53
806
' 592
649
892
GETNOl
• 3B6A
823
821
GETNIB
3B5F
817 !
560
562
574,
1004
GETPTR
0022
26
557
564
567
791
1044
1 353
1380
1421
IIAREG
0082
1.01
I1BANT
0086
109
1IBCNT
0087
1 1 1
IICSUM
0084
. 105
'
11DIACS
008D
108
HD I SAB
0042
74
• 851
IIDISKB
0003
117
733
IIDISPC
00A1
119
713
IIBLOCK
008A
102
IIDR2A1
3B75
833
641
1147
IIDR2A2
3B78
835
1073
IIDR2AU
3B6F
830
384
667
053
1069
IIDREG
0083
103
IIENABL
004 1
73
1 138
HENAKB
0062
1 16
728
IIENDEN
0043
75
666
DENTAM
0QC5
81
606
IIENTCO
00C6
' 82
632
HEX RD
0061.
1 I 5
700
IIEXWR |
OOEI
1 1 3
739
o\ o\
W ON
1026 1040 1386
794 817 824 994 1024 1030
1153
> w
00
TEST 13 10/16/79
12:40:37
DMO:CROSS.T13
IIIISLIM
008E
1 10
HLOPOS
008B
104
DMTRNO
00 8C
106
IIPCHT
0085
107
IIPSET
009 )
1 0 0:_
IIREQAR
0052
86'
IIREQBA
0056
94
IIREQBC
0057"
96
IIREQCS
0054
90
IIREQDL
0052
87
IIREQDR
0053
88
IIREQDS
0055
93
1IREQHS
0056
9.5
IIREQLP
0053
09
IIREQMN
0054
9)
IIREQPC
0055
92
IIREQPO
0051
85
IIREQST
0056 .
84
IIRESBA
0044
76
lIRESSV
0047
78
IISETPO
00C1
89
IISETSV
0046
77
IISTAT
0000
98
IDEND
00)0
123
I BPTR
0023
27
1ER
0 0 8A
130
1071 1)62 1295 1276
0)7
.060
152
383
458
4 4 6
144
44 1
600
240
258
407
>
w so
Q\ 0\ N>
W
o\
TEST 13
10/16/79
.12:40:
37
DMO:CROSS.T13
1FR
0089
) 3 1
INBUF
000A
15
123
634
639 ' • 707.
1 145
1247
1461
1 N IT
390D
351 •
1061
INITOl
3914
356 ;
359
INTROl
3811
154
152
1NTR02
3817
158
1 50
INTRP
3800
143
1659
1 662
IOMASK
0025
29
1257
1282
1207 1467
KDSC
3817
163
KSCOl
3R2A
174
1 86
KDSC02
383B
184
1 79
KBSC03
3849
194
191
KOSCO4
3840
1 99
• 189
KBSC05
3857
. 213
216
KBSCÒ6
385E
219
201
HBSC07
3860
227
224
KBSC08
3860
228
221
KBSC09
3871
232
• 218
KBSC10
387C
24 1
230
KBSC)1
3880
243
193
KBSCl2
388-1
245
197
234
KCLEAN
0026
30
243
321
806 809
KCLEEN
0027
- 31
244
470
KEYCOL
0028
32
181
182
210 212
k PVMfll inon n a o
•n a -t
ON
ON
W ON
h, •
741 745 747" 830 832
1482 1557 1583 1643
/
240
TEST 13 10/16/79
12:40:37
DMO:CROSS.TI3
KEYM02
3BBB
850
KEYM03
3B8D
852
KEYMOD
3B7E
842
KLUSED
0029
33
KSW 1
Q02A
23
LNCTIM
002D
• 35
MLOOOI
395B
399
ML0002
3967
405
ML000 3
3977
415
ML0004
3977
416
ML0005
39A5
443
ML0006
■39AA
447
ML0007
39AD
451
MLOOOO
39BE
462
ML000 9
39CI
466
ML0010
39D1
475
MLOO11
39D4
480
MLOO12
39D4
4 Q 1
MLOO13
39E4
.490
MLOO14
39F2
499
MLOO15
3 AO 1
569
MLOO16
3 AO 2
510
MLOO17
3AOD
521
MLOO10
394C
532
MLOO19
394C
533
M LOOP
39 4C
• 392
960
459 1139 940
0)1 913 934
433
153 411 906
407
5 17 5 2 4 5 2 0
503
533 1207
067
448
922
37 4
172
151
396
402
412
410
430
442
435
457
455
471
474
460
405
489
513
505
507
50 1
453
532
>
W W h-»
962 1060 1122
1001
On On
■U
W On
TEST 13 10/16/79
12:48:37
DMO: CROSS.T13
NI DCTR
002C
36
548
638
710
.
1434
14 36
NMINT
3800
1659
1660
ÛDEND '
0018
1 28
1319.
OPEA
3893
860
V 514
525
886
OPEC
3B93
886
515
526
OPOP ;
I 3BB0
892
516
527
OPOPOl
3BC1
902
893
OPOP0 2
3BC9
• 907
904
OUTBUF
0012
16
124
679
685
1161
1165
1177
PAKEOl
3BD2
918 .
915
PAKEOl
3BD2
919
598
PAKE03
3 BDF
927
925
PAKEO 4
3 BDF
. 928
•921
PAKE05
3BDF
929
943
952
957
PAKEY
. 3BCA
913
896
PCLB01
3B98
868
644
973
PCLB02
3BAD
879
876
PCLBO 3
3BAD
880
874
PCLRK
3B95
867
941
PCR
00 8C
132
376
PDKEOl
3 BDF
943
940
PDKEY
3 BEO
934
597
654
095
PKSW
002D
37
380
493
490
PNUMO)
3BFF
961
955
Il kl 1 1 kl l.'
•)npr
0 A fl
790
714 1294
©\ ©\
W ON
950 1117 1383 1394 1404
719 1016 1019 1070 1076 3,296 1297 1318 1525
>
W W
TEST 13 10/16/79
PORTA
008Ö
133
PORTAX
008D
134
PORTB
0031
1 35
PORTB1
Ò02E
38
PORTBX
00BE
136
PORTC
0082
137
PORTCO
0030
40
PORTC1
003 1
41
PORTC1
002F
39
PORTO'
0083
138
PPEQOl
3C1 1
• 975
PPEQ02
3C19
983
PPEQ03
3C23
988
PPEQ04
3C28
992
PPEQ05
3C2E
996
PPEQ06
.3C30
998
PPEQ07
3C32
1000
PPEQ08
3C32
1001
PPEQ09
3C3E
1000
PPEQ10
3 BDF
1011
PPEQK
3C04
9 6 8
PPOSTI
3C58
1025
PPOST2
3C6E
1038
PPOST 3
3C6E
1-039
P POST 4'
3C82
105 1
12:48:37
DMO;CROSS.T13
171
176
315
324
1 67
317
164
1 75
320
368
369
430
431 •
433
372
366
420
1205
1550
1331
1546
1626
1329
1 549 •
1623
365
427
1203
1206
1 629
1630
1640
395
401
1 283
1315
972
970
986
900
1354
799
1423
429 436
1573
1328 1333
1010 1006 1003
9 16 1143 1020 1035 1042
1005 1196
. 586 1631
1330 1551 1564 1569 1572 1453. 1477 1558 1584 1642
on on N>
-b.
OJ on
TEST 13 10/16/79 12:48:37 DMO:CROSS.T13
PPOST5
3C86
1054
PPOST6
3C86
1055
PPOSTR
3C44
1016
PRKEOO
3C89
1061 >
PRKEOl
3C9F
1075
PRKE02
3CA4
1078
PRKE03
3CA6
1080
PRKE04
3CA0
'1032
PRKEY
3CB7
1060
PSHN02
3CBB
1099
PSIINIB
3 CAD
1091
PSKFOl
3CEC
1 137
PSKE02
3CF1
1 142
PSKE03
3CFE
1149
PSKE04
3D01
1151
PSKE05
3D09
1 156
PSKEY
3CDB
1122
PSTAT1
3 D1 4
1166
PSTAT2
3D2E
1188
PSTAT3
3D43
1199
PSTAT4
3DC9
1 20B
PSTAT5
3D09
1 209
PSTATR
3D0A
1161
PUTNOl
3D64
'1225
PUTN1B
3D52
1214
UIITPTR
nm2
42
1065
) 198
963 1415
669 . .v
463 . 472 1135 1185 1208 1209
1300 1369 1400 15 8 ß
1037 1048 1393 1033 1046 1216
1018
1063
691
476
1072
743
722
897
1111
575
1127
1 134
386
4 1 3
1 124
898
1170
1182
) 302
1 1 80
1 163
690
1 220
1009
999
c\
9\
W
>
W W
1381
' TEST 13 10/16/79 12:40:37 DMO: CROSS.T13
RCVBOl
3P85
1582
1589
RCVB02
3F85
1589
1587
RCVB03
3F91
1590
# 1505
RCVB04
3F9A
1594
1 600
RCVBYT
' 3F7D
1578
1269
RCV101
3D7D
21 4 1 :
1285
13)0
RCV)02
3D83
1245
1 240
1519
RCV103
3D8F
1252
1237
RCV IN
3D70
1286
397
RCVMOl
3D9B .
1262
1273
RCVM02
3DC7
1286
1498
RCVM03
3DE4
1301
) 289
RCVM04
3DE4
1302
1 265
RCVM05
3DE7
1 303
1284
RCVMSG
3D90
1 257
1249
1320
RCVOD1
3DF1
1312
1 309
1 455
RCV002
3DFE
1314
1316
S
RCVOUT
3 DES
. 1 308
403
837
SETXMT
3 E0 2
1327
1447
1515
SWAP
3 EOF
1339
261
774
822
1093
TEMPO1
0033
43
178
180
2)9
222
TEMP02
0037
44
492
496
772
777
TSTACK
007F
125
35 1
) 20)
W2DA01
3E2A
1369
1365
W2DA0 2
3 E 3 9
1 370
) 3 6 ß
W2DADD
3 E 1 C
) 351
878
987
>
w w
Ul
1102 1222
236
792 1097 1110 1608 1620
On Os
-fe. W
ON
TEST 13 10/16/79 12.-48.-37 DMO; CROSS. T13-
WRKBUF
0005
J 4
995
1362
XMTBOl
3FB6
1614
1612
XMTB02
3 FCO
1619
1636
XMTB03
S FC A
1625
. 1622
XMTB04
3 FCE
1628
; 1624
1627
XMTB05-
3FE6
1641
1632
XMTB06 3FF1
1648
1645
XMTB07
3FF4
1 651
1647
1650
X'MTBYT
3 FA 9
1606
1492
XMT101
3EB7
1452
1 4 4 B
XMTl02
3EC6
1 459
1454
XMT IN
3EA3
1444
749
034
XMTMO1
3EDB
1473
1494
XMTMO 2
3EDD
• 1475
1486
1487
XMTMO 3
3 EDD
1486
1483
XMTMO4
3EDD
1487
1400
XMTMO 5
3EEF
1488
1478
XMTMO6
3F04
1499
1497
XMTMXG
3ECE
1467
1462
1526
XMTOOl
3F05
1523
1516
XMT00 2
3F3C '
1527
1513
XMTOUT
3F15
1510
680
YBATRC
003E
53
456
YCKDAT
0039
48
421
YBNABL
003D
52
27 2
YFLAGS
0038
46
1160
o\
ON
W ©\
>
W W ON
TEST U 3 T. 1*0/16/79 12: 40:37 DMOsCROSS.T13
YIIARDE
003 F
'54
207
1176
1179
'1290
YINSF
003A
49
295
299
YKßDIS
0040
55
370
440
452
682
YLOWF
003B
50
294
-
YRESBA
0038
• 47 .
418
,
YSERV
0Ò3C
51
306
2ADOEL
0046
63
810
875
969
991
2I3CDWN
0041
58
168
226
454
ZBL1NK
0047
64
156
157
292
417
ZECUER
00 4 Q
65
1469
1496
1653
1654
2EXCOM
0049
66
363
439
445
1236
zf'lags
004 1
57
54 3
zkeymo
0042
59
842
846
1439
2QÌN
004A
67
701
705
710
1251
ZQOUT
00 4 B
68
677
702
724
1299
ZSTBLD
0043
60
711
047
1022
1133
ZSTNGT
0044
61
270
285
1050
1126
ZTIMD
0045
Ç2
409
971
108 4
ZTOTAC
004C
69
860
073
001
977
ZTRI P
00 4 D
70
467
469
1173
1174
-a
730 73$
1052 420 1512
1445
1322 1511
1426
1438
985 900 1053
-b.
W ON

Claims (5)

  1. 662 436
    2
    PATENTANSPRÜCHE
    1. Frankiermaschine, dadurch gekennzeichnet, dass sie eine Steuereinheit (75) mit einem ersten Logikschaltkreis (100, 101) mit mindestens einem Mikroprozessor (100) zur Steuerung von Dateneingaben, eine Buchungseinheit (58) mit einem zweiten Logikschaltkreis mit einem Mikroprozessor (120) zur Steuerung der Buchungsvorgänge inklusive ausgedruckter Portogebühren, eine Druckereinheit (56) zum Ausdrucken der Portogebühren und Übertragungsmittel aufweist, die den ersten und zweiten Logikschaltkreis so verbinden, dass zwei Einweg-Übertragungskanäle zwischen der Steuereinheit (75) und der Buchungseinheit gebildet sind.
  2. 2. Frankiermaschine nach Anspruch 1, dadurch gekennzeichnet, dass ein dritter Logikschaltkreis (130) zur Steuerung der Druckereinheit (56) und ein zweites Übertragungsmittel vorgesehen sind, die den zweiten (120) und dritten Logikschaltkreis (130) so verbinden, dass Einweg-Übertragungskanäle zwischen der Buchungseinheit (58) und der Druckereinheit (56) gebildet sind.
  3. 3. Frankiermaschine nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Logikschaltkreise Datenfolgen bitweise senden und empfangen können, wobei der empfangende Logikschaltkreis jedes Bit an den sendenden Logikschaltkreis zurücksendet und dieser jedes gesendete Bit mit dem entsprechenden zurückgesendeten Bit vergleicht, um festzustellen, ob die gesendete Datenfolge mit der zurückgesendeten Datenfolge übereinstimmt.
  4. 4. Frankiermaschine nach Anspruch 2, dadurch gekennzeichnet, dass die Druckereinheit (56) einen Druckmechanismus aufweist, der durch den dritten Logikschaltkreis (130) gesteuert wird.
  5. 5. Frankiermaschine nach Anspruch 1 oder 2, dadurch gekennzeichnet, dass die Übertragungskanäle durch die Logikschaltkreise so steuerbar sind, dass Daten auf einem Übertragungskanal nur übertragen werden, wenn auf dem anderen Übertragungskanal ein bestimmtes Signal anliegt.
CH5044/84A 1979-10-30 1980-10-30 Frankiermaschine. CH662436A5 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US06/089,413 US4301507A (en) 1979-10-30 1979-10-30 Electronic postage meter having plural computing systems

Publications (1)

Publication Number Publication Date
CH662436A5 true CH662436A5 (de) 1987-09-30

Family

ID=22217501

Family Applications (6)

Application Number Title Priority Date Filing Date
CH573/86A CH666565A5 (de) 1979-10-30 1980-10-30 Kommunikationsanlage und frankiermaschine mit einer kommunikationsanlage.
CH5043/84A CH662435A5 (de) 1979-10-30 1980-10-30 Steuereinheit fuer eine frankiermaschine.
CH5044/84A CH662436A5 (de) 1979-10-30 1980-10-30 Frankiermaschine.
CH5041/84A CH668875A5 (de) 1979-10-30 1980-10-30 Sende- und empfangseinheit und kommunikationseinrichtung mit sende- und empfangseinheiten.
CH5042/84A CH662434A5 (de) 1979-10-30 1980-10-30 Frankiermaschine.
CH8094/80A CH662433A5 (de) 1979-10-30 1980-10-30 Frankiermaschine.

Family Applications Before (2)

Application Number Title Priority Date Filing Date
CH573/86A CH666565A5 (de) 1979-10-30 1980-10-30 Kommunikationsanlage und frankiermaschine mit einer kommunikationsanlage.
CH5043/84A CH662435A5 (de) 1979-10-30 1980-10-30 Steuereinheit fuer eine frankiermaschine.

Family Applications After (3)

Application Number Title Priority Date Filing Date
CH5041/84A CH668875A5 (de) 1979-10-30 1980-10-30 Sende- und empfangseinheit und kommunikationseinrichtung mit sende- und empfangseinheiten.
CH5042/84A CH662434A5 (de) 1979-10-30 1980-10-30 Frankiermaschine.
CH8094/80A CH662433A5 (de) 1979-10-30 1980-10-30 Frankiermaschine.

Country Status (12)

Country Link
US (1) US4301507A (de)
AT (2) AT384116B (de)
BE (1) BE885949A (de)
BR (1) BR8006975A (de)
CA (1) CA1159563A (de)
CH (6) CH666565A5 (de)
DE (3) DE3051015C2 (de)
FR (1) FR2476352B1 (de)
GB (5) GB2080587B (de)
IT (1) IT1148281B (de)
NL (1) NL193476C (de)
SE (5) SE459828B (de)

Families Citing this family (116)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4390952A (en) * 1980-06-27 1983-06-28 Pitney Bowes Inc. Mailing system with sequential printing control
FR2486687B1 (fr) * 1980-07-09 1986-08-22 Roneo Alcatel Ltd Compteur d'affranchissement postal
US4447890A (en) * 1980-07-14 1984-05-08 Pitney Bowes Inc. Remote postage meter systems having variable user authorization code
US4442501A (en) * 1981-02-26 1984-04-10 Pitney Bowes Inc. Electronic postage meter with weak memory indication
US4445198A (en) * 1981-09-29 1984-04-24 Pitney Bowes Inc. Memory protection circuit for an electronic postage meter
US4566106A (en) * 1982-01-29 1986-01-21 Pitney Bowes Inc. Electronic postage meter having redundant memory
US5109507A (en) * 1982-01-29 1992-04-28 Pitney Bowes Inc. Electronic postage meter having redundant memory
EP0231452B2 (de) 1982-01-29 2002-01-16 Pitney Bowes Inc. Mikroprozessorsysteme für elektronische Frankiereinrichtungen
CA1206619A (en) 1982-01-29 1986-06-24 Frank T. Check, Jr. Electronic postage meter having redundant memory
US4471440A (en) * 1982-02-01 1984-09-11 Pitney Bowes Inc. Electronic postage meter having power magnetically coupled to the meter from the meter base
US4506329A (en) * 1982-03-08 1985-03-19 Pitney Bowes Inc. Non-volatile memory serial number lock for electronic postage meter
US4525786A (en) * 1982-07-12 1985-06-25 Pitney Bowes Inc. Electronic postage meter having a one time actuable operating program to enable setting of critical accounting registers to predetermined values
US4573174A (en) * 1982-09-07 1986-02-25 Pitney Bowes Inc. Electronic postage meter having interlock between mechanical and electrical registers
US4547853A (en) * 1982-10-13 1985-10-15 Pitney Bowes Inc. Electronic postage meter reset circuit
EP0111183A3 (de) * 1982-11-15 1986-05-07 Pitney Bowes Inc. Abschirmvorrichtung für elektronische Frankiermaschinen und elektronische Frankiermaschine mit einer solchen Vorrichtung
DE3243696A1 (de) * 1982-11-23 1984-10-18 Francotyp - Postalia GmbH, 1000 Berlin Verfahren zur datumseinstellung fuer elektronisch gesteuerte frankiermaschinen
US4535407A (en) * 1982-12-08 1985-08-13 Pitney Bowes Inc. Postage meter with keyboard keys for changing postage unused amount
US4635204A (en) 1982-12-08 1987-01-06 Pitney Bowes Inc. Postal meter with date check reminder means
CA1223360A (en) * 1982-12-08 1987-06-23 Pitney Bowes Inc. Modifying a firmware variable in an electronic postage meter
US4623987A (en) * 1982-12-08 1986-11-18 Pitney Bowes Inc. Postage meter with keyboard keys for commanding and requesting performance of meter operations
US4509141A (en) * 1982-12-08 1985-04-02 Pitney Bowes Inc. Postage meter with keyboard keys used for changing operating constants
US4536850A (en) * 1982-12-08 1985-08-20 Pitney Bowes Inc. Monitoring the status of the trip cycle in an electronic postage meter
US4559443A (en) * 1982-12-08 1985-12-17 Pitney Bowes Inc. Initializing the print wheels in an electronic postage meter
US4636975A (en) * 1982-12-08 1987-01-13 Pitney Bowes Inc. Controlling firmware branch points in an electronic postage meter
US4577283A (en) * 1982-12-08 1986-03-18 Pitney Bowes Inc. Postage meter with keyboard keys for causing meter operations to be performed
US4622651A (en) * 1983-04-18 1986-11-11 Pitney Bowes Inc. Electronic postage meter having piezoelectric audio transducer energized by stepping motor driver circuit
US4524426A (en) * 1983-04-19 1985-06-18 Pitney Bowes Inc. Electronic postage meter controllable by mailing machine
US4578758A (en) * 1983-06-23 1986-03-25 Pitney Bowes Inc. Electronic postage meter having a regulated power supply system responsive to a voltage developed in a transformer primary winding circuit
US4535421A (en) * 1983-07-05 1985-08-13 Pitney Bowes Inc. Universal real time transparent asynchronous serial/echoplex converter
US4611282A (en) * 1983-07-18 1986-09-09 Pitney Bowes Inc. Postage meter using a flag to indicate interuption of accounting register updating due to power failure or microprocessor failure
US4528644A (en) * 1983-07-18 1985-07-09 Pitney Bowes Inc. Customizing the firmware after assembly of an electronic postage meter
US4763271A (en) * 1983-09-12 1988-08-09 Pitney Bowes Inc. Method and apparatus for updating parameter data
US4584648A (en) * 1983-09-14 1986-04-22 Pitney Bowes Inc. Post office window system with programmable prompts
US4584647A (en) * 1983-10-17 1986-04-22 Pitney Bowes Inc. Electronic postage meter with a ring counter
US4882669A (en) * 1983-11-28 1989-11-21 Canon Kabushiki Kaisha Multi computer fail safe control apparatus
EP0165386B1 (de) * 1984-04-26 1989-11-29 Heidelberger Druckmaschinen Aktiengesellschaft Verfahren und Speichersystem zum Speichern von Einstellwerten für Stellvorrichtungen an Druckmaschinen
US4559592A (en) * 1984-05-31 1985-12-17 Pitney Bowes Inc. Electronic postage meter having a switching power supply employing integrated circuit timer
US4635205A (en) * 1984-10-04 1987-01-06 Pitney Bowes Inc. Microprocessor controlled d.c. motor for indexing postage value changing means
US4636959A (en) * 1984-10-04 1987-01-13 Pitney Bowes Inc. Microprocessor controlled d.c. motor for controlling a postage meter
US4745346A (en) * 1984-10-04 1988-05-17 Pitney Bowes Inc. Electronic postage meter print wheel setting optimization system
US4631681A (en) * 1984-10-04 1986-12-23 Pitney Bowes Inc. Microprocessor controlled d.c. motor and application therefor
US4630210A (en) * 1984-10-04 1986-12-16 Pitney Bowes Inc. Microprocessor controlled d.c. motor for controlling a load
US4649491A (en) * 1984-12-20 1987-03-10 Pitney Bowes Inc. Modular battery powered business systems
US4817002A (en) * 1984-12-24 1989-03-28 Pitney Bowes Inc. Electronic postage meter non-volatile memory systems having human visually readable and machine stored data
US4731728A (en) * 1985-01-10 1988-03-15 Pitney Bowes Inc. Postage meter with means for preventing unauthorized postage printing
US4710883A (en) * 1985-03-12 1987-12-01 Pitney Bowes Inc. Electronic postage meter having a status monitor
US4998203A (en) * 1985-03-12 1991-03-05 Digiulio Peter C Postage meter with a non-volatile memory security circuit
US4775246A (en) * 1985-04-17 1988-10-04 Pitney Bowes Inc. System for detecting unaccounted for printing in a value printing system
FR2584557B1 (fr) * 1985-07-02 1989-07-28 Smh Alcatel Systeme de telecontrole pour machines a affranchir
US4835713A (en) * 1985-08-06 1989-05-30 Pitney Bowes Inc. Postage meter with coded graphic information in the indicia
US4650974A (en) * 1985-08-07 1987-03-17 Pitney Bowes Inc. Condensation shield
DE3681681D1 (de) * 1985-10-15 1991-10-31 Pitney Bowes Inc Doppelt redundante elektronische frankiermaschine.
DE3650330T2 (de) * 1985-10-16 1995-11-16 Pitney Bowes Inc Frankiermaschinensystem zur nichtflüchtigen Speicherung von Daten.
US4845632A (en) * 1985-10-16 1989-07-04 Pitney Bowes Inc. Electonic postage meter system having arrangement for rapid storage of critical postage accounting data in plural nonvolatile memories
US4817004A (en) * 1985-10-16 1989-03-28 Pitney Bowes Inc. Electronic postage meter operating system
US4805109A (en) * 1985-10-16 1989-02-14 Pitney Bowes Inc. Nonvolatile memory protection arrangement for electronic postage meter system having plural nonvolatile memories
US4787046A (en) * 1985-11-12 1988-11-22 Pitney Bowes Inc. Mailing system having a capability for one-step postage metering
GB2183546A (en) * 1985-11-29 1987-06-10 Pitney Bowes Plc Electronic postage meter
US4907161A (en) * 1985-12-26 1990-03-06 Pitney Bowes Inc. Batch mailing system
US4998204A (en) * 1985-12-26 1991-03-05 Pitney Bowes Inc. Mailing system and method for low volume mailers printing postage information upon inserts
GB8630680D0 (en) * 1985-12-26 1987-02-04 Pitney Bowes Inc Accounting for postage
US4853864A (en) * 1985-12-26 1989-08-01 Pitney Bowes Inc. Mailing systems having postal funds management
US4962459A (en) * 1985-12-26 1990-10-09 Mallozzi Joseph D System for accounting for postage expended by a postage meter having data security during printing
US4783745A (en) * 1986-01-30 1988-11-08 Pitney Bowes Inc. Nonvolatile memory unlock for an electronic postage meter
DE3605421A1 (de) * 1986-02-20 1987-08-27 Thomson Brandt Gmbh Verfahren zum datenaustausch zwischen einem ersten und einem zweiten prozessor
US4910686A (en) * 1986-04-04 1990-03-20 Pitney Bowes Inc. Postage meter with non-dollar amount indicia
US4831554A (en) * 1986-04-10 1989-05-16 Pitney Bowes Inc. Postage meter message printing system
US4785417A (en) * 1986-04-28 1988-11-15 Pitney Bowes Inc. Electronic postage meter having an out of sequence checking arrangement
US5375172A (en) * 1986-07-07 1994-12-20 Chrosny; Wojciech M. Postage payment system employing encryption techniques and accounting for postage payment at a time subsequent to the printing of postage
US4796193A (en) * 1986-07-07 1989-01-03 Pitney Bowes Inc. Postage payment system where accounting for postage payment occurs at a time subsequent to the printing of the postage and employing a visual marking imprinted on the mailpiece to show that accounting has occurred
US4809185A (en) * 1986-09-02 1989-02-28 Pitney Bowes Inc. Secure metering device storage vault for a value printing system
US4809186A (en) * 1986-09-19 1989-02-28 Pitney Bowes Inc. Postage meter for metering mixed weight mail
FR2611946B1 (fr) * 1987-02-27 1991-01-04 Smh Alcatel Machine a affranchir electronique comportant des valeurs limitant les affranchissements
FR2611947B1 (fr) * 1987-02-27 1991-05-10 Smh Alcatel Machine a affranchir comportant une alarme
FR2617313B1 (fr) * 1987-02-27 1991-08-16 Smh Alcatel Systeme d'exploitation d'une machine a affranchir electronique
US4941091A (en) * 1987-06-30 1990-07-10 Pitney Bowes Inc. Mail management system transaction data customizing and screening
US4837779A (en) * 1988-04-12 1989-06-06 Dual-Lite Manufacturing, Inc. Communicator and communication method and system
JP2679775B2 (ja) * 1989-07-31 1997-11-19 三田工業株式会社 Cpu間通信方法
US5293319A (en) * 1990-12-24 1994-03-08 Pitney Bowes Inc. Postage meter system
US5239168A (en) * 1991-07-29 1993-08-24 Pitney Bowes Inc. Postage meter with barcode printing capability
FR2704343B1 (fr) * 1993-04-21 1995-07-13 Secap Machine à affranchir en deux parties.
US5452654A (en) * 1993-07-13 1995-09-26 Pitney Bowes Inc. Postage metering system with short paid mail deterrence
US5448641A (en) * 1993-10-08 1995-09-05 Pitney Bowes Inc. Postal rating system with verifiable integrity
US5655023A (en) * 1994-05-13 1997-08-05 Pitney Bowes Inc. Advanced postage payment system employing pre-computed digital tokens and with enhanced security
US5586036A (en) * 1994-07-05 1996-12-17 Pitney Bowes Inc. Postage payment system with security for sensitive mailer data and enhanced carrier data functionality
US5612889A (en) 1994-10-04 1997-03-18 Pitney Bowes Inc. Mail processing system with unique mailpiece authorization assigned in advance of mailpieces entering carrier service mail processing stream
US5737426A (en) 1994-12-13 1998-04-07 Pitney Bowes Inc. Remote and secure feature enabling for an electronic postage meter
FR2730102B1 (fr) * 1995-01-31 1997-04-18 Neopost Ind Dispositif de protection thermique pour machine a affranchir
US6671813B2 (en) * 1995-06-07 2003-12-30 Stamps.Com, Inc. Secure on-line PC postage metering system
US6233063B1 (en) 1995-06-29 2001-05-15 Agfa Corporation Two lens converging device in a dual plane flat-bed scanning system
US5812536A (en) * 1995-07-05 1998-09-22 Pitney Bowes Inc. Secure accounting system employing RF communications for enhanced security and functionality
DE59710554D1 (de) 1996-01-31 2003-09-18 Francotyp Postalia Ag Frankiermaschine
US6050486A (en) * 1996-08-23 2000-04-18 Pitney Bowes Inc. Electronic postage meter system separable printer and accounting arrangement incorporating partition of indicia and accounting information
US5731980A (en) * 1996-08-23 1998-03-24 Pitney Bowes Inc. Electronic postage meter system having internal accounting system and removable external accounting system
US5812400A (en) * 1996-08-23 1998-09-22 Pitney Bowes Inc. Electronic postage meter installation and location movement system
US8225089B2 (en) 1996-12-04 2012-07-17 Otomaku Properties Ltd., L.L.C. Electronic transaction systems utilizing a PEAD and a private key
DE19711997A1 (de) * 1997-03-13 1998-09-17 Francotyp Postalia Gmbh Anordnung zur Kommunikation zwischen einer Basisstation und weiteren Stationen einer Postbearbeitungsmaschine und zu deren Notabschaltung
US5999921A (en) * 1997-04-30 1999-12-07 Pitney Bowes Inc. Electronic postage meter system having plural clock system providing enhanced security
US6058190A (en) * 1997-05-27 2000-05-02 Pitney Bowes Inc. Method and system for automatic recognition of digital indicia images deliberately distorted to be non readable
US5946672A (en) * 1997-06-12 1999-08-31 Pitney Bowes Inc. Electronic postage meter system having enhanced clock security
US6023690A (en) * 1997-06-12 2000-02-08 Pitney Bowes Inc. Method and apparatus for securely resetting a real time clock in a postage meter
US6076081A (en) * 1997-08-13 2000-06-13 Pitney Bowes Inc. Protocol converter with peripheral machine trip capability
US6175827B1 (en) 1998-03-31 2001-01-16 Pitney Bowes Inc. Robus digital token generation and verification system accommodating token verification where addressee information cannot be recreated automated mail processing
EP1118064A1 (de) 1998-09-29 2001-07-25 Stamps.Com, inc. Online frankiersystem
US6378012B1 (en) 1998-10-29 2002-04-23 Edward R. Bass Interface with data transmission mode from weighing scale to one or more peripheral devices and mailing machine tripping mode determined by individual peripheral device protocol
US6502143B1 (en) 1999-12-31 2002-12-31 Edward R. Bass Intelligent interface cable assembly and method of providing the same
US20020169728A1 (en) * 2001-02-23 2002-11-14 Christian Moy Modular franking system
US20020128986A1 (en) * 2001-02-23 2002-09-12 Peter Stutz Communication system for franking system
US6577300B2 (en) 2001-04-11 2003-06-10 Pitney Bowes Inc. System, device and method for recording and input to a programmable stamp of data to be included on a substrate in both human and machine readable form
US7475041B2 (en) * 2003-11-21 2009-01-06 Pitney Bowes Inc. Method and system for generating postal indicia or the like
US7424458B2 (en) * 2003-11-21 2008-09-09 Pitney Bowes Inc. Method and system for generating characterizing information descriptive of printed material such as address blocks and generating postal indicia or the like incorporating such characterizing information
US7668786B2 (en) * 2003-12-15 2010-02-23 Pitney Bowes Inc. Method and system for estimating the robustness of algorithms for generating characterizing information descriptive of selected printed material such as a particular address block
US20050131840A1 (en) * 2003-12-15 2005-06-16 Pitney Bowes Incorporated Method and system for generating characterizing information descriptive of selected printed material such as a particular address block
US8615409B1 (en) 2005-04-15 2013-12-24 Recovery Data-Connect, L.L.C. System and method for identification, perfection, collection, and valuation of third-party claims including subrogation claims
USD689998S1 (en) 2012-08-22 2013-09-17 S.C. Johnson & Son, Inc. Dispenser housing
USD713517S1 (en) 2013-02-19 2014-09-16 S.C. Johnson & Son, Inc. Dispenser

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2934009A (en) * 1956-10-22 1960-04-26 Pitney Bowes Inc Sheet feeding and treating
FR1186999A (fr) * 1957-06-07 1959-09-04 Ibm France Dispositif de commande et de contrôle à distance
US3910322A (en) * 1972-08-24 1975-10-07 Westinghouse Electric Corp Test set controlled by a remotely positioned digital computer
FR2225890B1 (de) * 1973-04-13 1976-09-10 Honeywell Bull Soc Ind
GB1428704A (en) * 1973-04-13 1976-03-17 Int Computers Ltd Data processing arrangements
DE2327669C3 (de) * 1973-05-30 1975-12-11 Siemens Ag, 1000 Berlin Und 8000 Muenchen Schaltungsanordnung für den Datenaustausch zwischen zentralen und peripheren Einrichtungen
ZA743969B (en) * 1973-10-16 1975-06-25 Pitney Bowes Inc Computer responsive postage meter
FR2253428A5 (de) * 1973-11-30 1975-06-27 Honeywell Bull Soc Ind
US3921148A (en) * 1974-03-06 1975-11-18 Ontel Corp Business machine communication system and data display
US3978457A (en) 1974-12-23 1976-08-31 Pitney-Bowes, Inc. Microcomputerized electronic postage meter system
US4097923A (en) * 1975-04-16 1978-06-27 Pitney-Bowes, Inc. Remote postage meter charging system using an advanced microcomputerized postage meter
US4124889A (en) * 1975-12-24 1978-11-07 Computer Automation, Inc. Distributed input/output controller system
US4016369A (en) * 1976-03-09 1977-04-05 Bell Telephone Laboratories, Incorporated Addressing arrangements for communications networks
US4050374A (en) * 1976-06-21 1977-09-27 Pitney-Bowes, Inc. Meter setting mechanism
CA1077171A (en) 1976-07-14 1980-05-06 Frank T. Check (Jr.) Electronic postal meter having noise-rejecting input/output channel
DE2750875A1 (de) * 1976-11-16 1978-05-24 Vital Zoltan Dr Kombinierte maschine
US4122532A (en) * 1977-01-31 1978-10-24 Pitney-Bowes, Inc. System for updating postal rate information utilized by remote mail processing apparatus
GB2006491B (en) * 1977-07-02 1982-01-06 Ml Eng Plymouth Data transmission system
US4180856A (en) * 1977-07-29 1979-12-25 Pitney Bowes Inc. Electronic postage metering system
US4137564A (en) * 1977-08-22 1979-01-30 Burroughs Corporation Intelligent computer display terminal having EAROM memory
GB2008030B (en) * 1977-10-28 1982-06-09 Pitney Bowes Inc Electronic postal meter system

Also Published As

Publication number Publication date
US4301507A (en) 1981-11-17
CA1159563A (en) 1983-12-27
CH662433A5 (de) 1987-09-30
GB2080587A (en) 1982-02-03
IT8050047A0 (it) 1980-10-30
FR2476352A1 (fr) 1981-08-21
GB2062312A (en) 1981-05-20
DE3051014C2 (de) 1991-03-28
DE3040549A1 (de) 1981-05-14
AT400643B (de) 1996-02-26
SE465692B (sv) 1991-10-14
GB2080588A (en) 1982-02-03
CH662435A5 (de) 1987-09-30
ATA167486A (de) 1995-06-15
CH662434A5 (de) 1987-09-30
SE465691B (sv) 1991-10-14
GB2062312B (en) 1984-08-22
NL193476C (nl) 1999-11-02
SE465694B (sv) 1991-10-14
SE8403278D0 (sv) 1984-06-19
SE8403275L (sv) 1984-06-19
BE885949A (fr) 1981-02-16
NL8005936A (nl) 1981-06-01
CH668875A5 (de) 1989-01-31
SE459828B (sv) 1989-08-07
GB2080588B (en) 1984-09-05
SE8403276L (sv) 1984-06-19
SE8403275D0 (sv) 1984-06-19
SE8403277D0 (sv) 1984-06-19
SE8403278L (sv) 1984-06-19
GB2080205A (en) 1982-02-03
GB2080205B (en) 1984-09-12
GB2080587B (en) 1984-09-05
AT384116B (de) 1987-10-12
SE8403277L (sv) 1984-06-19
ATA532580A (de) 1987-02-15
SE8403276D0 (sv) 1984-06-19
BR8006975A (pt) 1981-05-05
SE8007598L (sv) 1981-05-01
SE465693B (sv) 1991-10-14
CH666565A5 (de) 1988-07-29
IT1148281B (it) 1986-11-26
NL193476B (nl) 1999-07-01
DE3051015C2 (de) 1993-07-15
GB8402376D0 (en) 1984-02-29
FR2476352B1 (fr) 1987-09-18

Similar Documents

Publication Publication Date Title
CH662436A5 (de) Frankiermaschine.
EP0660269B1 (de) Verfahren zur Verbesserung der Sicherheit von Frankiermaschinen
DE2818551C2 (de)
DE2560688C2 (de)
DE3712138B4 (de) Verfahren zum Betrieb eines Frankiermaschinensystems
DE2904965A1 (de) Aufwandsarmer portoaufdrucker
CH650602A5 (de) Elektronische frankiermaschine.
DE2438055C2 (de) Frankiermaschine mit einer Eingabeeinrichtung
EP0789333B1 (de) Frankiermaschine
DE3040560A1 (de) Frankiermaschine mit der faehigkeit zu einem interaktiven arithmetischen betrieb
WO1989011134A1 (en) Electronic computing and storage system for franking machines
EP1619630A2 (de) Verfahren und Anordnung zum Erstatten von Porto
DE3040532C2 (de) Nachladbare elektronische Frankiermaschine
DE2833209A1 (de) Umwandlungsvorrichtung fuer ein elektronisches frankiersystem
EP1061479A2 (de) Anordnung und Verfahren zur Generierung eines Sicherheitsabdruckes
EP0717379B1 (de) Verfahren zur Verbesserung der Sicherheit von Frankiermachinen bei der Guthabenübertragung
DE19509775C2 (de) Eichfähiges Speichermedium
DE2655905A1 (de) Frankiermaschine
CH662682A5 (de) Einrichtung zur ueberwachung von thyristoren eines hochspannungsventils.
AT398649B (de) Frankiermaschinen-steuereinrichtung
AT398648B (de) Frankiereinrichtung mit einer dateneingabeeinrichtung
DE6806471U (de) Vorrichtung zur ueberwachung von zaehlwerken.
DE2240432B2 (de) Verfahren und Einrichtung zum Festlegen von Fbipunkten und zur Operationswiederholung ab dem letzten Fixpunkt in Datenverarbeitungsanlagen und überlappter Arbeitsweise
EP1855252A2 (de) Anordnung und Verfahren zum Erstellen eines Frankierabdrucks
DE2708333B1 (de) Kennungsgeber fuer Textuebertragungsgeraete

Legal Events

Date Code Title Description
PL Patent ceased