File KNKSM1.1

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

PAGE
/++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
/SIMULATION EINES N,K BLOCKCODES
/MIT BLBL8
/30.8.74


/ANZ. DER BINAEREN STELLEN EINES CODEWORTES
N=37

/ANZ. DER INFORMATIVEN STELLEN
K=37

/ANZ. DER REDUNDANTEN STELLEN
NMK=0

/ANZ. DER BITS IM CODIER-REGISTER
B=37

/KLEINSTE GANZE VON N/14, K/14, NMK/14, B/14
KGN=3
KGK=3
KGB=3
KGNMK=0

/SONSTIGES
NTAPS=20




FIELD 0
*5000

AUTOST,	CLA
	CIF 10
	JMS I AUTONT

AUTOAD,	0
	CLA
	CIF 10
	JMS I AUTOAD
	JMP .-3

AUTONT,	INTNT










/INTERFACE-PROGRAMM ZWISCHEN SCOPE ODER SIGPIP UND EINER /SIMULIERTEN CODER-BSC DECODER STRECKE FIELD 1 *4200 INTNT, 0 /INTNT IN CODADR STELLEN!!!!!!!!! CDF 10 JMS SPEZNT /INIT VON SPEZIALPROGRAMMEN JMS PARNT /LADEN DER PARAMETER FEUR SIMUL CLA CLL IAC DCA MYFLAG /MY OWN INIT.FLAG CDF CIF 0 JMS I INTNT INTERF, 0 CDF 10 DCA INPUT /14 BIT VON SCOPE ODER SIGPIP TAD MYFLAG /OWN INIT.FLAG SET? SNA CLA /YES JMP LOCA /NO JMS SIMNT /INITIALIZE SIMUL CLA DCA MYFLAG /CLEAR MYFLAG SWAB CAM DAD SCPWDS DCM DST CNT2 /ANZ. DER SCOPEWORDS JE BITERRORRATE LOCA, SWAB CAM DAD WDSNUV DCM DST CNT1 /ANZ. DER UEBERTRAGENEN BLOECKE JE SCPWDS JMS SIMUL /SIMULATIONSPROGRAMM MOSTSR /KEYBOARD EINGRIFF RESTRT, ISZ CNT1 SKP ISZ CNT1+1 JMP .-5 ISZ CNT2 SKP ISZ CNT2+1 JMP LOCB JMS SPEZSR /HYSTOGRAMM ETC. ISZ SIMCNT SKP MOSTGO /ALLE BITERRORRATES FERTIG CLA CLL IAC DCA MYFLAG JMS NEWPAR /ISZ ALLE PARAMETER LOCB, TAD OUTPUT CDF CIF 0 JMP I INTERF INPUT, 0 OUTPUT, 0 SIMNT, 0 NOP NTBLIP INBLIP WUERFL /JEWEILIGER NAME NZERO OUTPUT BLNTOF BLOUT JMP I SIMNT SIMUL, 0 INBLIP WUERFL /JEWEILIGER NAME INPUT OUTPUT BLOUT JMP I SIMUL TYPDEV, TPONTY /ODER TPONDW=6044 SPEZNT, 0 /EINMALIGE INIT. VON SPEZIALPROGRAMMEN JMS TAPENT JMS I TYPDEV JMP I SPEZNT NOP NOP PARNT, 0 /EINMALIGE INIT. DER PARAMETER CLA TAD SHFTNR DCA SHFTS TAD SIMNUM CIA DCA SIMCNT SWAB CAM DAD ERRORN DST ERRORV CAM DAD WDSNUM DST WDSNUV JMP I PARNT NOP;NOP SPEZSR, 0 /Z.B. HYSTOGRAMM AM ENDE JEDER TEILSIMULATION JMP I SPEZSR NOP NOP NEWPAR, 0 /ISZ DER PARAMETER SWAB CAM DAD ERRORV LSR 1 DST ERRORV /BITFEHLERRATE VERKLEINERN CAM DAD WDSNUV SHL 1 DST WDSNUV /ANZ. DER BLOECKE VERVIELFACHEN JMP I NEWPAR NOP;NOP
PAGE /WICHTIGE PARAMETER!!!!!!!!!!!!!!!!!!!!!!!!!!! /BIFEHLERRATE IM KANAL ERRORN, 0;2000 /STATT AUF TTY: AUSZUDRUCKEN KANN AUCH AUF BAND GE- /SCHRIEBEN WERDEN. WDSNUM IST AUCH DIE ANZ. DER BLOECKE JE SCOPE-WORT. /ZWECKMAESSIG EINE POTENZ VON 2 WDSNUM, 1;0 /SCPWDS IST DIE ANZAHL DER SCOPEWORTE , DIE FUER EINE TEILSIMULATION /ZUR VERFUEGUNG STEHEN. /ZWECKMAESSIG =2^(SHFTNR) SCPWDS, 1750;0 /SIMNUM ENTHAELT DIE ANZAHL DER TEILSIMULATIONEN. SIMNUM, 10 /ANZ. DER SHIFT'S ZUR VERVIELFACHUNG DER TABELLENZEILEN JE /TEILSIMULATION SHFTNR, 2 /FUNCTION-CONTROL-WORD FUER DEN DEVICE-HANDLER CONTRL, 4220 /ANFANGSADRESSE DES SPEICHERBEREICHES CORADD, 0 /FILENAME AUF BAND ODER PLATTE STONAM, FILENAME COYERG.EA /NAME OF DEVICE USED. MOST SIGNIF. HAELFTE VON DEVNAM LOESCHEN, /WENN KEIN DEVICE VERWENDET WERDEN SOLL. DEVNAM, DEVICE DTA1 CALFLG, 1 /0 ZUM AUSLISTEN TYPFLG, 0 /1 ZUM AUSLISTEN SCHWELL, 0 /P DER EINSEN IM EINGANGSWORT /FESTE GROESSEN FELD10, 10 FELD20, 20 MAXTP1, NTAPS 0 MAXAD1, N 0 MAXAD2, K 0 MAXAD3, NMK 0 MAXAD4, B 0 PREC1, KGN PREC2, KGK PREC3, KGNMK PREC4, KGB STNMA, STONAM DVNMA, DEVNAM /VARIABLE MYFLAG, 0 ERRORV, 0;0 ERRORF, 0 ERORFS, 0 SIMCNT, 0 WDSNUV, 0;0 CNT1, 0;0 CNT2, 0;0 DATEIL, 0 BLOCKL, 0;0 FLSBIT, 0 ERSUMB, FLSBTS, 0;0 FLSDCS, 0;0 ERSUMA, ERSUM, 0;0 TYPCNT, 0;0 TEMPO, ZBLOCK N+14 EINGS, ZBLOCK N+14 AUSGD, ZBLOCK N+14 FORTS1=. FIELD 2 *600 NZERO, ZBLOCK N+14 INPVKT, ZBLOCK KGK+1 CODREG, ZBLOCK KGB+1 DECREG, ZBLOCK KGB+1 ANTTF1, ZBLOCK N+14 DEINTF, ZBLOCK N+14 YVKT, ZBLOCK KGN+1 OUTVKT, ZBLOCK KGK+1 ANTTF2, ZBLOCK K+14 ANTTF3, ZBLOCK N+14 SYNVKT, ZBLOCK KGNMK+1 TEMVKT, ZBLOCK KGN+1 ANTTF4, ZBLOCK NMK+14 TPTF1, ZBLOCK N^NTAPS TPTF4, ZBLOCK NMK^NTAPS HLTA, HLT
FIELD 1 *FORTS1 PAGE AUSWRT, 0 INBLIP BLOTNT AUSWNT ISZ BLOCKL SKP ISZ BLOCKL+1 CLA CLL SWAB TAD ERORFS MQL DAD ERSUM DST ERSUM INBLIP MWEXOR EINGS AUSGD TA, TEMPO MAXAD1 FELD10 BLOUT TAD TA DCA TEMA TAD MAXAD1 CIA DCA TEMB CLL DCA FLSBIT TLP, TAD I TEMA CLL RAL SZL ISZ FLSBIT SZA JMP .-4 ISZ TEMA ISZ TEMB JMP TLP TAD FLSBIT SNA JMP .+12 ISZ FLSDCS SKP ISZ FLSDCS+1 NOP MQL DAD FLSBTS DST FLSBTS NOP;NOP /FUER PATCH ISZ TYPCNT SKP ISZ TYPCNT+1 JMP I AUSWRT CALLOC, CAM TAD SCPWDS CIA DCA TEMA CLL DAD WDSNUV SZL JMP .+11 ISZ TEMA JMP .-5 LSR SHFTS, 0 DCM DST TYPCNT JMP CALL0 CAM DST TEMB CLA TAD SCPWDS CIA DCA TEMA TAD SHFTS DCA SHIFS CAM DAD WDSNUV LSR SHIFS, 0 DAD TEMB DST TEMB ISZ TEMA JMP .-11 CAM DAD TEMB DCM DST TYPCNT CALL0, JMS CALCUL CIF 20 JMS WRTRED JMS DOTYP JMP I AUSWRT TEMA, 0 0 TEMB, 0 0 PAGE AUSWNT, SWAB CAM DST BLOCKL CAM DST ERSUM CAM DST FLSDCS CAM DST FLSBTS TAD SHFTNR DCA SHFTS NOP;NOP /FUER PATCH JMP CALLOC
PAGE WUERFL, 2 /SCRAMBLER-BSC-DESCRAMBLER STRECKE BLOUT TAD SM14 DCA CNT14 TAD EINGSA DCA EINGSB DCA ERORFS LOP1, INBLIP ZZG1 SCHWELL EINGSB, 0 BLOUT SKP NOP ISZ EINGSB ISZ CNT14 JMP LOP1 TAD SM14 DCA CNT14 TAD EINGSA DCA EINGSP TAD AUSGDA DCA AUSGDP LOP2, INBLIP SCRAMB /SCRAMBLER EINGSP, EINGS AUSGS BSC AUSGS EINGD P1 ERRORV ERRORF FELD10 DESCRA /DESCRAMBLER EINGD AUSGDP, AUSGD BLOUT CLA CLL TAD I AUSGDP-1 JMS KNACK N TAD ERRORF TAD ERORFS DCA ERORFS ISZ EINGSP ISZ AUSGDP ISZ CNT14 JMP LOP2 INBLIP MWPRSL AUSGD /DEMUPLEX 2 SP1 FELD10 BLOUT JMS AUSWRT INEND PAGE SCRAMB, 2 /SCRAMBLER ALS SENDER BLOTNT SCRANT ACUM SP1, 1 TAD FDBK AND SP1 SCRANT, DCA LNK1 TAD LNK1 PUT 2 INBLIP ROTATR LNK1 CODREG PREC4 FELD20 TAPREG NZERO CODREG FELD20 TPTF1 ANT1I, ANTTF1 MAXTP1 MAXAD1 BLOUT CDF 20 TAD I ANT1I CDF 10 DCA FDBK INEND DESCRA, 2 /DESCRAMBLER ALS EMPFAENGER BLOTNT DESCNT ACUM 1 DCA LNK2 TAD LNK2 TAD FDFW AND SP1 DESCNT, PUT 2 INBLIP ROTATR LNK2 DECREG PREC4 FELD20 TAPREG NZERO DECREG FELD20 TPTF1 ANT2I, ANTTF2 MAXTP1 MAXAD1 BLOUT CDF 20 TAD I ANT2I CDF 10 DCA FDFW INEND LNK1, 0 LNK2, 0 FDBK, 0 FDFW, 0 AUSGDA, AUSGD EINGSA, EINGS AUSGS, 0 EINGD, 0 SM14, -N CNT14, 0 PAGE
TAPENT, 0 CLA SWAB TAD SHFTNR DCA .+3 CLL CLA IAC SHL 0 CLL IAC MQL MUY SIMNUM ACL DCA DATEIL CIF 20 JMS WTRDNT CONTRL CORADD DATEIL STONAM DEVNAM JMP I TAPENT LISTA, 222;224;227;231;6146;6150 LISTTY, 6031;6036;6041;6046 LISTDW, 6401;6406;6411;6416 TPONDW, 0 6402 6416 TAD LISTDW DCA I LISTA TAD LISTDW+1 DCA I LISTA+1 TAD LISTDW+2 DCA I LISTA+2 TAD LISTDW+3 DCA I LISTA+3 CDF 20 TAD LISTDW+2 DCA I LISTA+4 TAD LISTDW+3 DCA I LISTA+5 CDF 10 JMP I TPONDW TPONTY, 0 6032 6046 TAD LISTTY DCA I LISTA TAD LISTTY+1 DCA I LISTA+1 TAD LISTTY+2 DCA I LISTA+2 TAD LISTTY+3 DCA I LISTA+3 CDF 20 TAD LISTTY+2 DCA I LISTA+4 TAD LISTTY+3 DCA I LISTA+5 CDF 10 JMP I TPONTY
PAGE TITEL, 0 LINE LINE TDC 4316;275 CIF 20 JMS FFOUT N3 5 0 TDC 4240;4240;4240;4313;275 CIF 20 JMS FFOUT K3 5 0 TDC 4240;4240;4240 4302;275 CIF 20 JMS FFOUT B3 5 0 TDC 4240;4240;4240;4302;4311;4324;4306;4305;4310;4314;4305;322 TDC 4322;4301;4324;4305;275 CIF 20 JMS EFOUT ERORN3 LINE LINE JMS UEBER JMP I TITEL PAGE UEBER, 0 TDC 4240;4240 4302 4314 4317 4303 4313 4323 240 TDC 4302;4311;4324;4305;4322;4322;4317;4322;4323;240 TDC 4322;4305;4303;4305;4311;4326;4305;4304;255 TDC 4302;4311;4324;255 TDC 4305;4322;4322;4317;4322;4323;240 TDC 4322;4305;4303;4305;4311;4326;4305;4304;255 TDC 4302;4314;4317;4303;4313;255 TDC 4305;4322;4322;4317;4322;4323;240 TDC 4306;4314;4323;4256;4302;4311;4324;4323;257 TDC 4306;4314;4323;4256;4302;4314;4317;4303;4313;4323;240 LINE JMP I UEBER
PAGE /JMS GETKEP /GET AND KEEP /ADR. VON X /X IN FELD 10, SONST. ARG. IN FELD 20 /ADR. DER SUMME ALLER X /ADR. DER SUMME ALLER X^2 /SUMMEN IN FL.POINT.DARST. GETKEP, 0 CLA TAD I GETKEP DCA GET1 ISZ GETKEP TAD I GETKEP DCA GET2 ISZ GETKEP TAD I GETKEP DCA GET3 ISZ GETKEP TAD GET2 DCA GET2A TAD GET3 DCA GET3A INBLIP BLOTNT GTKPNT GTKPON, CIF 20 JMS NORMD GET1, 0 X3 CIF 20 JMS SRMUY X3 X3 XQ3 CIF 20 JMS SUMM X3 GET2, 0 GET2A, 0 CIF 20 JMS SUMM XQ3 GET3, 0 GET3A, 0 JMP I GETKEP GTKPNT, TAD ZERODA DCA GET1 TAD ZERO3A DCA GET2 TAD ZERO3A DCA GET3 JMP GTKPON ZERODA, NZERO ZERO3A, ZERO3
CALCUL, 0 CLA TAD CALFLG /CALCUL? SNA CLA /JA JMP I CALCUL /NEIN INBLIP BLOTNT CALNT CIF 20 JMS NORMD BLOCKL BLCKL3 CIF 20 JMS NORMD ERSUMA ERSMA3 CIF 20 JMS NORMD ERSUMB ERSMB3 CIF 20 JMS DIVIDR ERSMB3 BLCKL3 FRACA3 CIF 20 JMS NORMD FLSDCS FLSDS3 CIF 20 JMS DIVIDR FLSDS3 BLCKL3 FRACB3 CIF 20 JMS DIVIDR ERSMB3 FLSDS3 FRACC3 JMP I CALCUL CALNT, CIF 20 JMS NORMD MAXAD1 N3 CIF 20 JMS NORMD MAXAD2 K3 CIF 20 JMS NORMD MAXAD4 B3 CIF 20 JMS NORMD ERRORV ERORN3 CIF 20 JMS DIVIDR ERORN3 ZWOH31 ERORN3 JMP I CALCUL PAGE DOTYP, 0 CLA TAD TYPFLG /DRUCKEN? SNA CLA /JA JMP I DOTYP /NEIN INBLIP BLOTNT TYPNT TDC 240 CIF 20 JMS FFOUT BLCKL3 10 0 TDC 240 CIF 20 JMS FFOUT ERSMA3 10 0 CIF 20 JMS FFOUT ERSMB3 10 0 TDC 240 CIF 20 JMS EFOUT FRACA3 CIF 20 JMS FFOUT FLSDS3 10 0 TDC 240 CIF 20 JMS EFOUT FRACB3 TDC 4240 240 CIF 20 JMS EFOUT FRACC3 LINE JMP I DOTYP TYPNT, JMS TITEL JMP I DOTYP
XLIST ENTF=JMS I 7 FIELD 2 *70 N3, 0;0;0 K3, 0;0;0 B3, 0;0;0 X3, 0;0;0 XQ3, 0;0;0 ZERO3, 0;0;0 ZWOH31, 30;3777;7777 BLCKL3, 0;0;0 ERSMA3, 0;0;0 ERSMB3, 0;0;0 FRACA3, 0;0;0 FRACB3, 0;0;0 FRACC3, 0;0;0 ERORN3, 0;0;0 FLSDS3, 0;0;0 FIELD 0 *4200 /S.R. UM AUF BAND ODER PLATTE ABZUSPEICHERN /S.R. STEHT IN FIELD 2, BENOETIGT PLATZ FUER DEV.HAN. /IN FIELD 0 VON 7200-7577,SOFERN NICHT DER SYSTEM- /DEV.HAN. VERWENDET WIRD. /ANRUF VON FIELD 0,1 ODER 2 AUS. S.R. BESTEHT AUS EINER /INITIALISIERUNGSROUTINE UND EINER ARBEITSROUTINE /CDF N /ARG. IN FELD N /CIF 20 /JMS WTRDNT /INITIALISIERUNGSROUTINE /ADR. DES FUNC.CONTR.WORDS FUER DEN DEV.HAN. /ADR. DER CORADRESSE /ADR. DER ANZ. DER SPEICHERUNGEN /ADR. DES FILENAMENS /ADR. DES DEVICENAMENS /CDF N /CIF 20 /JMS WRTRED /ARBEITSROUTINE CORAD, 0 DHFUN, 0 STORNR, 0 FLNAMA, FLNAME CDFIN, CDF 0 WTRDNT, 0 CLA TAD I WTRDNT DCA TEMW TAD I TEMW DCA DHFUN ISZ WTRDNT /D.H.FUNC.CONTR.WORD TAD I WTRDNT DCA TEMW TAD I TEMW DCA CORAD /COREADRESSE ISZ WTRDNT TAD I WTRDNT DCA TEMW TAD I TEMW DCA STORNR /NUMBER OF STORAGES ISZ WTRDNT RDF TAD CDFIN DCA WDATF /CALCUL. DATAFIELD CLA CLL IAC RAL TAD WDATF DCA WRETF /CALCUL. RETURNFIELD TAD I WTRDNT DCA TEMU SWAB TAD FLNAMA DCA TEMV CLA CLL CMA RTL DCA TEMW CAM DAD TEMU, 0 CDF 0 DST TEMV, 0 WDATF, CDF 10 ISZ TEMU ISZ TEMU ISZ TEMV ISZ TEMV ISZ TEMW JMP TEMU-1 /UEBERTRAGEN DES FILENAMENS IN DIESES FELD ISZ WTRDNT CLA TAD I WTRDNT DCA TEMW CAM DAD TEMW, 0 CDF 0 DST FETCH1 /UEBERTRAGEN DES DEVICENAMENS IN DIESES FELD ISZ WTRDNT /DEVICE VERWENDEN? SNA CLA /JA JMP WRETF /NEIN JMS SETRST /USR ARGUMENT INIT. CIF 10 JMS I (7700 /USRIN 10 CLA CIF 10 JMS I (200 1 /FETCH DEV.HAN. FETCH1, 0424 FETCH2, 0161 /DEV.NAME /DEV.NUMBER FETCH3, 7201 /PAGE LOCATION /ENTRY POINT OF DEV.HAN. JMS I TYDI TAD FETCH2 DCA DEVNUM TAD FETCH3 DCA I DHENTI TAD DHFUN SPA CLA /KERNSPEICHER LADEN ODER AUSLESEN? JMP AUSLES /AUSLESEN /LADEN LADEN, TAD DEVNUM CIF 10 JMS I (200 /LOOKUP 2 LOKUP1, FLNAME /FILE STARTING BLOCK LOKUP2, 0 /-FILELENGTH JMS I TYDI TAD LOKUP1 DCA I STRTBI TAD LOKUP2 DCA FILCNT JMP GETOF AUSLES, TAD DEVNUM CIF 10 JMS I (200 /ENTER 3 ENTER1, FLNAME /FILE STARTING BLOCK ENTER2, 0 /-FILELENGTH JMS I TYDI
TAD ENTER1 DCA I STRTBI TAD ENTER2 TAD FILENG /PRUEFEN, OB GENUG PLATZ SMA SZA CLA JMS I TYDI /NEIN TAD FILENG /JA CIA DCA FILCNT TAD DEVNUM CIF 10 JMS I (200 /CLOSE 4 CLOSE1, FLNAME CLOSE2, 0 JMS I TYDI GETOF, CIF 10 JMS I (200 11 /USROUT WRETF, CIF CDF 10 JMP I WTRDNT FILCNT, 0 DEVNUM, 0 TYDI, TYD STRTBI, STRTBK DHENTI, DHENT FILENG, 0 PAGE FLNAME, 0;0;0;0 SETRST, 0 CLA TAD WRETF DCA RF TAD (7201 DCA FETCH3 TAD DHFUN DCA DHFUNC TAD CORAD DCA CORADR TAD FLNAMA DCA LOKUP1 TAD FLNAMA DCA ENTER1 TAD FLNAMA DCA CLOSE1 TAD DHFUNC AND (3700 BSW CLL RAR /ANZ. DER OS8 BLOECKE MQL MUY STORNR SZA JMP TYDR /ZU GROSSE FILELAENGE ACL DCA FILENG TAD FILENG DCA CLOSE2 JMP I SETRST DEVNMI, DEVNAM+1 WRTRED, 0 CLA TAD I DEVNMI CDF 0 /DEV. VERWENDET? SNA CLA /JA JMP RF /NEIN TAD FILCNT IAC SMA SZA JMS TYDR DCA FILCNT CIF 0 JMS I DHENT DHFUNC, 0 CORADR, 0 STRTBK, 0 JMS TYDR TAD DHFUNC AND (3700 BSW CLL RAR TAD STRTBK DCA STRTBK RF, CDF CIF 10 JMP I WRTRED DHENT, 0 TYD, 0 CIF 10 JMS I (200 11 /USROUT CLA TAD TYD JMP .+3 TYDR, 0 TAD TYDR MQL CDF CIF 0 JMS I .+1 544 /JMP TO TYDER
FIELD 2 *4511 /CIF 20 /JMS FFOUT /F-FORMATAUSGABE /ERG.ADR. /ERG. IN FELD 20 /ANZ. ALLER STELLEN /ANZ. DER STELLEN NACH DEM KOMMA EFZ1, FFOUT, 0 CLA IAC DCA 56 DCA 55 TAD I FFOUT DCA FFZ1 ISZ FFOUT TAD I FFOUT DCA 57 ISZ FFOUT TAD I FFOUT DCA 60 ISZ FFOUT CDF 20 ENTF FGET I FFZ1 FOUT FEXT CIF CDF 10 JMP I FFOUT /CIF 20 /JMS EFOUT /ARG. /ERGEBNISAUSGABE IN EFORMAT FFZ1, EFOUT, 0 CLA TAD I EFOUT DCA EFZ1 ISZ EFOUT CDF 20 DCA 55 DCA 56 ENTF FGET I EFZ1 FOUT FEXT CDF CIF 10 JMP I EFOUT
PAGE /CIF 20 /JMS SRMUY /MULTIPLIKATION,ALLE ARG. IN FELD 20 /FAKTOR1 /FAKTOR2 /PRODUKT SUZ1, SRMUY, 0 CLA TAD I SRMUY DCA DIVZ1 ISZ SRMUY TAD I SRMUY DCA DIVZ2 ISZ SRMUY TAD I SRMUY DCA DIVZ3 ISZ SRMUY CDF 20 ENTF FGET I DIVZ1 FMPY I DIVZ2 FPUT I DIVZ3 FEXT CIF CDF 10 JMP I SRMUY /CIF 20 /JMS DIVIDR /DIVISION, ALLE ARGUMENTE IN FELD 20 /DIVIDENT /DIVISOR /ERGEBNIS SUZ2, DIVIDR, 0 CLA TAD I DIVIDR DCA DIVZ1 ISZ DIVIDR TAD I DIVIDR DCA DIVZ2 ISZ DIVIDR TAD I DIVIDR DCA DIVZ3 ISZ DIVIDR CDF 20 ENTF FGET I DIVZ1 FDIV I DIVZ2 FPUT I DIVZ3 FEXT CIF CDF 10 JMP I DIVIDR /CIF 20 /JMS SUMM ALLE ARG. IN FELD 20 /SUMMAND1 /SUMMAND2 /SUMME DIVZ2, SUMM, 0 CLA TAD I SUMM DCA SUZ1 ISZ SUMM TAD I SUMM DCA SUZ2 ISZ SUMM TAD I SUMM DCA SUZ3 ISZ SUMM CDF 20 ENTF FGET I SUZ1 FADD I SUZ2 FPUT I SUZ3 FEXT CIF CDF 10 JMP I SUMM /CIF 20 /JMS DIFF /DIFFERENZ /SUMMAND1 /SUMMAND2 /DIFFERENZ DIVZ3, NRMDZ2, DIFF, 0 CLA TAD I DIFF DCA SUZ1 ISZ DIFF TAD I DIFF DCA SUZ2 ISZ DIFF TAD I DIFF DCA SUZ3 ISZ DIFF CDF 20 ENTF FGET I SUZ1 FSUB I SUZ2 FPUT I SUZ3 FEXT CDF CIF 10 JMP I DIFF /CIF 20 /JMS NORMD /UMWANDLUNG: DOUBLE PREC. IN FLOAT. POINT /ARG1 /DOPPELTGENAU IN FELD 10 /ARG2 /FP.DARST. IN FELD 20 NRP23, 27 DIVZ1, SUZ3, NORMD, 0 SWAB CLA TAD I NORMD DCA NRMDZ1 ISZ NORMD TAD I NORMD DCA NRMDZ2 ISZ NORMD CAM DAD NRMDZ1, 0 CDF 20 SWP DST 45 CLA TAD NRP23 DCA 44 ENTF FNOR FPUT I NRMDZ2 FEXT CIF CDF 10 JMP I NORMD /CIF 20 /JMS FUNCSR /X,Y IN FELD 20 /FUNCTION /X ADR. /Y ADR. FUNCSR, 0 CLA TAD I FUNCSR DCA FUNC ISZ FUNCSR TAD I FUNCSR DCA NRMDZ1 ISZ FUNCSR TAD I FUNCSR DCA NRMDZ2 ISZ FUNCSR CDF 20 ENTF FGET I NRMDZ1 FUNC, 0 FPUT I NRMDZ2 FEXT CIF CDF 10 JMP I FUNCSR XLIST
/************** ZZG4 ********************************************* /3.4.74 /CALL: ZZG4 /MULTIPL.ZZG: Z(N+1)=C*Z(N)MOD(B) / SCHWELLE /DOPPELTGENAU / UEBERLAUF /=1,WENNZUF.ZAHL>SCHWELLE /MERKE: C=(2^15+3)DEZIMAL;B=2^31DEZIMAL;Z(0)=1 /C IST MAX DOPPELTGENAU; B,Z SIND MAX. DREIFACH-GENAU /ZZG4 IST GEPACKTE VERSION VON ZZG3 FIELD 1 *6400 ZZG4, 2 BLOTNT ZZG4NT SWAB CAM DST ZAC1 CAM DST ZAC3 JMS MUL /C0*ZN0*2^0 C0 ZN0 ZAC0 CAM DAD /+ ZAC1 JMS MUL /C0*ZN1*2^14 C0 ZN1 ZAC1 CAM DAD /+ ZAC1 JMS MUL /C1*ZN0*2^14 C1 ZN0 ZAC1 CAM DAD /+ ZAC2 JMS MUL /C0*ZN2*2^30 C0 ZN2 ZAC2 CAM DAD /+ ZAC2 JMS MUL /C1*ZN1*2^30 C1 ZN1 ZAC2 CAM DAD ZAC0 DST ZN0 /Z(N+1) VORBEREITET CLA TAD ZAC2 AND ZMSK2 DCA ZN2 TAD ZM5 DCA ZCNT ZLP, TAD ZAC0 /NORMALISIERUNG WEGEN KOMPATIBILITAET CLL RAL DCA ZAC0 TAD ZAC1 RAL DCA ZAC1 TAD ZAC2 RAL DCA ZAC2 ISZ ZCNT JMP ZLP GETAD 1 DCA Z3POI CAM DAD Z3POI, 0 DAD ZAC1 CLA RAL PUT 2 INEND ZZG4NT, SWAB TAD Z0 DCA ZN0 CAM DST ZN1 JMP .-10 MUL, 0 CLL DST SACMQ /SAVE AC+MQ CAM TAD I MUL DCA MTP1 ISZ MUL TAD I MTP1 MQL TAD I MUL DCA MTP1 ISZ MUL TAD SACMQA DCA MTP2 TAD I MUL DCA MTP3 ISZ MUL MUY MTP1, 0 DAD MTP2, 0 DST MTP3, 0 CAM SNL JMP I MUL DPIC CLA CLL IAC RAL TAD MTP3 DCA MTP3 TAD MTP3 DCA MTP2 JMP MTP1+1 SACMQ, 0 0 SACMQA, SACMQ ZMSK2, 177 /MOD B ZM5, -5 ZCNT, 0 C0, 3 / C1, 10 /2^15+3 ZN0, 0 /Z(N) ZN1, 0 ZN2, 0 Z0, 1 /Z(0) 0 ZAC0, 0 ZAC1, 0 ZAC2, 0 ZAC3, 0 0
PAGE /SUBROUTINE ZUM SERIELLEN EINLESEN VON EINER 2*N BIT LAN- /GEN PROBE DER AUSGANGSFOLGE EINES RUECKGEKOPPELTEN SCHIEBE /REGISTERS, DIE ZU EINER (N*(N+1)) MATRIX AUFBEREITET UND /MIT DEM GAUSSCHEN ALGORITHMUS GELOEST WIRD /TAD BIT /JMS KNACK /ANZ. DER MATRIXZEILEN FIELD 1 *7400 KNACK, 0 /CLA; LINK,MQ MODIFIED; INS.U.DAT.FIELD AUF 1 DCA BIT INBLIP BLOTNT STKNCK TAD BIT CDF 20 DCA I POIA CDF 10 ISZ POIA ISZ REDCNT JMP KNCKEX FILOP, CLA INBLIP MWPRSL POIB, EMATRX POIC, MATRIX OLIST+2 FLD2 BLOUT ISZ POIB CLA CLL IAC RTL RAL CLL TAD POIC DCA POIC ISZ FILC JMP FILOP TAD ADR1 DCA POIB TAD ADR2 DCA POIC TAD OLIST+1 DCA FILC FILOP2, TAD I POIB CLL RAR CLA RAL RTL RTL DCA TEMM CDF 20 TAD I POIC AND TEMM CIA CLL RAL TAD I POIC TAD TEMM DCA I POIC CDF 10 CLL CLA IAC RTL CLL RAL TAD POIC DCA POIC ISZ POIB ISZ FILC JMP FILOP2 TAD OLIST CIF CDF 20 JMS GAUSS INBLIP MWUND XVKTOR MSKVKT VFLGI, VFLG MAXAD1 FELD20 BLOUT TAD I VFLGI SZA CLA ISZ CORECT SKP ISZ CORECT+1 JMP KNCKNT STKNCK, SWAB CAM DST CORECT CDF 20 CAM DST SINGL CAM DST REGU CDF 10 KNCKNT, TAD I KNACK CIF 20 JMS CALCN OLIST TAD TEMTFA DCA POIA TAD OLIST+1 TAD OLIST+1 DCA REDCNT TAD TEMTFA DCA POIB TAD MATRA DCA POIC TAD OLIST+1 DCA FILC SWAB CAM DAD CORECT CDF 20 DST CORET CDF 10 CLA KNCKEX, ISZ KNACK JMP I KNACK CORECT, 0 0 ADR1, EINGS ADR2, MATRIX+2 TEMM, 0 VFLG, 0 TEMTFB, EINGS FILC2, 0 FLD2, 20 MATRA, MATRIX OLIST, 0 0 0 0 BIT, 0 FILC, 0 POIA, 0 REDCNT, 0 TEMTFA, EMATRX
PAGE /LOESEN EINES GLEICHUNGSSYSTEMS UEBER GF(2) /DURCH ELIMINATION MIT GAUSSCHEM ALGORITHMUS FIELD 2 *3400 GAUSS, 0 /ANZ. DER GLEICHUNGEN IN AC, N<96 DEZ. JMS GAUSNT /INITIALISIERUNG TAD MN IAC /TRANSFORMATION AUF DREIECKSFORM DCA KCNT TAD MATRXA DCA KP TAD EMTRXA DCA KMSK /FROM K:=1 STEP 1 UNTIL N-1 DO LOC1 ////////////////////////////////////////// LOC1, TAD MATRXA CLL CIA TAD KP CLL RAR RTR /K-1 IN AC TAD MN DCA ICNT TAD KP DCA IP /FROM I:=K STEP 1 UNTIL N DO LOC2 ///////////////////////////////////////// LOC2, TAD KMSK DCA P2 TAD IP DCA P1A TAD MW DCA WCNT LOP2A, TAD I P1A AND I P2 SZA CLA JMP LOC3 ISZ P1A ISZ P2 ISZ WCNT JMP LOP2A CLL CLA IAC RTL CLL RAL TAD IP DCA IP ISZ ICNT JMP LOC2 /LOC2 SCHLEIFE FERTIG JMP SINGUL /KEINE EINS IN EINER SPALTE (ODER ZEILE) LOC3, TAD IP DCA LP /EINS IN L-TER ZEILE TAD KP /TAUSCH DER JEWEILS 1. UND L-TEN ZEILE DCA P1A TAD LP DCA P2 TAD MW DCA WCNT LOP3A, TAD I P1A MQL TAD I P2 DCA I P1A ACL DCA I P2 ISZ P1A ISZ P2 ISZ WCNT JMP LOP3A REGUL, CLL CLA IAC RTL CLL RAL TAD KP /MATRIX IST REGULAER DCA IP TAD MATRXA CIA TAD IP CLL RAR RTR TAD MN DCA ICNT /FOR I:=K+1 STEP 1 UNTIL N DO LOC4 /////////////////////////////////////////// LOC4, TAD IP DCA P1A TAD KMSK DCA P2 TAD MW DCA WCNT LOP4A, TAD I P1A AND I P2 /GLEICHUNG BEREITS IM RICHTIGEN FORMAT? SZA CLA /JA JMP LOC4A /NEIN ISZ P1A ISZ P2 ISZ WCNT JMP LOP4A JMP LOC4B LOC4A, TAD IP /FALSCHES FORMAT DCA P2 TAD KP DCA P1A TAD MW DCA WCNT LOP4B, TAD I P1A AND I P2 CIA CLL RAL TAD I P1A TAD I P2 DCA I P2 ISZ P1A ISZ P2 ISZ WCNT JMP LOP4B LOC4B, CLL CLA IAC RTL CLL RAL TAD IP /RICHTIGES FORMAT DCA IP ISZ ICNT JMP LOC4 /LOC4 SCHLEIFE FERTIG CLL CLA IAC RTL CLL RAL TAD KP DCA KP CLL CLA IAC RTL CLL RAL TAD KMSK DCA KMSK ISZ KCNT JMP LOC1 /GESAMT ELIMINATION (LOC1 SCHLEIFE) FERTIG JMP NXTPGE
PAGE NXTPGE, CLA CMA CLL /AUFRECHNUNG DER UNBEKANNTEN TAD PN CLL RAL RTL TAD MATRXA DCA IP /ZEIGER AUF LETZTER MATRIX-ZEILE CLA CMA CLL TAD PN TAD XVKTRA DCA XIP /ZEIGER AUF LETZTER X-KOMPONENTE TAD MN DCA ICNT TAD PN CLL RAL RTL TAD EMTRXA /ZEIGER AUF SPALTE DER RECHTEN SEITE DCA KMSK /FOR I:=N STEP -1 UNTIL N DO LOC6 ////////////////////////////////////////// LOC6, CLA CLL CMA TAD PW TAD IP DCA P1A CLA CLL CMA TAD PW TAD KMSK DCA P2 TAD I P1A AND I P2 SZA CLA IAC DCA S /S:=A INDEX I,N+1 CLL CLA IAC RTL CLL RAL TAD IP DCA JP TAD MATRXA CIA TAD JP CLL RAR RTR /J-1 IN AC TAD MN SMA /1. UNBEKANNTE? JMP LOC8 /JA DCA JCNT /NEIN TAD MATRXA CIA TAD JP NOP CLL RAR RTR /J-1 IN AC MQL ACL TAD XVKTRA DCA XJP ACL CLL RAL RTL TAD EMTRXA DCA JMSK /FOR J:=I+1 STEP 1 UNTIL N DO LOC7 /////////////////////////////////////////// LOC7, TAD IP DCA P1A /BERECHNUNG EINER UNBEKANNTEN TAD JMSK DCA P2 TAD MW DCA WCNT LOP7, TAD I P1A AND I P2 SZA CLA /A INDEX I,J JMP .+6 ISZ P1A ISZ P2 ISZ WCNT JMP LOP7 SKP CLA IAC AND I XJP TAD S AND N1 DCA S /S:=S+A INDEX I,J MAL X INDEX J CLL CLA IAC RTL CLL RAL TAD JMSK DCA JMSK ISZ XJP ISZ JCNT JMP LOC7 /LOC7 SCHLEIFE FERTIG LOC8, TAD S DCA I XIP JMS AUSGAB CLL CLA IAC RTL CLL CIA RAL TAD IP DCA IP CLA CMA TAD XIP DCA XIP ISZ ICNT JMP LOC6 /ENDE AUFRECHNUNG (LOC 6 SCHLEIFE FERTIG) JMP SINGEX PAGE SINGUL, ISZ SINGL SKP ISZ SINGL+1 JMP SINGEX LINE /MATRIX IST SINGULAER TDC 4000+"B 4000+"E 4000+"I 240 SWAB TAD MATRXA CIA TAD KP CLL RAR RTR IAC JMS TOWLZ TDC 4240 4000+"S 4000+"I 4000+"N 4000+"G 4000+"U 4000+"L 4000+"A 4000+"E 4000+"R 240 LINE SINGEX, JMS DELCOR EMATRX P1400 TAD GAUSS DCA GAUSRT CIF CDF 10 JMP I GAUSRT GAUSRT, 0 AUSGAB, 0 JMP AUSLOC CLA TDC 4240 240 SWAB TAD XVKTRA CIA TAD XIP IAC JMS TOWLZ TDC A240, 240 CLL CLA CML RTR BSW TAD A240 TAD S TCHAR AUSLOC, ISZ TCHCNT SKP JMS NXTLIN ISZ TYPC JMP I AUSGAB NOP /LINE CLA TAD TYPN CIA DCA TYPC JMP I AUSGAB TYPN, 10 TYPC, -10 NXTLIN, 0 ISZ REGU SKP CLA ISZ REGU+1 NOP /LINE NOP /LINE TAD MN DCA TCHCNT JMP I NXTLIN TCHCNT, 0 /JMS EMTRXE /ERZEUGUNG EINER (140,140) EINHEITSMATRIX /ADR. DER MATRIX EMTRXE, 0 CLL CLA IAC RTL CLL CIA RAL DCA CNT10 TAD I EMTRXE DCA EPOI ISZ EMTRXE LOPD, CLL CML RAR LOPE, MQL ACL DCA I EPOI CLL CLA IAC RTL CLL RAL TAD EPOI DCA EPOI ACL CLL RAR SZA JMP LOPE ISZ EPOI ISZ CNT10 JMP LOPD JMP I EMTRXE EPOI, 0 CNT10, 0
/JMS DELCOR /DELETES CORE /ADR. OF FIRST WORD /ADR. OF NUMBER OF WORDS DELCOR, 0 /CLA; LINK MODIFIED CLA TAD I DELCOR DCA DELPOI ISZ DELCOR TAD I DELCOR DCA DELCNT TAD I DELCNT CIA DCA DELCNT ISZ DELCOR DCA I DELPOI ISZ DELPOI ISZ DELCNT JMP .-3 JMP I DELCOR DELPOI, 0 DELCNT, 0 PAGE /TAD N /+N IN AC /JMS CALCN /CALCULATES VARIABLES IN CALL-FIELD /LISTADR. /VON +N, -N, +PREC., -PREC. CALCN, 0 /CLL CLA; MQ MODIFIED DCA CALTEM TAD I CALCN DCA CALPOI ISZ CALCN RDF TAD CCIF DCA CRETF TAD CALTEM DCA I CALPOI ISZ CALPOI TAD CALTEM CIA DCA I CALPOI ISZ CALPOI SWBA TAD CALTEM IAC MQL DVI N14, 14 SZA CLA IAC MUY N1, 1 ACL DCA I CALPOI ISZ CALPOI ACL CIA DCA I CALPOI CRETF, 0 JMP I CALCN CALPOI, 0 CALTEM, 0 CCIF, CIF 0 /TAD N /JMS GAUSNT /INITIALISIERUNG VON GAUSS GAUSNT, 0 /CLA; LINK,MQ MODIFIED JMS CALCN NLIST JMS DELCOR XVKTOR P140 JMS DELCOR EMATRX P1400 JMS EMTRXE EMATRX CLA TAD TYPN CIA DCA TYPC TAD MN DCA TCHCNT JMP I GAUSNT /SWAB /TAD OKTNUM /LOAD OKTAL NUMBER /JMS TOWLZ /TYPE OKTAL (TOCT) WITHOUT LEADING ZEROS TOWLZ, 0 /CLA; LINK, MQ MODIFIED MQL CLL CLA IAC RTL CIA DCA TOWCNT TOWLOP, CLA RAR RTR SHL 3 SZA CLL CML SNA SZL TAD N20 TAD N240 ISZ TOWCNT JMP .+5 SNL TAD N20 TCHAR JMP I TOWLZ TCHAR JMP TOWLOP TOWCNT, 0 N20, 20 N240, 240 /SPEICHERORGANISATION *142 CORET, 0;0 REGU, 0;0 SINGL, 0;0 MATRXA, MATRIX EMTRXA, EMATRX XVKTRA, XVKTOR NLIST, PN, 0 MN, 0 PW, 0 MW, 0 KCNT, 0 ICNT, 0 WCNT, 0 KMSK, 0 JMSK, 0 KP, 0 IP, 0 LP, 0 JCNT, 0 JP, 0 P1A, 0 P2, 0 S, 0 XJP, 0 XIP, 0 *3240 MSKVKT, ZBLOCK 140 /LOESUNGSVEKTOR HINEINSTELLEN! ! *4410 MATRIX, ZBLOCK 1400 *6010 EMATRX, ZBLOCK 1400 *7411 XVKTOR, ZBLOCK 140 VKTRA, ZBLOCK 10 VKTRB, ZBLOCK 10 P140, 140 P1400, 1400



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