File STP2.

Directory of image this file is from
This file as a plain text file

/STP1










/		STEUERPROGRAMM


/		      DER


/		PRUEFAUTOMATEN


/		    HERKON










/G. MUELLER CS/SV3 1974

/SPA-VERSION DES PRUEFAUTOMATEN-INPUT/OUTPUTS
/ZUR FEHLERERKENNUNG UND -KORREKTUR

/F. WESSELY, SPECIAL AUTOMATION, MAI 1977

/SPA-VERSION WIRD DURCH ASSEMBLIEREN MIT
/VESPA=1 AKTIVIERT

VESPA=1

/EXTERNE ADRESSEN /BEFEHLE FUER PDP-8/E BSW=7002 /SWAP BYTES IN AC /IOT'S FUER INTERFACE PFCL=6142 /CLEAR PRUEFAUTOMATENFLAG RD0=6143 /READ AUTOMATENNR. / + KONTAKTTYP RD1=6144 /READ ANZUGSERREGUNG RD2=6145 /READ ABFALLERREGUNG RD3=6146 /READ WIDERSTAND + IST-AUSWURF WR0=6140 /WRITE STOERUNGSLAMPE WR1=6147 /WRITE SOLL-AUSWURF /DEFINITIONEN S=6201 /DATENFELD STEUERPR. C=6211 /DATENFELD SOLLDATEN D=6231 /DATENFELD DATENBLOECKE KLS=17 /NR. DER SCHLECHTKLASSE (TATSAECHLICHE) KLSH=11 /DITO HARDWAREMAESSIG BITL=200 /LAEUFER BITR=400 /REFERENZMESSUNG BITD=1000 /DURCHMESSERAUSSCHUSS MAXANZ=1777 /MAXIMALER ANZUGSWERT MAXABF=1777 / " ABFALLWERT MAXWID=37 / # WIDERSTAND MAXAUT=17 / " AUTOMATENNR. MAXTYP=7 / " KONTAKTTYPNR. MAXIST=17 / " ISTKLASSE EBENE1=4 /EBENE TEXTAUSGABEPR.
/ /VARIABLE AUF PAGE 0 FUER STEUERPROGRAMM / FIELD 0 *11 AUT1, 0 /AUTOINDEX AUT2, 0 AUT3, 0 AUTS, 0 /F. SONDERPRUEFUNGSPR. 0 0 0 *76 TOTMNT, 0 /TOTZEIT: MINUTEN SEIT 0 UHR ANR, 0 /AUTOMATENNR. TYP, 0 /KONTAKTTYPNR. ANZ, 0 /ANZUGSWERT ZUSAMMEN- ... ABF, 0 /ABFALLWERT WID, 0 /WIDERSTANDSWERT ... HAENGEND IST, 0 /IST-KLASSE SOLLH, 0 /SOLL-KLASSE (HARDWAREMAESSIG) SOLLT, 0 /SOLLKLASSE (TATSAECHLICH) R0, 0 /MESSWERT 0 R3, 0 /MESSWERT 3 PSOL, 0 /P. SOLL-KLASSEN PD, 0 /ANFANGSADRESSE DATENBLOCK /FUER TEXTAUSGABE PI, TPA /INPOINTER F. TEXTAUSGABE PO, TPA /OUTPOINTER F. DITO PST, 0 /STRINGP. MPNL, 0 /MERKER "AUSGABEPUFFER NICHT LEER" MAP, 0 /MERKER TEXTAUSGABE LAUEFT MAUSDR, 0 /MERKER F. UP-BEENDIGUNG *123 Z1, 0 /ZAEHLER Z2, 0 Z3, 0 S1, 0 /ZWISCHENSPEICHER S2, 0 S3, 0 P1, 0 /POINTER P2, 0 P3, 0 M1, 0 /MERKER M2, 0 M3, 0 MUN, 0 /MERKER F. UNGEPRUEFTEN KONTAKT PDURCH, 0 /P. MERKER DURCHMESSERAUSSCHUSS MSOND, 0 /MERKER SONDERPRUEFUNG ANRSND, 0 /AUTOMATENNR. SONDERPRUEFUNG TYPSND, 0 /KONTAKTTYPNR. SONDERPRUEFUNG MAUSDS, 0 /MERKER AUSDRUCK MESSWERTE / BEI SONDERPRUEFUNG PDS, 0 /P. DATENBLOCK F. SONDERPUEFUNGSPR. PS, 0 /P. FUER SONDERPRUEFUNGSPR. 0 /BIS 147 BZW. 155 IFDEF VESPA < *155 PAPNT, 0 /POINTER PA-IO-TABELLE > PAGE
FIELD 0 IFNDEF VESPA < *3000 RES0A, ZBLOCK 600 /RESERVE PAGE >
IFDEF VESPA < /************************************************* / / ENDPRUEFSYSTEM - BHS-STUTTGART / / INPUT/OUTPUT-ROUTINEN FUER ENDPRUEFAUTOMATEN / /************************************************* / SPECIAL AUTOMATION / WALDSTRASSE 9 / 8504 STEIN / TEL. 0911/678727 / / 25. MAI 1977 / F. WESSELY *3000 /DEFINITIONEN /PATEST=1 /DEF. STAND-ALONE TESTPROGR. /VESPA=1 /AKTIVIERT SPA-VERSION VON STP1.PA /PAPNT=155 /POINTER IN PAGE 0 IFDEF PATEST < BSW=7002 PASF=6141 /SKIP ON PA-FLAG PFCL=6142 /CLEAR PA-FLAG RD0=6143 /READ PA-NUMMER U. KONTAKTTYP RD1=6144 /READ ANZUGSWERT RD2=6145 /READ ABFALLWERT RD3=6146 /READ WIDERSTAND U. WEICHENSTELLUNG WR0=6140 /KONTAKTAUSWURF WR1=6147 /WEICHENEINSTELLUNG
/PA-TESTPROGRAMM PATST, CLA CLL TLS PASF JMP .-1 JMP PAINT /PA-INPUT /DUMP PA-TABELLE BEI PA-EXIT PROTOK, CLA CLL PFCL TAD PAXTAB DCA PAPNT TAD (-7 DCA PACNT1 TAD (215 /CR-LF JMS TYPE TAD (212 JMS TYPE TAD I PAPNT /WERT AUS TABELLE JMS PRNT /AUSGEBEN TAD (240 /SPACE JMS TYPE ISZ PAPNT ISZ PACNT1 /FERTIG ? JMP .-6 /NEIN JMP PATST+2 /JA- NEXT INPUT PACNT1, 0 /ZAEHLER /PRINT OKTALZAHL 0 /SCHLEIFENZAEHLER 0 /ZW. SPEICHER PRNT, 0 DCA PRNT-1 TAD (-4 DCA PRNT-2 PLOP, TAD PRNT-1 /ZIFFER FREISTELLEN RAR RTR BSW AND (7 TAD (260 /UND DRUCKEN JMS TYPE TAD PRNT-1 RAL /NAECHSTE ZIFFER RTL DCA PRNT-1 ISZ PRNT-2 /FERTIG ? JMP PLOP JMP I PRNT /JA- RETURN
/TYPE CHARACTER TYPE, 0 TSF JMP .-1 TLS CLA CLL JMP I TYPE /DUMMY AUSWERTEPROGRAMM INP0, 0 /SOLLKL. ZAEHLER NOP /EINGANG IST INP0+2 ISZ PAPNT /AUF SOLLKLASSE ISZ INP0 NOP /SOLLKLASSE ERZEUGEN TAD INP0 /KLASSE 1-13 (OKT) TAD (-14 SPA CLA JMP .+3 /KLASSE KL. 14-O.K. DCA INP0 /GROESSER - RESET JMP .-7 TAD INP0 DCA I PAPNT /ABSPEICHERN JMP PAOX /PA- OUTPUT EXIT > IFNDEF PATEST <ZBLOCK 400> PAGE
/EINGANG NACH PA-INTERRUPT PAINT, CLA CLL RD0 /INP. AUTOMATENNR. AND (17 /IGNORE KONTAKTTYP ETC. SNA /PA-NR.=0 ? JMP PAIX /JA- ERROR RAL /PA-NR*10 RTL TAD (PATAB-10 DCA PAXTAB /TAB. ADR. PA-NR. X TAD PAXTAB DCA PAPNT /POINTER AUF PA-STATUS TAD I PAPNT /STATUS IN AC SZA CLA /IN- ODER OUTPUT ? JMP PAWEKO /OUTPUT /MESSWERTINPUT UND VERGLEICH MIT LETZTEM TRANSFER ISZ PAPNT /ZEIGT AUF INP. ZAEHLER ISZ I PAPNT /INPUTS ZAEHLEN NOP JMS PACHK /INPUT PRUEFEN JMP INP0+2 /O.K. -AUSWERTEN PAIX, TAD PAXTAB /POINTER AUF SOLL- TAD (6 /WEICHENSTELLUNG DCA PAPNT /STELLEN JMP PAIXX /INPUT WIEDERHOLEN /WEICHENKONTROLLE NACH LEZTER EINSTELLUNG PAWEKO, TAD PAXTAB /POINTER AUF TAD (6 /SOLL-WEICHENSTELLUNG DCA PAPNT RD3 /READ WEICHENSTELLUNG RAL BSW AND (17 /SONSTIGES IGNORIEREN CMA IAC /VERGLEICH MIT SOLL TAD I PAPNT SNA CLA JMP PAAUS /GLEICH- AUSWURF
/AUSGANG AUS PA-BEARBEITUNG PAOX, ISZ I PAXTAB /WEICHENEINSTELLUNGEN NOP /ZAEHLEN PAIXX, TAD I PAPNT /WEICHE AUF SOLLWERT WR1 /EINSTELLEN PAX, CLA CLL /EXIT IFDEF PATEST < JMP PROTOK > IFNDEF PATEST < PFCL /NOT USED CMA /-1, 1 MS WARTEN BIS PA JMS MILLIS /REGISTER (FLAG) GELOESCHT IOF JMS 3 1 /PROGRAMM-ENDE > /KONTAKTAUSWURF PAAUS, WR0 /KONTAKTAUSWURF TAD (-6 /PA-TABELLE CLEAREN DCA PACNT TAD PAXTAB DCA PAPNT DCA I PAPNT ISZ PAPNT ISZ PACNT JMP .-3 JMP PAX /EXIT
/INPUT PRUEFEN UND ABSPEICHERN PACHK, 0 TAD (-4 /SCHLEIFENZAEHLER DCA PACNT /LADEN TAD (RD0 /READ IOT LADEN DCA PALOP+1 PALOP, ISZ PAPNT RD0 /READ REGISTER X CMA IAC /VERGLEICH MIT TAD I PAPNT /LETZTEM INPUT SZA CLA /GLEICH ? JMP PASTOR /NEIN ! ISZ PALOP+1 ISZ PACNT /FERTIG ? JMP PALOP /NEIN, JMP I PACHK /JA, ALLES O.K. -EXIT PASTOR, TAD PAXTAB /POINTER ZUM ABSPEICHERN TAD (2 /EINSTELLEN DCA PAPNT TAD (-4 /SCHLEIFENZAEHLER DCA PACNT TAD (RD0 /READ IOT DCA PALOP2 PALOP2, RD0 DCA I PAPNT /ABSPEICHERN ISZ PAPNT ISZ PALOP2 /NEXT IOT ISZ PACNT /FERTIG ? JMP PALOP2 /NEIN, WEITER ISZ PACHK /RETURN JMP I PACHK PAXTAB, 0 /ANFANGSADR, DER AKT. PA-TABELLE PACNT, 0 /SCHLEIFENZAEHLER PAGE >
CLOCK, JMP UHR /STARTADRESSE UHRPROGRAMM / --- SOND, JMP SONDP /STARTADRESSE SONDERPRUEFUNGSPROGRAMM / --- / /STEUERPROGRAMM AUF EBENE 2 /=========================== / /START DURCH BETRIEBSSYSTEM NACH ERKENNUNG DER /PRUEFAUTOMATENFLAG STARTP, CLA CLL C TAD MNETZ /MERKER NETZAUSFALL SNA CLA /WAR NETZAUSFALL ? JMP INP0 / NEIN TAD NNETZ /MERKER 1. NETZAUSFALL SNA CLA /1. FLAG NACH AUTO-RESTART JMP NETZ / JA /UEBERNAHME VON MESSWERT 0 INP0, S IFDEF VESPA < JMP PAINT /INPUT UND PRUEFEN /WENN O.K., WEITER BEI INP0+2 > TAD (RD0 /IOT JMS RD /LIES AUTOMATNR. DCA R0 /SPEICHERE INPUT TAD R0 AND (MAXAUT DCA ANR /SPEICHERE AUTOMATNR. TAD R0 RTR RTR AND (MAXTYP DCA TYP /SPEICHERE KONTAKTTYP /MESSWERTUEBERNAHME TAD (RD1 JMS RD /LIES MESSWERT 1 DCA ANZ /SPEICHERE ANZUGSWERT TAD (RD2 JMS RD /LIES MESSWERT 2 DCA ABF /SPEICHERE ABFALLWERT TAD (RD3 JMS RD /LIES MESSWERT 3 DCA R3 /SPEICHERE MESSWERT 3 TAD R3 AND (MAXWID IAC /ERHOEHE WIDERSTAND UM 1 /(MESSWERT 0 = 25 MILLIOHM !) DCA WID /SPEICHERE WIDERSTAND TAD R3 RTR RTR RAR AND (MAXIST DCA IST /SPEICHERE IST-AUSWURF /KONTROLLE VON AUTOMAT- UND TYPNR. TAD ANR /AUTOMATNR. SNA / = 0 ? JMP ANRF / JA TAD TYP /KONTAKTTYPNR. SNA CLA / = 0 ? JMP TYPF / JA TAD ANR TAD (TABTYP-1 DCA P1 TAD I P1 AND (7 /ZUGEHOERIGER KONTAKTTYPNR. CIA TAD TYP SZA CLA /EXISTIERT TYP ? JMP TYPF / NEIN /POINTER SETZEN TAD ANR /AUTOMATNR. TAD (MDURCH-1 DCA PDURCH /P. MERKER DURCHMESSER TAD ANR TAD (SOL-1 DCA PSOL /P. LETZTE SOLLKLASSE /BEI SONDERPRUEFUNG DCA MSOND /LOESCHE MERKER TAD ANR /AUTOMATENNR. CIA TAD ANRSND /AUTOMATENNR. SONDERPRUEFG. SZA CLA /SONDERPRUEFUNG ? JMP MERK / NEIN ISZ MSOND /SETZE MERKER TAD TYPSND /KONTAKTTYP BEI SONDERPRUEFG. DCA TYP /SPEICHERE F. DATENSAMMLUNG /MERKEN, DASS AUTOMAT NOCH PRUEFT MERK, TAD ANR /AUTOMATNR. TAD (MEIN-1 DCA P1 CLA CMA DCA I P1 /SETZE MERKER "AUTOMAT EIN" /REFERENZMESSUNG ? TAD R0 /MESSWERT 0 AND (BITR SZA CLA /REFERENZMESSUNG ? JMP REF / JA JMP VGL / --- PAGE
/SOLL-IST-VERGLEICH ? VGL, TAD I PSOL /SOLL-KLASSE SNA CLA /1. KONTAKT SEIT AUTOMATENSTART ? JMP DURCHQ / JA /LETZTER KONTAKT DURCHMESSERAUSSCHUSS ? TAD I PDURCH /MERKER SNA CLA /LETZTER KONTAKT DURCHMESSER ? JMP VGL1 / NEIN /JA DCA I PDURCH /LOESCHE MERKER JMP DURCHQ / --- /AUSWURF-KONTROLLE VGL1, TAD I PSOL /SOLLKLASSE CIA TAD IST /ISTKLASSE SZA CLA /UNTERSCHIED ? JMP UNGL / JA /DIESER KONTAKT DURCHMESSERAUSSCHUSS ? DURCHQ, TAD R0 /REGISTER 0 AND (BITD SNA CLA /DURCHMESSERAUSSCHUSS ? JMP KLBER / NEIN /JA ISZ I PDURCH /SETZE MERKER TAD I PSOL /LETZTE KLASSE JMS WR /"AUSWURF" JMP DATEN / --- /VORBEREITUNG KLASSENBERECHNUNG KLBER, TAD TYP /TYPNR. CIA DCA Z1 LP1, TAD (106 /70 ISZ Z1 JMP LP1 TAD (IUKL1-106-6 DCA P1 /SETZE P. KLASSENGRENZEN TAD (-MAXIST+1 DCA Z1 /SETZE KLASSENZAEHLER DCA SOLLT /SOLLKLASSE = 0 C /DATENFELD F. KLASSENGRENZEN /KLASSENBERECHNUNG KLLP, ISZ SOLLT /ERHOEHE SOLLKLASSE TAD (5 TAD P1 DCA P1 /P. AUF NAECHSTE KLASSE TAD P1 DCA AUT1 /INDEX F. NAECHSTE KLASSE TAD ANZ /ANZUGSWERT TAD I AUT1 /UNTERE GRENZE ANZUG SPA CLA JMP KLEND / < UNTERE GR. ANZUG TAD ANZ TAD I AUT1 /OBERE GR. ANZUG SMA SZA CLA JMP KLEND / > OBERE GR. ANZUG TAD ABF /ABFALLWERT TAD I AUT1 /UNTERE GR. ABFALL SPA CLA JMP KLEND / < UNTERE GR. ABFALL TAD ABF TAD I AUT1 /OBERE GR. ABFALL SMA SZA CLA JMP KLEND / > OBERE GR. ABFALL TAD WID /WIDERSTAND TAD I AUT1 /OBERE GR. WIDERSTAND SPA SNA CLA JMP KLGEF /IN KLASSE KLEND, ISZ Z1 /ALLE KLASSEN ABGEPRUFT ? JMP KLLP / NEIN ISZ SOLLT /ERHOEHE AUF AUSSCHUSSKLASSE S JMP KLUMR / --- KLGEF, S TAD R0 AND (BITL SNA CLA /LAEUFER ? JMP KLUMR / NEIN /LAEUFER TAD SOLLT /SOLLKLASSE TAD (5 /ADDIERE 5 DCA SOLLT /UMRECHNUNG DER SOLLKLASSE IN HARDWAREMAESSIGE SOLLKLASSE KLUMR, TAD SOLLT /TATSAECHLICHE KLASSE TAD (HARDKL-1 DCA P1 TAD I P1 DCA SOLLH /SPEICHERE SOLLKLASSE TAD SOLLH DCA I PSOL /SPEICHERE LETZTE SOLLKLASSE /AUSWURF TAD SOLLH /SOLLKLASSE JMS WR /AUSWURF /SONDERPRUEFUNG ? TAD MSOND /MERKER SONDERPRUEFUNG SNA CLA /SONDERPRUEFUNG F. / DIESEN AUTOMATEN ? JMP DATEN / NEIN TAD MAUSDS /MERKER SZA CLA /MESSWERTAUSDRUCK ? JMP SSOND / JA JMP DATEN / --- PAGE
/ERGAENZEN DES DATENBLOCKES /========================== / DATEN, S JMS ADBBER /BERECHNE ANFANGSADR. DATENBLOCK DCA PD /SETZE P. DATENBLOCK /DURCHMESSERAUSSCHUSS ? TAD I PDURCH /MERKER SNA CLA /DURCHMESSERAUSSCHUSS ? JMP ERHKL / NEIN /JA TAD PD TAD (IKLDU-DB JMS ADD2 /ERHOEHE ANZAHL IN DURCHMESSER-KL. JMP PHALT / --- /ERHOEHUNG DER ANZAHL PRO KLASSE ERHKL, TAD SOLLT CLL RAL TAD PD TAD (IKL-DB-2 JMS ADD2 /ERHOEHE KLASSENANZAHL /EVT. ERHOEHUNG DER ANZAHL UNGEPRUEFTER KONTAKTE /(ENTHALTEN IN SCHLECHTBEHAELTER) TAD MUN /MERKER F. UNGEPRUEFTEN KONTAKT SNA CLA /WAR AUTOMATEN-START ? JMP ERHANZ / NEIN DCA MUN /SETZE MERKER ZURUECK TAD PD TAD (IKLUN-DB JMS ADD2 /ERHOEHE ANZAHL UNGEPRUEFTER KONTAKTE /ERHOEHUNG DER ANZAHL PRO ANZUGSWERTINTERVALL ERHANZ, TAD TYP /KONTAKTTYPNR. CLL RAL TAD TYP TAD (IUAN-3 DCA P1 /SETZE P. AUF UNTERE GRENZE / F. ANZUGVERTEILUNG C TAD ANZ TAD I P1 /UNTERE GR. ANZUG-VERTEILG. SPA /ERSTES ANZUG-INTERVALL ? JMP ANZ1 / JA DCA S1 /SPEICHERE ANZUG - UNTERE GR. ISZ P1 /P. AUF OBERE GR. TAD I P1 TAD ANZ SMA CLA /LETZTES ANZUGINTERVALL ? JMP ANZL / JA ANZIV, JMS IVBER /BERECHNE INTERVALL ANZADD, TAD PD /ANFANG DATENBLOCK TAD (ZANZ-DB JMS ADD2 /ERHOEHE ANZAHL PRO ANZUGSINT. /ERHOEHUNG PRO ABFALLINTERVALL C TAD P1 TAD (23 DCA P1 /SETZE P. AUF UNTERE GRENZE / F. ABFALLVERTEILUNG TAD ABF TAD I P1 SPA /ERSTES ABFALLINTERVALL ? JMP ABF1 / JA DCA S1 /SPEICHERE ABFALLWERT - UNTERE GR. ISZ P1 /P. AUF OBERE GR. TAD I P1 TAD ABF SMA CLA /LETZTES ABFALLINTERVALL ? JMP ABFL / JA ABFIV, JMS IVBER /BERECHNE INTERVALL ABFADD, TAD PD /ANFANG DATENBLOCK TAD (ZABF-DB JMS ADD2 /ERHOEHE ANZAHL PRO ABFALLINTERV. /ERHOEHUNG DER ANZAHL PRO WIDERSTANDSINTERVALL TAD WID /WIDERSTAND CLL RAL /MAL 2 TAD PD TAD (ZWID-DB-2 / !!! JMS ADD2 /ERHOEHE ANZAHL PRO INTERVALL /ERHOEHUNG DER ANZUGSWERTSUMME UM ANZUGSWERT TAD ANZ /ANZUGSWERT DCA SANZ TAD PD /ANFANG DATENBLOCK TAD (SUMANZ-DB JMS ADD3 /3-WORT-ADDITION SANZ, 0 /SUMMAND /ERHOEHUNG DER ABFALLWERTSUMME UM ABFALLWERT TAD ABF /ABFALLWERT DCA SABF TAD PD TAD (SUMABF-DB JMS ADD3 /ADDITION SABF, 0 /SUMMAND /ERHOEHUNG DER WIDERSTANDSSUMME UM WIDERSTAND TAD WID /WIDERSTAND DCA SWID TAD PD TAD (SUMWID-DB JMS ADD3 /ADDITION SWID, 0 /SUMMAND /ERHOEHEN DER GESAMTANZAHL FUER SCHICHT TAD TYP CLL RAL TAD (ISCHT-2 JMS ADD2 /RUECKSETZEN PRUEFAUTOMATENFLAG PHALT, CLA IFNDEF VESPA < PFCL /CLEAR FLAG /WARTEN 1 MS, BIS FLAG TATSAECHLICH GELOESCHT TAD (-1 /ANZAHL MILLISEC JMS MILLIS /VERZOEGERE > IFDEF VESPA <JMP PAOX> /PA-AUSWURF ROUTINE /ENDE DES STEUERPROGRAMMES FUER DEN PRUEFAUTOMATEN HALT, IOF JMS 3 /HALT EBENE 1 /AUFRUF-KODE / --- /ERSTES ANZUGINTERVALL ANZ1, CLA ISZ P1 ISZ P1 /P. AUF INTERVALLBREITE JMP ANZADD / --- /LETZTES ANZUGINTERVALL ANZL, JMS IVSETZ JMP ANZIV / --- /ERSTES ABFALLINTERVALL ABF1, CLA ISZ P1 ISZ P1 /P. AUF INTERVALLBREITE JMP ABFADD / --- /LETZTES ABFALLINTERVALL ABFL, JMS IVSETZ JMP ABFIV / --- PAGE
/NETZAUSFALL NETZ, ISZ NNETZ /SETZE 2. MERKER DCA ANRSND /SETZE AUTOMATENNR. F. / SONDERPRUEFUNG ZURUECK S JMS AUSDR /AUSDRUCK "NETZAUSFALL" STR4 /STRINGADRESSE 0 0 0 JMP INP0 / --- /AUTOMATNR. FALSCH ANRF, TAD ANR DCA ANRF1 JMS AUSDR /AUSDRUCK "AUTOMATNR. = XY" STR3 ANRF1, 0 /FALSCHE AUTOMATNR. 0 0 JMP SCHL / --- /KONTAKTTYPNR. FALSCH TYPF, TAD TYP DCA TYPF1 JMS AUSDR /AUSDRUCK "KONTAKTTYPNR. = XY" STR7 TYPF1, 0 /FALSCHE KONTAKTTYPNR. 0 0 SCHL, TAD (KLS /SCHLECHTKLASSE JMS KLUMW /WANDLE IN HARDWAREMAESSIGE KLASSE JMS WR /AUSWURF IN SCHLECHT JMP PHALT /PROGRAMMENDE / --- /UNTERSCHIED SOLL-, IST-KLASSE UNGL, TAD IST /ISTKLASSE (HARDWAREMAESSIG) JMS KLUMW /WANDLE IN TATSAECHLICHE KLASSE DCA KL TAD KL /ISTKLASSE CIA TAD (KLS /SCHLECHTKLASSE SZA CLA /START DES PRUEFAUTOMATEN ? JMP UNGL1 / NEIN ISZ MUN /SETZE MERKER F. UNGEPRUEFTEN KONTAKT JMP DURCHQ / --- UNGL1, TAD I PSOL /LETZTE SOLLKLASSE JMS KLUMW /WANDLE IN TATSAECHLICHE KLASSE DCA KL+1 /SPEICHERE F. AUSDRUCK JMS AUSDR /AUSDRUCK VON SOLL- UND ISTKLASSE STR0 KL, 0 /ISTKLASSE (TATSAECHLICHE) 0 /SOLLKLASSE 0 JMS WRS /SETZE STOERUNGSLAMPE JMP DURCHQ / --- /SONDERPRUEFUNG SSOND, TAD SOLLT /SOLLLKLASSE BSW TAD WID /WIDERSTAND DCA SOND1+2 TAD ANZ /ANZUGSWERT DCA SOND1 TAD ABF /ABFALLWERT DCA SOND1+1 JMS AUSDR /AUSDRUCK VON ANZUGSWERT, / ABFALLWERT, / WIDERSTAND, / KLASSE STR1 SOND1, 0 /ANZUGSWERT 0 /ABFALLWERT 0 /KLASSE/WIDERSTAND JMP DATEN / JA / --- /REFERENZMESSUNG REF, TAD WID /WIDERSTAND SNA /ABWEICHUNG ? JMP REF2 / NEIN DCA REF1 JMS AUSDR /AUSDRUCK DER ABWEICHUNG STR2 REF1, 0 /SOLLWERTABWEICHUNG WIDERSTAND 0 0 REF2, TAD I PSOL /LETZTE SOLLKLASSE JMS WR /"AUSWURF" JMP PHALT /PROGRAMMENDE / --- PAGE
/UNTERPROGRAMM ZUM SETZEN AUF LETZTES INTERVALL /BEI MESSWERT > LETZTES INTERVALL IVSETZ, HLT CLA CMA TAD P1 DCA P1 /P. AUF UNTERE GRENZE TAD I P1 /UNTERE GR. CIA ISZ P1 /P. AUF OBERE GR. TAD I P1 /OBERE GR. CIA DCA S1 /SPEICHERE OG - UG JMP I IVSETZ / --- /2-WORT-ADDITION VON 1 / /AUFRUF: / TAD (ADR /ADRESSE DES SUMMANDEN / JMS ADD2 ADD2, HLT TAD (-1 DCA AUT1 /SETZE INDEX SUMMAND D /DATENFELD F. DATENBLOCK ISZ I AUT1 /ERHOEHE LSB SKP ISZ I AUT1 /ERHOEHE MSB NOP S JMP I ADD2 / --- /3-WORT-ADDITION POSITIVER ZAHLEN / /AUFRUF: / TAD /HOLE SUMMAND 2 / DCA .+3 / TAD (ADR /ADRESSE V. SUMMAND 2 (LSB) / JMS ADD3 / 0 /SUMMAND 2 ADD3, HLT DCA P2 /SETZE P. SUMMAND 1 CLA CLL TAD I ADD3 /SUMMAND 2 D /DATENFELD F. DATENBLOCK TAD I P2 /LSB DCA I P2 RAL ISZ P2 TAD I P2 DCA I P2 /2. WORT RAL ISZ P2 TAD I P2 DCA I P2 S ISZ ADD3 JMP I ADD3 / --- /BERECHNEN DES INTERVALLES FUER 2. - 60. INTERVALL IVBER, HLT ISZ P1 /SETZE P. AUF INTERVALLBREITE TAD I P1 /INTERVALLBREITE CIA DCA Z2 DCA Z3 /SETZE INTERVALLZAEHLER ZURUECK TAD S1 /MESSWERT - UNTERE GR. SUB, TAD Z2 /NEGAT. INTERVALLBREITE SPA JMP RETIV /FERTIG ISZ Z3 /ERHOEHE INTERVALLZAEHLER JMP SUB / --- RETIV, CLA CLL IAC TAD Z3 RAL /MAL 2 WEGEN DOPPELWORT JMP I IVBER / --- / /UNTERPROGRAMM ZUM UMWANDELN DER HARDWAREMAESSIGEN KLASSE /IN DIE TATSAECHLICHE KLASSE KLUMW, HLT CIA DCA S1 /SPEICHERE NEG. UMZUWANDELNDE KLASSE TAD (-MAXIST /ANZAHL KLASSEN (MAXIMAL) DCA Z1 TAD (HARDKL-1 /TABELLE DCA AUT1 /SETZE INDEX KLUMW1, TAD I AUT1 TAD S1 SNA CLA /KLASSE GEFUNDEN ? JMP KLUMW2 / JA ISZ Z1 JMP KLUMW1 KLUMW2, TAD Z1 TAD (MAXIST+1 /ANZAHL KLASSEN + 1 JMP I KLUMW / --- /UP. VERZOEGERUNG MILLISEKUNDEN /(ANZAHL VORHER IN AC) MILLIS, HLT DCA Z1 MILLI1, TAD (-406 /226.3,8 MIKRO = 1 MILLI DCA Z2 ISZ Z2 JMP .-1 ISZ Z1 JMP MILLI1 JMP I MILLIS / --- / /UNTERPROGRAMM ZUM BERECHNEN DER ANFANGSADRESSE DES DATENBLOCKES / ADBBER, HLT TAD TYP /KONTAKTTYPNR. TAD (ADB-1 DCA P1 TAD I P1 /ANFANGSADRESSE JMP I ADBBER / --- PAGE
/ /UNTERPROGRAMME FUER DATENTRANSFER VOM UND ZUM /PRUEFAUTOMATEN / /UP. MESSWERTUEBERNAHME RD, HLT DCA IOT1 /SPEICHERE IOT TAD IOT1 DCA IOT2 IOT1, 0 /IOT READ REGISTER 1, 2, 3 ODER 4 DCA MW1 /SPEICHERE INPUT NOP IOT2, 0 /IOT DITO DCA MW2 /SPEICHERE WIEDERHOLTEN INPUT TAD MW1 CIA TAD MW2 SZA CLA /BEIDE INPUTS GLEICH ? JMP INPF / NEIN TAD MW1 /INPUT IN AC AND (MAXANZ JMP I RD / --- /BEIDE INPUTS VERSCHIEDEN INPF, JMS AUSDR /AUSDR. "INPUT VERSCHIEDEN" STR8 0 0 0 JMP IOT1 /WIEDERHOLUNG / --- MW1, 0 /1. INPUT MW2, 0 /2. INPUT /UP. AUSGABE ZUM PRUEFAUTOMATEN (AUSWURF) /(VORHER SOLLKLASSE IM AKKUMULATOR) WR, HLT IFNDEF VESPA < WR1 /IOT WRITE AUSWURF CLA CLL > IFDEF VESPA < ISZ PAPNT /SOLLKLASSE IN DCA I PAPNT /TABELLE ABLEGEN > NOP JMP I WR / --- /AUSGABE ZUM PRUEFAUTOMATEN (SETZEN DER STOERUNGSLAMPE) WRS, HLT IFNDEF VESPA < WR0 /IOT WRITE STOERUNGSLAMPE NOP CLA TAD (-372 /250 MILLISEC JMS MILLIS /WARTEN > JMP I WRS / --- /ANFANGSADRESSEN DER DATENBLOECKE ADB, DB DB2 DB3 DB4 DB5 DB6 DB7 /DATEN UND MERKER FUER 10 AUTOMATEN SOL, KLSH; KLSH; KLSH /SOLLKLASSEN KLSH; KLSH; KLSH KLSH; KLSH; KLSH KLSH /ANFANGSWERT WEGEN EVT. DURCHMESSER MEIN, ZBLOCK 12 /MERKER "AUTOMAT EIN" MWAR, ZBLOCK 12 /MERKER "AUTOMAT WAR EIN" MDURCH, ZBLOCK 12 /MERKER DURCHMESSERAUSSCHUSS /UMWANDLUNGSTABELLE FUER SOLLKLASSE /(ENTHAELT HARDWAREMAESSIGE SOLLKLASSEN) HARDKL, 3 /1 6 /2 2 /3 5 /4 7 /5 12 /6 1 /7 4 /8 10 /9 13 /10 0 /11 0 /12 0 /13 0 /14 11 /15 /ZUORDNUNGSTABELLE KONTAKTTYP/AUTOMATENNUMMER / /GEORDNET NACH AUFSTEIGENDEN AUTOMATENNUMMERN. / BIT 8-11: KONTAKTTYPNR. (HARDWAREMAESSIG) / BIT 6- 8: KONTAKTTYPNR. FUER SONDERPRUEFUNG / ( 0 = NICHT BELEGT) /DIE KONTAKTTYPNUMMERN MUESSEN DEN KONTAKTTYPNUMMERN /DES SOLLWERTAENDERUNGSPROGRAMMES ENTSPRECHEN ! TABTYP, 21 /1 ZBLOCK 16 /RESERVE PAGE
/ /UNTERPROGRAMM ZUM ANSTOSSEN EINER TEXTAUSGABE /IN EINER UNTEREN EBENE / /AUFRUF: / JMS AUSDR / STRING /STRINGANFANGSADRESSE / A /PARAMETER 1 / B /PARAMETER 2 / C /PARAMETER 3 / /IN AUSGABEPUFFER: AUTOMATENNR. / STRINGANFANGSADRESSE / PARAMETER 1 / PARAMETER 2 / PARAMETER 3 / AUSDR, HLT CLA CMA DCA MAUSDR /SETZE MERKER UP. BEGONNEN TAD PI /INPOINTER CIA TAD PO /OUTPOINTER SNA CLA /GLEICHHEIT DER POINTER ? JMP IGO / JA /EINSPEICHERN DER DATEN IN AUSGABEPUFFER EINSP, ISZ MPNL /SETZE MERKER "PUFFER NICHT LEER" TAD ANR /AUTOMATENNR. DCA I PI /SPEICHERE IN AUSGABEPUFFER ISZ PI TAD I AUSDR /STRINGADRESSE DCA I PI /SPEICHERE IN PUFFER ISZ PI ISZ AUSDR TAD I AUSDR /PARAMETER 1 DCA I PI /SPEICHERE IN PUFFER ISZ PI ISZ AUSDR TAD I AUSDR /PARAMETER 2 DCA I PI /SPEICHERE IN PUFFER ISZ PI ISZ AUSDR TAD I AUSDR /PARAMETER 3 DCA I PI /SPEICHERE IN PUFFER TAD (-4 /- (ANZAHL WORTE PRO WORTGRUPPE -1) TAD PI DCA PI /SETZE INP. AUF 1. WORT DER GRUPPE /UMSCHALTEN INPOINTER ? TAD PI TAD (-TPE SNA CLA /PUFFERENDE ? TAD (TPA-TPE-5/ JA, UMSCHALTEN AUF PUFFERANFANG TAD (5 /ANZAHL WORTE PRO WORTGRUPPE TAD PI ACJ, DCA PI /INP. AUF NAECHSTE WORTGRUPPE /START DES AUSGABEPROGRAMMES ? AUSDST, TAD MAP /MERKER "AUSGABE LAEUFT" SZA CLA /UNTERE EBENE BEENDET ? JMP AAF / NEIN / IOF JMS 3 /STARTE AUSGABEPR. 0 /AUFRUF-KODE EBENE1 /EBENE TAP /STARTADRESSE 0 /FELD / AAF, ISZ AUSDR DCA MAUSDR /SETZE MERKER UP. BEENDET JMP I AUSDR / --- /INPOINTER = OUTPOINTER IGO, TAD MPNL /MERKER "PUFFER NICHT LEER" SNA CLA /PUFFER LEER ? JMP EINSP / JA ISZ AUSDR /PUFFER VOLL ISZ AUSDR JMP AUSDST / --- PAGE
/ /TEXTAUSGABEPROGRAMM AUF EBENE 4 /=============================== / TAP, ISZ MAP /SETZE MERKER AUSGABE LAEUFT /EINSPEICHERN VON ZEIT UND AUTOMATENNUMMER IN STRING NAUSG, D TAD ISTD /STUNDEN S JMS BCD2 /SPEICHERE IN STRING SSTD /ANFANGADRESSE F. STRINGP. D TAD IMNT /MINUTEN S JMS BCD2 /SPEICHERE IN STRING SMNT C TAD MNETZ /MERKER F. NETZAUSFALL S SZA CLA /WAR NETZAUSFALL ? TAD (316-240/ JA, N F. STRING TAD (240 / NEIN, SPACE F. STRING DCA SN /SPEICHERE ZEICHEN IN STRING TAD I PO /AUTOMATENNR. JMS BCD2 /SPEICHERE IN STRING SANR /ZUSATZPARAMETER ? ISZ PO /OUTP. AUF STRINGADRESSE TAD I PO /STRINGADRESSE DCA STRG2 /SPEICHERE F. AUSDRUCKEN TAD I PO /STRINGADRESSE TAD (-STR0 SNA CLA JMP ASTR0 TAD I PO TAD (-STR1 SNA CLA JMP ASTR1 TAD I PO TAD (-STR2 SNA CLA JMP ASTR2 TAD I PO TAD (-STR3 SNA CLA JMP ASTR3 TAD I PO TAD (-STR7 SNA CLA JMP ASTR7 /AUSGABE BEIDER STRINGS AUSG, JMS TTYOUT /AUSGABE DES UHRZEITSTRINGS SSTD JMS TTYOUT /AUSGABE DES 2. STRINGS STRG2, 0 /ANFANGSADRESSE JMS TTYOUT /AUSGABE V. CR UND LF SCRLF CLA CMA TAD PO DCA PO /OUTP. AUF 1. WORT DER GRUPPE /WEITERE AUSGABE ? TAD PO TAD (-TPE SNA CLA /OUTP. AN PUFFERENDE ? TAD (TPA-TPE-5 /JA, UMSCHALTEN AUF PUFFERANFANG TAD (5 /ANZAHL WORTE PRO WORTGRUPPE TAD PO DCA PO /OUTP. AUF NAECHSTE WORTGRUPPE TAD PO /OUTP. CIA TAD PI /INP. SZA CLA /HAT INP. DEN OUTP. EINGEHOLT ? JMP NAUSG / NEIN, NAECHSTE AUSGABE DCA MPNL /SETZE MERKER PUFFER LEER DCA MAP /SETZE MERKER AUSGABE LAUEFT NICHT JMP HALT /PROGRAMMENDE / --- /BEHANDLUNG VON AUSDRUCKEN MIT ZUSATZPARAMETERN ASTR0, ISZ PO TAD I PO /ISTKLASSE JMS BCD2 /SPEICHERE IN STRING SIST ISZ PO TAD I PO /SOLLKLASSE JMS BCD2 /SPEICHERE IN STRING SSOLL ASTR, CLA CLL CMA RAL /-2 ASTR0B, TAD PO DCA PO /OUTP. AUF STRINGADRESSE JMP AUSG / --- ASTR2, ISZ PO TAD I PO /SOLWERTABWEICHUNG JMS BCD2 /SPEICHERE IN STRING SSWA JMP ASTR3A / --- ASTR3, ISZ PO TAD I PO /FALSCHE AUTOMATNR. JMS BCD2 STR3A ASTR3A, CLA CMA JMP ASTR0B / -- ASTR7, ISZ PO TAD I PO /FALSCHE KONTAKTTYPNR. JMS BCD2 /SPEICHERE IN STRING STR7K JMP ASTR3A / --- PAGE
ASTR1, JMS BRUCH /BERECHNE BRUCH ANZUGSWERT JMS BCD2 /SPEICHERE IN STRING ANSOND+3 TAD (254 DCA ANSOND+3 /ERNEUERE PUNKT IN STRING TAD I PO /ANZUGSWERT CLL RAR CLL RAR CLL RAR JMS BCD3 /SPEICHERE IN STRING ANSOND JMS BRUCH /BERECHNE BRUCH ABFALLWERT JMS BCD2 /SPEICHERE IN STRING ABSOND+3 TAD (254 DCA ABSOND+3 /ERNEUERE PUNKT IN STRING TAD I PO /ABFALLWERT CLL RAR CLL RAR CLL RAR JMS BCD3 /SPEICHERE IN STRING ABSOND ISZ PO /OUTPOINTER AUF PARAMETER 3 TAD I PO AND (77 /SCHNEIDE WIDERSTAND AB DCA ZAHL TAD ZAHL CLL RTL RAL DCA BCD3 TAD BCD3 RAL TAD BCD3 TAD ZAHL /MAL 25 JMS BCD3 /SPEICHERE IN STRING WDSOND TAD I PO BSW AND (77 /SCHNEIDE KLASSE AB JMS BCD2 /SPEICHERE IN STRING KLSOND CLA CLL CMA RTL /-3 JMP ASTR0B / --- / /UNTERPROGRAMME FUER TEXTAUSGABEPROGRAMM / / /UNTERPROGRAMM FUER AUSGABE EINES STRINGS / TTYOUT, HLT CLA CLL TAD I TTYOUT DCA BSTR /SPEICHERE STRINGADRESSE / IOF JMS 3 /AUSGABE EINES STRINGS 5 /KODE 1 /TTY-NR. BSTR, 0 /STRINGANFANGSADRESSE / ISZ TTYOUT JMP I TTYOUT / --- / /UNTERPROGRAMM ZUR UMWANDLUNG BINAER IN 3 BZW. 2 /ASCII-KODE-ZIFFERN UND SPEICHERN IN EINEN STRING / BCD3, HLT /EINGANG FUER 3 ZIFFERN DCA ZAHL /SPEICHERE UMZUWANDELNDE ZAHL TAD BCD3 DCA BCD2 /UMSPEICHERN RETURNADRESSE TAD I BCD2 DCA PST /SETZE STRINGPOINTER TAD (260 DCA I PST /0 IN HUNDERTER TAD ZAHL L100, TAD (-144 /SUBTRAHIERE 100 SPA JMP L10A ISZ I PST /ERHOEHE HUNDERTER JMP L100 / --- L10A, TAD (144 DCA ZAHL ISZ PST JMP L10B / --- BCD2, HLT /EINGANG FUER 2 ZIFFERN DCA ZAHL /SPEICHERE UMZUWANDELNDE ZAHL TAD I BCD2 /ADRESSE IN STRING DCA PST /SETZE STRINGP. L10B, TAD (260 DCA I PST /SPEICHERE 0 IN ZEHNERN TAD ZAHL L10, TAD (-12 /SUBTRAHIERE 10 SPA JMP L1 ISZ I PST /ERHOEHE ZEHNER JMP L10 / --- L1, ISZ PST /ERHOEHE STRINGP. TAD (272 DCA I PST /SPEICHERE EINER IN STRING ISZ BCD2 JMP I BCD2 / --- ZAHL, 0 /UP. FUER BERECHNUNG DES RESTES BEI DIVISION MIT 8 BRUCH, HLT ISZ PO /ERHOEHE OUTPOINTER TAD I PO /ANZUGS- BZW. ABFALLWERT AND (7 /SCNEIDE REST AB TAD (TAB DCA ZAHL TAD I ZAHL JMP I BRUCH / --- /UMWANDLUNSTABELLE ACHTEL IN DECIMAL DECIMAL TAB, 0 1 / 1/8 = 0,1 3 / 2/8 = 0,3 4 / 3/8 = 0,4 5 / 4/8 = 0,5 6 / 5/8 =0,6 8 / 6/8 = 0,8 9 / 7/8 = 0,9 OCTAL PAGE
/ /ZYKLISCHER AUSGABEPUFFER / /20 WORTGRUPPEN A 5 WORTE /WORT 1: AUTOMATENNR. / 2: STRINGADRESSE / 3: PARAMETER 1 / 4: " 2 / 5: " 3 / DECIMAL TPA, ZBLOCK 95 /ADRESSE EXTERN F. BS ***** TPE, ZBLOCK 5 /LETZTE WORTGRUPPE OCTAL PAGE
/ /STRINGS FUER TEXTAUSGABEPROGRAMM / /UHRZEITSTRING: /12.59 03 SSTD, ZBLOCK 2 /STUNDEN 256 SMNT, ZBLOCK 2 /MINUTEN SN, 0 /SPACE BZW. N 240 SANR, ZBLOCK 2 /AUTOMATENNR. 240 0 /STRINGENDEZEICHEN / /"KL. 05 STATT 06" STR0, 313 314 256 240 SIST, ZBLOCK 2 /ISTKLASSE 240 323 324 301 324 324 240 SSOLL, ZBLOCK 2 /SOLLKLASSE 0 /STRINGENDEZEICHEN / /" 060,0 020,0 100 KL. 01" STR1, 240 ANSOND, ZBLOCK 3 /ANZUGSWERT 254 ZBLOCK 1 /1 DEZIMALSTELLE 240 240 ABSOND, ZBLOCK 3 /ABFALLWERT 254 ZBLOCK 1 /1 DEZIMALSTELLE 240 240 WDSOND, ZBLOCK 3 /WIDERSTAND IN MILLIOHM 240 240 313 314 256 240 KLSOND, ZBLOCK 2 /SONDERKLASSE 0 /STRINGENDEZEICHEN / /"REFERENZWIDERSTAND = 01" STR2, 322 305 306 305 322 305 332 327 311 304 305 322 323 324 301 316 304 240 275 240 SSWA, ZBLOCK 2 /SOLLWERTABWEICHUNG 0 /ENDEZEICHEN / /"AUTOMATNR. = 00" STR3, 301 325 324 317 315 301 324 316 322 256 240 275 240 STR3A, 0 /FALSCHE AUTOMATENNR. 0 0 /ENDEZEICHEN / /"NETZAUSFALL" STR4, 316 305 324 332 301 325 323 306 301 314 314 0 / /"AUS" STR6, 301 325 323 0 / /"KONTAKTTYPNR. 00" STR7, 313 317 316 324 301 313 324 324 331 320 316 322 256 240 275 240 STR7K, ZBLOCK 2 /KONTAKTTYPNR. 0 / /"INPUT VERSCHIEDEN" STR8, 311 316 320 325 324 240 326 305 322 323 303 310 311 305 304 305 316 0 / /CR, LF SCRLF, 215 1000 /9 FUELLZEICHEN F. LA30 1000 1000 1000 1000 1000 1000 1000 1000 212 0 /STRINGENDEZEICHEN / SKL, 313 314 256 240 301 316 332 301 310 314 0 / SAUSDR, 240 301 325 323 304 322 325 303 313 240 250 312 275 312 301 251 240 277 240 0 PAGE
/ /UHRPROGRAMM AUF EBENE 1 /======================= / /ZEITZAEHLUNG UHR, CLA CLL ISZ ZINT /60. INTERRUPT ? JMP HALT / NEIN TAD (-74 DCA ZINT /SETZE ZAEHLER NEU D ISZ IMNT /ERHOEHE MINUTEN TAD IMNT TAD (-74 SZA CLA /60. MINUTE ? JMP U1 / NEIN DCA IMNT /SETZE MINUTEN = 0 ISZ ISTD /ERHOEHE STUNDEN TAD ISTD TAD (-30 SZA CLA /24. STUNDE ? JMP U1 / NEIN DCA ISTD / JA, SETZE STUNDEN = 0 DCA TOTMNT /LOESCHE TOTZEIT /KONTROLLE AUTOMATEN IN BETRIEB U1, S TAD (-12 DCA UZHL /SETZE AUTOMATENZAEHLER TAD (MEIN DCA PEIN /SETZE P. TAD (MWAR DCA PWAR TAD (SOL DCA PSOL1 ULOOP, TAD I PEIN SNA CLA /MERKER "AUTOMAT EIN" GESETZT ? JMP NEIN / NEIN /MERKER "AUTOMAT EIN" GESETZT DCA I PEIN /SETZE MERKER ZURUECK CLA CMA DCA I PWAR /SETZE MERKER "WAR EIN" UEND, ISZ PEIN /ERHOEHE P. ISZ PWAR ISZ PSOL1 ISZ UZHL /10. AUTOMAT ? JMP ULOOP / NEIN /ENDE UHRPROGRAMM JMP HALT /PROGRAMMENDE / --- /MERKER "AUTOMAT EIN" NICHT GESETZT NEIN, TAD I PWAR SNA CLA /MERKER "AUTOMAT WAR EIN" GESETZT ? JMP UEND / NEIN DCA I PSOL1 /SETZE SOLLKLASSE = 0 TAD MAUSDR /MERKER UP. BEENDET SZA CLA /AUSDRUCKROUTINE FREI ? JMP UEND / NEIN DCA I PWAR /SETZE MERKER ZURUECK TAD ANR /AUTOMATENNR. DCA UANR /RETTE SIE TAD UZHL /AUTOMATENZAEHLER CIA DCA ANR /ERGIBT AUTOMATENNR. JMS AUSDR /AUSDR. "AUS" STR6 0 0 0 TAD UANR /AUTOMATENNR. AUS STEUERPR. DCA ANR /WIEDER IN STEUERPR. JMP UEND / --- ZINT, -74 /INTERRUPT-ZAEHLER / (SEKUNDEN-ZAEHLER) PEIN, 0 /P. MERKER "AUTOMAT EIN" PWAR, 0 /P. MERKER "WAR EIN" PSOL1, 0 /P.SOLLKLASSEN UZHL, 0 /AUTOMATENZAEHLER UANR, 0 /AUTOMATENNR. AUS STEUERPR. PAGE
/ /SONDERPRUEFUNGSPROGRAMM AUF EBENE 4 /=================================== / /AUSGABE VON "E. " SONDP, JMS AUSGS CEP /STRINGADRESSE /EINGABE DER AUTOMATENNR. (2-STELLIG) JMS EINGZS /EINGABE 1. ZIFFER DCA ANRS TAD ANRS CLL RTL TAD ANRS CLL RAL DCA ANRS /SPEICHERE 1. ZIFFER MAL 10 JMS EINGZS /EINGABE 2. ZIFFER TAD ANRS DCA ANRS /SPEICHERE AUTOMATENNR. (BINAER) /KONTROLLE DER AUTOMATENNR. TAD ANRS SNA /ENDE SONDERPRUEFUNG ? JMP E00 / JA TAD (-MAXAUT SMA SZA CLA /AUTOMATENNR. ZU GROSS ? JMP ERRS /JA TAD ANRS TAD (TABTYP-1 DCA PS /P. ZOORDNUNGSTABELLE TAD I PS RTR RAR AND (7 /KONTAKTTYPNR. F. SONDERPRUEFG. SNA /IN TABELLE EINGETRAGEN ? JMP ERRS / NEIN DCA TYPS /SPEICHERE TAD ANRSND /AUTOMATENNR. SONDERPRUEFG. / AUS STEUERPR. SZA CLA /LAEUFT SONDERPRUEFG. ? JMP ERRS / JA /AUTOMATENNUMMER UNGLEICH 0 (BEGINN SONDERPRUEFG.) / /DIALOG: MIT MESSWERTEAUSDRUCK ? JMS AUSGS /AUSGABE V. "AUSDRUCK (J=JA) ? " SAUSDR JMS READS /EINGABE EINES ZEICHENS TAD (-312 SNA CLA /J ? CLA CMA /JA, SETZE MERKER DCA MAUSDS /NEIN, LOESCHE MERKER JMS AUSGCR /CR, LF /ABSPEICHERN FABRIKTAG IN DATENBLOCK JMS PDSBER /SETZE P. DATENBLOCK TAD PDS TAD (IETAG-DB DCA PS /P. AUF 1. PRUEFTAG D TAD I (ITAG /LAUFENDER FABRIKTAG DCA I PS /IN DATENBLOCK S /LOESCHEN DATENBLOCK AB IKL TAD PDS TAD (IKL-DB-1 DCA AUTS /SETZE INDEX TAD (IKL-DB2 DCA ZS /SETZE ZAEHLER D DCA I AUTS /LOESCHE ISZ ZS JMP .-2 S /ABSPEICHERN VON AUTOMATENNUMMER UND KONTAKTTYP /FUER SONDERPRUEFUNG IN STEUERPROGRAMM TAD ANRS DCA ANRSND TAD TYPS DCA TYPSND /ENDE SONDERPRUEFUNGSPROGRAMM HALTS, JMS AUSGCR /AUSGABE CR, LF JMP HALT / --- /AUTOMATENNUMMER = 0 (BEGINN SONDERPRUEFUNG) E00, TAD ANRSND /AUTOMATENNR. F. SONDERPRUEFG. SNA CLA /LAEUFT SONDERPRUEFG. ? JMP ERRS / NEIN DCA ANRSND /STOPPE SONDERPRUEF. JMS PDSBER /SETZE P. DATENBLOCK /AUSGABE TABELLENKOPF JMS AUSGCR /CR, LF JMS AUSGS /"KL. ANZAHL" SKL JMS AUSGCR /AUSGABE VON CR, LF /AUSGABE TABELLE DER KONTAKTANZAHLEN PRO KLASSE DCA SUM /LOESCHE SUMME TAD PDS TAD (IKL-DB DCA PS /P. AUF KLASSENANZAHLEN TAD (-MAXIST /ANZAHL KLASSEN DCA ZS /ZAEHLER IAC DCA LKL /LAUFENDE KLASSE LOOP, D TAD I PS /KONTAKTANZAHL FUER KLASSE (LSB) S SNA /INHALT = 0 ? JMP LOOP1 / JA, KEIN AUSDRUCK TAD SUM /BISHERIGE SUMME DCA SUM /NEUE SUMME TAD LKL JMS APT /WANDELN ASCII JMS AUSGS /AUSGABE DER KLASSENNR. BLG+2 D TAD I PS /KONTAKTANZAHL S JMS APT /WANDELN JMS AUSGS /AUSGABE DER KONTAKTANZAHL BLG JMS AUSGCR /CR, LF LOOP1, ISZ PS /UEBERSPRINGE MSB ISZ PS /P. AUF NAECHSTES LSB ISZ LKL /ERHOEHE KLASSENNR. ISZ ZS JMP LOOP JMP SUMME / --- ANRS, 0 /EINGEGEBENE AUTOMATENNR. TYPS, 0 /KONTAKTTYPNR. ZS, 0 /ZAEHLER SUM, 0 /SUMME LKL, 0 /LAUFENDE KLASSE PAGE
/AUSGABE DER GESAMTANZAHL SUMME, JMS AUSGS /AUSGABE " ----" STRICH JMS AUSGCR /CR, LF JMS AUSGS /AUSGABE 3 SPACES SP3 TAD SUM /SUMME JMS APT /WANDLE IN ASCII JMS AUSGS /AUSGABE DER SUMME BLG JMP HALTS / --- /UP. EINGABE EINER ZIFFER EINGZS, HLT JMS READS /EINGABE EINES ZEICHENS TAD (-272 SMA /ZIFFER ? JMP ERRS / NEIN TAD (12 SMA /ZIFFER ? JMP I EINGZS / JA / ERRS, JMS AUSGS /AUSGABE V. FRAGEZEICHEN CFRGZ JMP HALTS / --- / /UP. EINGABE EINES ZEICHENS READS, HLT IOF JMS 3 6 /AUFRUF-KODE 1 /TTY-1 (LA30) JMP I READS /ZEICHEN IN AC / --- /UP. AUSGABE EINER ZEICHENFOLGE AUSGS, HLT CLA CLL TAD I AUSGS DCA STRS / IOF JMS 3 5 1 /LA30 STRS, 0 / ISZ AUSGS JMP I AUSGS / -- /UP. AUSGABE VON CR UND LF AUSGCR, HLT JMS AUSGS SCRLF JMP I AUSGCR / --- /UP. SETZE POINTER DATENBLOCK PDSBER, HLT TAD TYPS TAD (ADB-1 DCA PS TAD I PS DCA PDS JMP I PDSBER / --- /UNTERPROGRAMM ZUR UMWANDLUNG BINAER (12 BIT) /IN 4 ASCII-ZEICHEN / APT, HLT DCA BAF /SPEICHERE UMZUWANDELNDE ZAHL DCA BLG TAD (260 DCA BLG+1 TAD (260 DCA BLG+2 TAD BAF AOT, CLL TAD (-1750 SPA SZL SKP JMP AQT ISZ BLG /ERHOEHE TAUSENDER JMP AOT /// AQT, TAD (1750 TAD (-144 SPA JMP ART ISZ BLG+1 /ERHOEHE HUNDERTER JMP AQT+1 /// ART, TAD (144 TAD (-12 SPA JMP AST ISZ BLG+2 /ERHOEHE ZEHNER JMP ART+1 /// AST, TAD (272 DCA BLG+3 /SPEICHERE EINER TAD BLG SNA /FUEHRENDE NULL ? TAD (-20 / JA, AENDERE IN SPACE TAD (260 DCA BLG JMP I APT /// BLG, ZBLOCK 4 240 0 / BAF, 0 /STRINGS CEP, 305 256 240 0 / CFRGZ, 240 277 240 0 / STRICH, 240 240 240 255 255 255 255 0 / SP3, 240 240 240 0 PAGE
IFNDEF VESPA < RES0B, ZBLOCK 200 > IFDEF VESPA < /INPUT-OUTPUT-TABELLEN PRO AUTOMAT PATAB, 0 /PA-STATUS / =0 -INPUT-MODE / GR.0 -OUTPUT-MODE /U. ANZAHL WEICHENEINSTELLUNGEN 0 /ANZAHL INPUT-TRANSFERS 0 /REGISTER 0, LETZTER INPUT 0 /REGISTER 1 ... 0 /REGISTER 2 ... 0 /REGISTER 3 ... 11 /SOLL-WEICHENSTELLUNG 0 /RESERVE ZBLOCK 6 /PA 2 11 ZBLOCK 7 /PA 3 11 ZBLOCK 7 /PA4 11 ZBLOCK 7 /PA5 11 ZBLOCK 7 /PA6 11 ZBLOCK 7 /PA7 11 ZBLOCK 7 /PA8 11 ZBLOCK 7 /PA9 11 ZBLOCK 7 /PA10 11 ZBLOCK 7 /PA11 11 ZBLOCK 7 /PA12 11 ZBLOCK 7 /PA13 11 ZBLOCK 7 /PA14 11 ZBLOCK 7 /PA15 11 ZBLOCK 7 /PA 16 11 0 >
/ /COMMONBEREICH /============ / FIELD 1 *200 /ANFANGSADRESSE COMMON / /SOLLDATEN FUER 7 KONTAKTTYPEN / /I. SOLLDATEN IN SCHRITT /----------------------- / /(1 SCHRITT = 1/1023 DES MAXIMALEN MESSWERTES BEI 10 BIT) / /1. GRENZEN FUER ANZUGS- UND ABFALLVERTEILUNG : / UNTERE GRENZE DES MESSWERTES / (NEGATIV, AUSSCHLIESSLICH, INTERVALL 2) / OBERE GRENZE DES MESSWERTES / (NEGATIV, EINSCHLIESSLICH, INTERVALL 60) / MESSWERTINTERVALLBREITE / DECIMAL IUAN, ZBLOCK 21 /GRENZEN F. ANZUGVERTEILUNG IUAB, ZBLOCK 21 /GRENZEN F. ABFALLVERTEILUNG /2. KLASSENGRENZEN (NEG.) FUER 14 KLASSEN /(ENGERE KLASSE VOR WEITERER KLASSE. /GRENZEN SIND EINSCHLIESSLICHE GRENZEN.) / ANORDNUNG TYPWEISE, / INNERHALB EINES TYPS KLASSENWEISE (1-14), / INNERHALB EINER KLASSE : / UNTERE GRENZE F. ANZUG / OBERE GRENZE F. ANZUG / UNTERE GRENZE F. ABFALL / OBERE GRENZE F. ABFALL / OBERE GRENZE F. WIDERSTAND / IUKL1, ZBLOCK 490 /3. SOLLWERTE UND TOLERANZEN F. REFERENZMESSUNGEN / /REIHENFOLGE: SOLLWERTE (NEG.) ANZUG, ABFALL, WIDERSTAND / TOLERANZEN (NEG.) ANZUG, ABFALL, WIDERSTAND / IREF, ZBLOCK 6 /UEBERFLUESSIG ! ********* /4. MAXIMALE MESSWERTE IMAN, ZBLOCK 7 /ANZUG IMAB, ZBLOCK 7 /ABFALL IMWI, ZBLOCK 7 /WIDERSTAND /II. SOLLDATEN IN AW/MILLIOHM /---------------------------- / /5. UNTERE GRENZEN UND SKALENBREITEN (BREITEN F. 5 PUNKTE) / FUER LANGZEITAUSWERTUNGEN MITTELWERT/STREUUNG / UGMAN, ZBLOCK 21 /UNTERE GR. MITTELWERT ANZUG SMAN, ZBLOCK 21 /SKALENBREITE UGMAB, ZBLOCK 21 /UNTERE GR. MITTELWERT ABFALL SMAB, ZBLOCK 21 /SKALENBREITE UGMWI, ZBLOCK 21 /UNTERE GR. MITTELWERT WIDERSTAND SMWI, ZBLOCK 21 /SKALENBREITE SSAN, ZBLOCK 21 /SKALENBREITE STREUUNG ANZUG SSAB, ZBLOCK 21 / " " ABFALL SSWI, ZBLOCK 21 / " " WIDERSTAND /6. MAXIMALE MESSWERTE / RMAN, ZBLOCK 21 /ANZUG RMAB, ZBLOCK 21 /ABFALL RMWI, ZBLOCK 21 /WIDERSTAND /III. SONSTIGE DATEN /------------------ / RTYP, ZBLOCK 21 /KONTAKTTYPEN (HOLLERITH-KONSTANTEN) ISW, ZBLOCK 7 /SOLLWERTAENDERUNGSNUMMERN / F. KLASSENGRENZEN IRES1, ZBLOCK 11 /UEBERFLUESSIG ! ***** MNETZ, 0 /MERKER F. NETZAUSFALL NNETZ, 0 /MERKER F. 1. NETZAUSFALL IRES2, ZBLOCK 3 /UEBERFLUESSIG ! ***** MAXK, 0 /GROESSTE KONTAKTTYPNR. (NEG.) IRES3, ZBLOCK 2 /UEBERFLUESSIG ! ****** OCTAL PAGE
RES1, ZBLOCK 5400 /RESERVE
FIELD 3 *200 DECIMAL /SCHICHTDATEN /============ / /7 DOPPELWORTE FUER SCHICHTDATEN VON 7 KONTAKTTYPEN ISCHT, ZBLOCK 14 ITAG, 0 /FABRIKTAG ISN, 0 /SCHICHTNUMMER IP, 0 /INDEX FUER WECHSELPUFFER MSD3, 0 /MERKER F. SCHICHTDATENTRANSFER / (= ADRESSE DES PUFFERS) LBN3, 0 /LAUFENDE BLOCKNUMMER / FUER LOSDATEN ISTD, 0 /STUNDEN IMNT, 0 /MINUTEN PAGE /WECHSELPUFFER FUER SCHICHTDATEN /FUER AUFEINANDERFOLGENDE WORTGRUPPEN FOLGENDEN AUFBAUES: / WORT 1: FABRIKTAG / WORT 2: TYP/SCHICHTNR. / WORT 3: KONTAKTANZAHL LSB / WORT 4: KONTAKTANZAHL MSB / WP1, ZBLOCK 128 WP2, ZBLOCK 128
/ /LOSDATEN /========= / OCTAL *1000 / /DATENBLOCKE A 3 PAGES FUER 7 KONTAKTTYPEN / / /1. DATENBLOCK / DECIMAL DB, LOSNR, 0 /LOSNR. ITYP, 1 /KONTAKTTYPNR. IETAG, 0 /ERSTER PRUEFTAG ILTAG, 0 /LETZTER PRUEFTAG ISWNR, 0 /SOLLWERTAENDERUNGSNR. IKL, ZBLOCK 30 /ANZAHLEN PRO KLASSE FUER 15 KLASSEN / (DOPPELWORTE, LSB VOR MSB) RMW, ZBLOCK 9 /MITTELWERTE ANZUG, ABFALL, WIDERST. RSTR, ZBLOCK 9 /STANDARDABWEICHUNGEN DITO SUMANZ, ZBLOCK 3 /MESSWERTSUMME ANZUG (TRIPELWORT) SUMABF, ZBLOCK 3 / " ABFALL SUMWID, ZBLOCK 3 / " WIDERSTAND ZWID, ZBLOCK 64 /ANZAHLEN PRO MESSWERTINTERVALLE / WIDERSTAND (32 INTERVALLE) / (DOPPELWORTE) ZBLOCK 2 /RESERVE PAGE ZANZ, ZBLOCK 122 /ANZAHLEN PRO MESSWERTINTERVALLE / ANZUGSWERT (DOPPELWORTE / F. 61 INTERVALLE) IKLDU, ZBLOCK 2 /ANZAHL DURCHMESSERAUSSCHUSS IKLUN, ZBLOCK 2 /ANZAHL UNGEPRUEFTER KONTAKTE ZBLOCK 2 /RESERVE PAGE ZABF, ZBLOCK 122 /ANZAHLEN PRO MESSWERTINTERVALLE ABFALL / (DOPPELWORTE F. 61 INTERVALLE) ZBLOCK 6 /RESERVE PAGE ZBLOCK 128 /RESERVE /DATENBLOECKE FUER UEBRIGE 6 KONTAKTTYPEN DB2, 0; 2; ZBLOCK 510 /TYP 2 DB3, 0; 3; ZBLOCK 510 /TYP 3 DB4, 0; 4; ZBLOCK 510 /TYP 4 DB5, 0; 5; ZBLOCK 510 /TYP 5 DB6, 0; 6; ZBLOCK 510 /TYP 6 DB7, 0; 7; ZBLOCK 510 /TYP 7 OCTAL $



Feel free to contact me, David Gesswein djg@pdp8online.com with any questions, comments on the web site, or if you have related equipment, documentation, software etc. you are willing to part with.  I am interested in anything PDP-8 related, computers, peripherals used with them, DEC or third party, or documentation. 

PDP-8 Home Page   PDP-8 Site Map   PDP-8 Site Search