*1600 PAGE /************* MULTI WORD GATES *********************************** /2.10.73 /CALL: MWAND,MWINOR,MWEXOR; MWCMPL,MWUND,MWODER / INPUT1 EINGANG / INPUT2 MASKE / OUTPUT AUSGANG /1 WORT FUER UND U. ODER / PRECISION (OF INPUTS,OUTPUT,EINGANG,MASKE) / FELD*10 (OF INPUTS,OUTPUT,EINGANG,MASKE) / /MERKE: MASKBIT=1 BEDEUTET KOMPLEMENTIERUNG DER ENTSPRECHENDEN /EINGANGSBITS BEI MWCMPL UND NEGATION BEI MWUND U. MWODER. /MWCMPL ENTHAELT SOMIT AUCH COMPLEMENT UND COPY ALS EXTREME. MWAND, 5 /PRECISION*14 AND GATTER MIT 2 EINGAENGEN BLOUT JMS SRARG AND MWTEM2 /ARG. INEND MWINOR, 5 /PREC.*14 INOR GATTER MIT 2 EING. BLOUT JMS SRARG JMS SRINOR /ARG. INEND MWEXOR, 5 /PREC.*14 EXOR GATTER MIT 2 EING. BLOUT JMS SRARG JMS SREXOR /ARG. INEND MWCMPL, 5 /PREC.*14 MASK COMPLEMENT; CMA IF MASKBITS=1 BLOUT JMS SRARG JMS SRCMPL /ARG. INEND MWUND, 5 /UND GATTER MIT 14+PREC. EINGAENGEN; AUSG. IN BIT 11 BLOUT JMS SRARG JMS SRMASK /ARG. ACL SNA CLA IAC PUT 3 INEND MWODER, 5 /INOR GATTER MIT 14*PREC. EINGAENGEN; AUSG.IN BIT 11 BLOUT JMS SRARG JMS SRMASK /ARG. ACL SZA CLA IAC PUT 3 INEND SRARG, 0 /BEREITSTELLUNG DES ARGUMENTS TAD I SRARG ISZ SRARG JMS SRWORK JMP I SRARG SRINOR, 0 /INCLUSIVE ODER MQL TAD MWTEM2 MQA JMP I SRINOR SREXOR, 0 /EXCLUSIVE ODER AND MWTEM2 CIA CLL RAL TAD MWTEM1 TAD MWTEM2 JMP I SREXOR SRCMPL, 0 /MASK-COMPLEMENT CMA AND MWTEM2 MQL TAD MWTEM2 CMA AND MWTEM1 MQA JMP I SRCMPL SRMASK, 0 /MASK VERGLEICH ISZ SRMASK ISZ SRMASK JMS SREXOR MQA MQL JMP I SRMASK MWCDF, CDF MWCNT, 0 MWPOI1, 0 MWPOI2, 0 MWPOI3, 0 MWTEM1, 0 MWTEM2, 0 SRWORK, 0 /MAIN SUBROUTINE DCA MWSR ACUM 5 TAD MWCDF DCA MWDATF RIF TAD MWCDF DCA MWRETF ACUM 4 CIA DCA MWCNT GETAD 3 DCA MWPOI3 GETAD 2 DCA MWPOI2 GETAD 1 DCA MWPOI1 CLA MQL CLA CLL MWDATF, HLT MWLOOP, TAD I MWPOI1 DCA MWTEM1 TAD I MWPOI2 DCA MWTEM2 TAD MWTEM1 MWSR, HLT DCA I MWPOI3 /WIRD VON SRMASK UEBERSPRUNGEN ISZ MWPOI3 / ISZ MWPOI2 ISZ MWPOI1 ISZ MWCNT JMP MWLOOP MWRETF, HLT JMP I SRWORK PAGE /**************** GATTER ************************************ /14.6.73 /CALL: NAND,INOR,EXOR; UND,ODER,MOD2 / INPUT1 EINGANG / INPUT2 MASKE / OUTPUT AUSGANG /UND,ODER U. MOD2 SIND GATTER MIT 14 EINGAENGEN. DIE MASKE KENN- /ZEICHNET DIE KOMBINATION, DIE DURCHGESCHALTET, NICHT DURCHGE- /SCHALTET BZW. ANGEZAPFT WIRD.NICHT IST NAND MIT 7777 IN INPUT2. NAND, 3 /NAND BETWEEN 2 WORDS BLOUT JMS GETARG AND TEMII CMA JMP BACKW INOR, 3 /INCLUSIVE OR BETWEEN 2 WORDS BLOUT JMS GETARG MQL TAD TEMII MQA JMP BACKW EXOR, 3 /EXCLUSIVE OR BETWEEN 2 WORDS BLOUT JMS EXORSR JMP BACKW UND, 3 /MEHRFACH UND.MASKBITS=0 KENNZEICHNEN NEGIERTEN EING BLOUT JMS EXORSR SNA CLA IAC JMP BACKW ODER, 3 /MEHRFACH INCLUSIVE ODER. MASKBITS=1: NEGIERTER EING BLOUT JMS EXORSR SZA CLA IAC BACKW, PUT 3 INEND MOD2, 3 /MEHRFACH EXCLUSIVE ODER.MASK KENNZEICHNET TAPS. BLOUT JMS GETARG AND TEMII CLL JMS MOD2SR RAL JMP BACKW GETARG, 0 ACUM 1 DCA TEMI ACUM 2 DCA TEMII TAD TEMI JMP I GETARG NR4000, 4000 EXORSR, 0 JMS GETARG AND TEMII CIA CLL RAL TAD TEMI TAD TEMII JMP I EXORSR MOD2SR, 0 RAR SPA TAD NR4000 SZA JMP MOD2SR+1 JMP I MOD2SR /**************** SHIFTN ****************************************** /30.5.73 /CALL: SHIFTR,SHIFTL /SHIFT RIGHT OR LEFT N TIMES / LINK /14 BIT LINK / REGISTER /14 BIT REGISTER / ANZAHL DER SHIFTS /MAX. 30 / /DIESES PROGRAMM ARBEITET WIE EIN AC MIT EINEM LSR ODER SHL.LINK /UND MQ DER PDP8 WERDEN GELOESCHT. SHIFTR, 3 BLOTNT SHINIT TAD LSRINS DCA SHIFTN-1 SHIFT, SWAB ACUM 3 DCA SHIFTN ACUM 2 MQL ACUM 1 LSR SHIFTN, 0 PUT 1 ACL PUT 2 INEND SHIFTL, 3 BLOTNT SHINIT TAD SHLINS DCA SHIFTN-1 JMP SHIFT LSRINS, LSR SHLINS, SHL SHINIT, MQL JMP SHIFTN+1 /***************** TAPS ****************************************** /CALL: TAPS / LINK /14 BIT LINK / REGISTER /14 BIT REGISTER / TAPTAFEL /DOUBLE PREC. TAPMASK / ANTWORTTAFEL /ZBLOCK V RESERVIEREN / LAENGE DER ANTWORTTAFEL /ANZ. V DER MODULO-2-ADDIERER / /DIE TAPTAFEL BESEHT AUS EINER LISTE VON V DOPPELTGENAUEN OKTALEN /DARSTELLUNGEN DER ANZAPFUNGEN DER MODULO-2-ADDIERER AM LINK U. REG. TAPS, 5 BLOUT GETAD 3 DCA TAFPOI GETAD 4 DCA AUSPOI ACUM 5 CLL CIA DCA TAPCNT TAPLP1, ACUM 1 AND I TAFPOI ISZ TAFPOI JMS MOD2SR /1. ERGEBNIS IN LINK ACUM 2 AND I TAFPOI JMS MOD2SR /GESAMTERGEBNIS IN LINK RAL DCA I AUSPOI ISZ TAFPOI ISZ AUSPOI ISZ TAPCNT JMP TAPLP1 INEND TEMI, AUSPOI, 0 TEMII, TAFPOI, 0 TAPCNT, 0 PAGE /**************** BSC *************************************** /31.1.74 /CALL: BSC / EINGANGSTAFEL /ZBLOCK N / AUSGANGSTAFEL /ZBLOCK N / LAENGE N DER TAFELN / FEHLERRATE(SCHWELLE)JE NACH ZZG, EINF. ODER DOPPELTGENAU / FEHLERANZEIGE / FELD*10 /VON EING. UND AUSG.TAF. / /MERKE: DER BSC ENTHAELT EINEN BLOCK, DER ZUFALLSZAHLEN ERZEUGT. /WAHLWEISE ZZG1, DER MULTIPLIKATIVE ZZG VON DEC, ODER ZZG2, DER /EIN RUECKGEKOPPELTES SCHIEBEREGISTER ENTHAELT, ODER SONSTIGE ZZG. /ZZG1 BENOETIGT EINE EINFACH-, ZZG2 EINE DOPPELTGENAUE ANGABE DER /SCHWELLE. BSC, 6 BLOTNT BINIT BSCIN, ACUM 3 CLL CMA IAC DCA BCNT GETAD 2 DCA BAUSP GETAD BP1, 1 DCA BEINP DCA ERRNUM BLOOP, INBLIP ZZG2 /ODER ZZG1,ETC. ! ! 4 BFLG BLOUT BDATF, HLT TAD BFLG SZA ISZ ERRNUM TAD I BEINP AND BP1 DCA I BAUSP BRETF, HLT ISZ BEINP ISZ BAUSP ISZ BCNT JMP BLOOP TAD ERRNUM PUT 5 INEND BINIT, ACUM 6 TAD BCDF DCA BDATF RIF TAD BCDF DCA BRETF JMP BSCIN BCNT, 0 BEINP, 0 BAUSP, 0 ERRNUM, 0 BFLG, 0 BCDF, CDF /********** ZZG1 ****************************************** /31.1.74 /CALL: ZZG1 /MULTIPLIKATIVER ZZG VON DEC / SCHWELLE /SINGLE PRECISION / UEBERLAUF /=1,WENN ZUFALLSZAHL>SCHWELLE ZZG1, 2 BLOTNT ZZG1NT ACUM 1 DCA ERORAT JMS I SKPSR ERORAT, 0 / 50/7777=1% JMP SKPSR+1 /NORMAL RETURN CLA IAC /ERROR RETURN JMP SKPSR+2 ZZG1NT, JMS I INSKPI SKPSR, 0 CLA PUT 2 INEND INSKPI, INSSKP /***************** ZZG2 ************************************** /31.1.74 /CALL: ZZG2 RUECKGEKOPPELTES SCHIEBEREGISTER / SCHWELLE /DOPPELTGENAU ! / UEBERLAUF /=1,WENN ZUFALLSZAHL>SCHWELLE ZZG2, 2 BLOTNT ZZG2NT CLA CLL TAD ZREG2 AND ZTAP2 JMS I MOD2SI TAD ZREG1 AND ZTAP1 JMS I MOD2SI TAD ZREG0 AND ZTAP0 JMS I MOD2SI TAD ZREG2 RAR DCA ZREG2 TAD ZREG1 RAR DCA ZREG1 TAD ZREG0 RAR DCA ZREG0 GETAD 1 DCA ZPOI SWAB CAM DAD ZREG1 DAD ZPOI, 0 CLA RAL PUT 2 INEND ZZG2NT, DCA ZREG0 CLA DCA ZREG1 CLL CML RAR DCA ZREG2 JMP ZPOI+2 MOD2SI, MOD2SR /RUECKGEKOPPELTES SCHIEBEREGISTER ZREG0, 0 ZREG1, 0 ZREG2, 0 /MIT CHAR. POLYNOM MIT DEN EXPONENTEN /0;1;4;6;7;9;11;13;15;17;19;21;23;25;27;29;31 ZTAP0, 5240 ZTAP1, 5252 ZTAP2, 4552 PAGE INSSKP, 0 JMS R CLA TAD CALL CIA DCA CURCAL JMS PRAN ISZ CURCAL JMP .-2 JMS I INSSKP SSKP, 0 SWBA JMS PRAN CLL TAD I SSKP ISZ SSKP SZL CLA /LINL = 1 FOR ERROR ISZ SSKP JMP I SSKP CALL, 100 /NUM OF CALLS FOR PRAN CURCAL, 0 R, HLT JMP R+63 PRAN, HLT CLA TAD R+77 RAL AND R+71 DCA R+74 TAD R+76 AND R+70 TAD R+74 7006 7006/RAL RAT RAL DCA R+72 TAD R+77 AND R+70 7006 7006 RAL TAD R+76 DCA R+73 7430/SNL SKP ISZ R+72 7000 TAD R+77 7104/CLL RAL 7430 ISZ R+73 SKP ISZ R+72 7000 CLL TAD R+77 DCA R+77 TAD R+76 RAL 7430 ISZ R+72 7000 CLL TAD R+73 DCA R+76 TAD R+75 RAL TAD R+75 TAD R+72 DCA R+75 TAD R+75 JMP I PRAN 0/NOT USED 7201/CLA IAC DCA R+77 DCA R+76 DCA R+75 JMP I R 177 7400 0 0 0 0 0 0 HLT HLT /********** PSEUDO-NOISE BLOCK ****************************** /4.10.73 /CALL: PNBLOC / LAENGE DES PNBLOC'S IN BITS / PNBLOC-REGISTER /ZBLOCK PRECISION RESERVIEREN / PRECISION /AUFGERUNDET = ANZAHL DER RECHNERWORTE / FELD*10 DES REGISTERS PNBLOC, 4 BLOTNT PNT ACUM 1 CIA DCA PNCNT PNLOOP, JMS I SKPSRA 3777 SKP CLA CLA IAC DCA PNLNK PNLOC, INBLIP ROTATR PNLNK 2 3 4 BLOUT ISZ PNCNT JMP PNLOOP INEND PNT, JMS I INSSKB SKPSRA, HLT CLA CMA DCA PNCNT JMP PNLOC INSSKB, INSSKP PNLNK, 0 PNCNT, 0 PAGE /*************** HAMDIS *********************************** /21.6.73 /CALL: HAMDIS /HAMMING DISTANZ / EINGANGSTAFEL / VERGLEICHSTAFEL / ERGEBNIS /FUER JEDE TAFEL MUSS EIN ZBLOCK 14 RESERVIERT WERDEN. IN IHNEN /STEHEN MAX 14 EIN-BIT-WORTE ODER 1 VIERZEHN-BIT-WORT AN BELIEBIGER /STELLE BEI SONST LEERER TAFEL. HAMDIS, 3 PARSER 1 WORDI PARSER 2 WORDII EXOR WORDI WORDII WORDIV BLOUT TAD WORDIV CLL RAR SZL ISZ WORDV SZA JMP .-4 TAD WORDV PUT 3 DCA WORDV INEND WORDI, 0 WORDII, 0 WORDIV, 0 WORDV, 0 /************* FULADD **************************************** /23.7.73 /CALL: FULADD /VOLLADDIERER / EINGANG1 / EINGANG2 / AUSGANG FULADD, 3 BLOUT ACUM 1 ACUM 2 PUT 3 INEND /************* DATSEL ******************************************* /23.7.73 /CALL: DATSEL /DATENSELEKTOR / EINGANG1 / EINGANG2 / SWITCHEINGANG /1 ODER 2 / AUSGANG DATSEL, 4 /SCHALTET EINEN DER BEIDEN EINGAENGE DURCH. BLOUT ACUM 3 DCA .+2 ACUM 1 PUT 4 INEND /******************** VERGL ************************************** /23.7.73 /CALL: VERGL /PRUEFUNG, OB EING1>,=EING2 / EINGANG1 / EINGANG2 / AUSGANGFLAG /=1,WENN1.>2.,SONST=2 VERGL, 3 BLOUT ACUM 1 CMA IAC CLL CML ACUM 2 SNL CLA IAC IAC PUT 3 INEND /*********************** COPY *********************************** /21.6.73 /CALL: COPY /KOPIERT 1 RECHNERWORT / EINGANG / AUSGANG COPY, 2 BLOUT ACUM 1 PUT 2 INEND /*************** COMPAR ************************************** /5.10.73 /CALL: COMPAR /PRUEFUNG AUF UEBEREINSTIMMUNG / INPUT1 / INPUT2 / OUTPUT /=0, WENN INPUTS GLEICH, SONST -1 COMPAR, 3 BLOUT ACUM 1 CMA IAC CLL CML ACUM 2 SZA CLA CLA CMA PUT 3 INEND /**************** TAKT ******************************************** /13.6.73 /CALL: TAKT /TAKTGENERATOR FUER BLOCKCODES / ANZAHL DER INFORMATIONBITS (Z)>0 / ANZ. DER PARITYBITS (ZQUER)>0 / Z-TAKT AUSGANG / ZQUER-TAKT AUSGANG TAKT, 4 BLOTNT TAKTNT PUT 4 CLA IAC PUT 3 TAD TCNTZ ISZ TCNTZ SPA CLA INEND /Z=7777; ZQUER=0 PUT 3 CLA IAC PUT 4 ISZ TCNTZQ INEND /Z=0; ZQUER=7777 TAKTNT, ACUM 1 CIA DCA TCNTZ ACUM 2 CIA DCA TCNTZQ INEND TCNTZ, 0 TCNTZQ, 0 PAGE /********************* KOPIE ********************************** /23.7.73 /CALL: KOPIE /KOPIERT BELIEBIG VIELE WORTE. / ADR. DER FELDNR.*10 DES ORGINALS / ORGINAL / PRECISION /ANZ. DER RECHNERWORTE / KOPIE / ADR. DER FELDNR.*10 DER KOPIE KOPIE, 5 BLOUT ACUM 1 TAD CDFINS DCA GETF ACUM 5 TAD CDFINS DCA DEPF DCA KPOI1 JMS GTARG DCA RETF GETF, CDF 20 TAD I KPOI1 DEPF, CDF 20 DCA I KPOI2 ISZ KPOI1 ISZ KPOI2 ISZ KOUNT JMP GETF RETF, CDF 10 INEND CDFINS, CDF /KONST.LISTE FUER ROTATE UND KOPIE SCOUNT, KOUNT, 0 SEINP, KPOI1, 0 KPOI2, 0 GTARG, 0 ACUM 3 CMAINS, CMA CML IACINS, IAC DCA KOUNT GETAD 2 TAD KPOI1 DCA KPOI1 GETAD 4 DCA KPOI2 RDF TAD CDFINS JMP I GTARG /******************* ROTATE ************************************** /23.7.73 /CALL: ROTATR, ROTATL / LINK /1 BIT GANZ RECHTS / REGISTER / DESSEN LAENGE IN WORTEN / FELD*10 DES REGISTERS /DIESER BLOCK SIMULIERT EIN RAR ODER RAL MIT EINEM AC BELIEBIGER /WORTLAENGE. ROTATL, LSHIFT, 4 /LEFT SHIFT BLOUT TAD RALINS DCA ROTATE TAD CMAINS DCA MOVPOI CMA ACUM 3 DCA SEINP JMP MAIN ROTATR, RSHIFT, 4 BLOUT TAD RARINS DCA ROTATE TAD IACINS DCA MOVPOI DCA SEINP MAIN, JMS GTARG DCA RETFD TAD SLPINS DCA SLOOP ACUM 4 TAD CDFINS DCA DATF INBLIP BLOTNT SINIT ACUM 1 MRAR, RARINS, RAR CLA DATF, CDF 20 SLOOP, TAD I SEINP ROTATE, RAR DCA I SEINP MOVPOI, IAC TAD SEINP DCA SEINP ISZ SCOUNT JMP SLOOP RETFD, CDF 10 MRAL, RALINS, RAL PUT 1 INEND SLPINS, TAD I SEINP CLAINS, CLA CLL SINIT, TAD CLAINS DCA SLOOP JMP DATF /*************** MULTIPLEXER ********************************* /4.10.73 /CALL: PARSER / EINGANGSTAFEL /MAX. 14 WORTE LANG, ZBLOCK 14 / AUSGANGSWORT / /CALL: MWPRSR,MWPRSL /MULTIPLEX RIGHT,LEFT / EINGANGSTAFEL /ZBLOCK PREC.*14 RESERVIEREN / AUSGANGSVEKTOR /ZBLOCK PREC. RESERVIEREN / PRECISION /ANZ. DER RECHNER WORTE / FELD*10 VON EING.TAF U. AUSG.VEKTOR / /MERKE: DIE EING.TAF ENTHAELT WORTE MIT 1 BITGANZ RECHTS. /SIE MUSS MIT NULLEN AUF EINE LAENGE AUFGEFUELLT WERDEN, DIE /DURCH 14 TEILBAR IST. MWPRSR, 4 /ACHTUNG: BITS WERDEN VERWUERFELT !!!!!!!!!!!!! BLOUT TAD MRAR DCA I PRARI MWPRS, ACUM 3 CIA CLL DCA I MCNTI ACUM 4 JMP I MGOONI PARSER, 2 BLOUT TAD MRAR DCA I PRARI CLA CMA CLL DCA I MCNTI RIF JMP I MGOONI MWPRSL, 4 BLOUT TAD MRAL DCA I PRALI JMP MWPRS MCNTI, MCNT MGOONI, MGOON PRARI, PRALI, PRAR PAGE MGOON, TAD MCDF DCA MDATF RIF TAD MCDF DCA MRETF GETAD 2 DCA MOUTP GETAD 1 DCA PARSP CLA CLL MDATF, HLT MLOOP, JMS MUPLEX DCA I MOUTP ISZ MOUTP ISZ MCNT JMP MLOOP MRETF, HLT INEND MUPLEX, 0 TAD PM14 DCA PARSC PLOOP, TAD I PARSP PRAR, RAR ISZ PARSP ISZ PARSC JMP PLOOP RAR JMP I MUPLEX /************ TAPREG *********************************************** /16.8.73 /CALL: TAPREG / ADR. DES EINGANGSBITS / 1 BIT GANZ RECHTS / ADR. DES REGISTERS / FELD*10 DES REGISTERS,DER TAP-U. ANTWORTTAFEL / ADR. DER TAPTAFEL / ADR. DER ADDERANTWORTTAFEL / ADR. DER GROESSTEN ANZ. M DER TAPS JE ADDER / ADR. DER ANZ. V DER ADDER /=LAENGE DER ANTWORTTAF. /MERKE: IN DER TAPTAFEL STEHEN DIE OKT.NUM.DER ZELLEN RECHTS VOM TAP / SIE BEGINNEN MIT EINS. EINE EINS BEDEUTET, DASS DAS INF.BIT / SELBST UNVERZOEGERT GEHOLT WIRD. DAS BEDEUTET, DASS SHIFT / NACH TAPREG AUSGEFUERT WERDEN MUSS. TAPREG, 7 BLOUT ACUM TP1, 1 DCA TINBIT /EING.BIT GETAD 2 DCA TRADR /TAPREG.ADR. RIF TAD TCDF DCA TRETF ACUM 3 TAD TCDF DCA TDATF GETAD 4 DCA TTAFP /TAPREG.TAFELPOINTER GETAD 5 DCA TAUSP /T.R.AUSGANGSPOINTER ACUM 6 DCA TMMAX TAD TMMAX CIA DCA TMM ACUM 7 CIA DCA TRCONT TDATF, 0 TLOOP1, TAD TMM DCA TCOUNT TAD TTAFP DCA TEINP TAD I TEINP /PRUEFUNG, OB SCHLEIFE SOFORT BEENDET SNA CLA JMP TLOC2 DCA TAPSUM /INITIALISIERUNG VON TAPSUM CLA CMA TAD I TEINP SNA CLA /PRUEFUNG, OB 1. WORT DER V GRUPPEN =1 JMP TLOC3 TLOOP2, TAD TRADR / DCA EINPOI / TAD I TEINP /PRUEFUNG, OB SCHLEIFE VORZEITIG BEENDET SNA / JMP TLOC1 / TAD TM1 / TLOOP3, TAD TM14 //WORTSUCHE SPA SNA JMP TFOUND ISZ EINPOI JMP TLOOP3 TFOUND, CIA /BITSUCHE DCA TVAR SWBA TAD I EINPOI LSR TVAR, 0 CLA SHL 0 TAD TAPSUM / TLOC0, DCA TAPSUM / ISZ TEINP / ISZ TCOUNT / JMP TLOOP2 /SCHLEIFE FUER M TAPS JE ADDER TLOC1, TAD TAPSUM AND TP1 /MOD-2-ADDITION TLOC2, DCA I TAUSP / ISZ TAUSP / TAD TMMAX / TAD TTAFP / DCA TTAFP / ISZ TRCONT / JMP TLOOP1 /SCHLEIFE FUER V ADDER TRETF, CDF 10 INEND TLOC3, TAD TINBIT JMP TLOC0 TMMAX, 0 MCDF, TCDF, CDF PARSP, TTAFP, HLT MOUTP, TAUSP, HLT MCNT, TRCONT, HLT PARSC, TCOUNT, HLT TMM, HLT MINP, TEINP, HLT TAPSUM, HLT EINPOI, HLT TINBIT, HLT TRADR, HLT TM1, -1 PM14, TM14, -14 PAGE /************* ERROR-WORD-GENERATOR **************************** /5.9.73 /20.12.73 /CALL: ERWGEN / FEHLERVEKTOR / PRECISION /MAX. 54 WORTE / LAENGE DES FEHLERVEKTORS IN BITS /MAX. 54*14 / FELD*10 DES FEHLERVEKTORS / ANZAHL DER FEHLER IM FEHLERVEKTOR /MAX. 3 / /MERKE: SOLLTE IN JEDEM FELD LAUFEN RL=54 ERWGEN, 5 BLOTNT ERNT INBLIP /FEHLERWORTERZEUGUNG MWEXOR REG1 REG2 DUMR REGL FLD1 MWEXOR REG3 DUMR DUMR REGL FLD1 KOPIE FLD1 DUMR 2 P1, 1 4 ///////////////////////////////////////////////// ROTATR /FEHLERWORTE MIT EINEM FEHLER LINK1 REG1 REGL FLD1 TAPREG /ENDPRUEFUNG VON REGISTER 1 LINK1 REG1 FLD1 TAP1 ANT1 P1 P1 BLOUT TAD ANT1 SNA CLA INEND TAD ESAVE CLL RAR /PRUEFUNG OB DOPPELFEHLER DARGESTELLT WERDEN SNA CLA JMP ENDLOC INBLIP ////////////////////////////////////////////// ROTATR /FEHLERWORTE MIT ZWEI FEHLERN LINK2 REG2 REGL FLD1 COPY21 TAPREG /ENDPRUEFUNG VON REGISTER 2 LINK2 REG2 FLD1 TAP2 ANT2 P1 P1 BLOUT TAD ANT2 SNA CLA INEND TAD ESAVE/PRUEFUNG OB 3-FACH-FEHLER DARGESTELLT WERDEN CLL RAR SNL CLA JMP ENDLOC INBLIP //////////////////////////////////////////////////// ROTATR /FEHLERWORTE MIT 3 FEHLERN LINK3 REG3 REGL FLD1 COPY32 COPY21 TAPREG /ENDPRUEFUNG REGISTER 3 LINK3 REG3 FLD1 TAP3 ANT3 P1 P1 BLOUT TAD ANT3 SNA CLA INEND ENDLOC, INBLIP ///////////////////////////////////////////////// BLNTON ROTATR /ALLE REG AUF NULL SETZEN DUML DUMR REGL FLD1 BLNTOF ENDNT, KOPIE FLD1 DUMR REGL REG3 FLD1 /REG.3 GELOESCHT COPY32 /REG.2 GELOESCHT COPY21 /REG.1 GELOESCHT BLEND ESAVE, 0 ANT1, 0 ANT2, 0 ANT3, 0 COPY21, 0 /SR, UM REG2 NACH REG1 ZU KOPIEREN KOPIE FLD1 REG2 REGL DUMR FLD1 ROTATR DUML DUMR REGL FLD1 KOPIE FLD1 DUMR REGL REG1 FLD1 BLEND COPY32, 0 /SR, UM REG3 NACH REG2 ZU KOPIEREN KOPIE FLD1 REG3 REGL DUMR FLD1 ROTATR DUML DUMR REGL FLD1 KOPIE FLD1 DUMR REGL REG2 FLD1 BLEND TAP1, 0 TAP2, 0 TAP3, 0 FLD1I, FLD1 DUML, 0 LINK1, 0 LINK2, 0 LINK3, 0 REGL, RL FLD1, 10 ERNT, CLA CLL IAC RAL ACUM 3 DCA TAP1 CMA TAD TAP1 DCA TAP2 CMA TAD TAP2 DCA TAP3 /ENDTAPS GESETZT CLA IAC DCA LINK1 IAC DCA LINK2 IAC DCA LINK3 /LINK 1-3 GESETZT RIF DCA I FLD1I ACUM 5 PUT ESAVE INBLIP ROTATR DUML DUMR REGL FLD1 /DUMR UND DUML GELOESCHT BLJUMP ENDNT REG1, ZBLOCK RL REG2, ZBLOCK RL REG3, ZBLOCK RL DUMR, ZBLOCK RL