File SCRABB.A1

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

/************** 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

*7400


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 ZZG4NT-3


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 /++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ /SIMULATION EINES N,K BLOCKCODES /MIT BLBL8 /22.11.74 /ANZ. DER BINAEREN STELLEN EINES CODEWORTES N=144 /ANZ. DER INFORMATIVEN STELLEN K=144 /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=11 KGK=11 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 ANSPRE /JEWEILIGER NAME NZERO OUTPUT BLNTOF BLOUT JMP I SIMNT SIMUL, 0 INBLIP ANSPRE /JEWEILIGER NAME INPUT OUTPUT BLOUT JMP I SIMUL TYPDEV, TPONTY /ODER TPONDW=TPONTY-22 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, 10;0 /SIMNUM ENTHAELT DIE ANZAHL DER TEILSIMULATIONEN. SIMNUM, 2 /ANZ. DER SHIFT'S ZUR VERVIELFACHUNG DER TABELLENZEILEN JE /TEILSIMULATION SHFTNR, 1 /FUNCTION-CONTROL-WORD FUER DEN DEVICE-HANDLER CONTRL, 4220 /ANFANGSADRESSE DES SPEICHERBEREICHES CORADD, 0 /FILENAME AUF BAND ODER PLATTE STONAM, FILENAME COYERG.MA /NAME OF DEVICE USED. MOST SIGNIF. HAELFTE VON DEVNAM LOESCHEN, /WENN KEIN DEVICE VERWENDET WERDEN SOLL. DEVNAM, DEVICE DTA1 SCHWELL, 0 /P DER EINSEN IM EINGANGSWORT NOP NOP /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, FLSBLK, 0;0 FLSDCS, 0;0 ERSUMA, ERSUM, 0;0 TYPCNT, 0;0 EINGDT, ZBLOCK 144 FLSFGS, 0;0 CORFGS, 0;0 FORTS1=. FIELD 2 *200 FLGTAF, ZBLOCK 20 FLGTF2, ZBLOCK 20 *600 NZERO, ZBLOCK N+14 INPVKT, ZBLOCK KGK+1 CODREG, ZBLOCK KGB+1 DECREG, ZBLOCK KGB+1 ANTTF1, ZBLOCK N+14 REGTF, ZBLOCK KGB^20 POLYTF, ZBLOCK KGB^20 SERG, ZBLOCK 20^11 SEZL, ZBLOCK 20 SERCH, ZBLOCK 20 TPTF1, ZBLOCK 1^NTAPS+14 /TPTF1 IDENTISCH MIT 1.POLYNOM IN POLYTF HLTA, HLT
FIELD 1 *FORTS1 PAGE AUSWRT, 0 INBLIP BLOTNT AUSWNT ISZ BLOCKL SKP ISZ BLOCKL+1 CLA CLL SWAB TAD ERORFS /SUMMIERT KANALFEHLER MQL DAD ERSUM DST ERSUM CDF 20 TAD I FLGTFI CDF 10 DCA TEMA TAD TEMA CIA TAD ALLFLG MQL DAD FLSFGS DST FLSFGS CLA TAD TEMA MQL DAD CORFGS DST CORFGS CLA TAD ERORFS /SUMMIERT BLOCKFEHLER SZA CLA ISZ FLSBLK SKP ISZ FLSBLK+1 JMS TAFADD 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 0 JMS WRTRED JMS DOTYP JMP I AUSWRT TEMA, 0 0 TEMB, 0 0 FLGTFI, FLGTAF PAGE AUSWNT, SWAB CAM DST BLOCKL CAM DST ERSUM CAM DST FLSDCS CAM DST CORFGS CAM DST FLSBLK CAM DST FLSFGS TAD SHFTNR DCA SHFTS JMS TAFANT NOP;NOP /FUER PATCH JMP CALLOC TAFADD, 0 CLA CLL TAD TFADA1 DCA TFADP1 TAD TFADA2 DCA TFADP2 TAD TFM17 DCA TFADCN CDF 20 TAFLOC, NOP TAD I TFADP1 TAD I TFADP2 DCA I TFADP2 ISZ TFADP1 ISZ TFADP2 ISZ TFADCN JMP .-7 CDF 10 JMP I TAFADD TFADA1, FLGTAF+1 TFADA2, FLGTF2+1 TFADP1, 0 TFADP2, 0 TFM17, -17 TFADCN, 0 TAFANT, 0 CLA CLL TAD JMPINS DCA TAFLOC JMS TAFADD TAD NOPINS DCA TAFLOC JMP I TAFANT JMPINS, JMP TAFLOC+3 NOPINS, NOP
PAGE ANSNT, DCA RECTS JMP ANSPRE+3 ANSPRE, 2 BLOTNT ANSNT TAD MAXAD1 CIA DCA CNT100 DCA ERORFS TAD EINGDA DCA EINGDP JMS SETZUF WLP1, ISZ RECTS NOP CLL CML CLA RAL AND RECTS DCA EINGS INBLIP SCRAMB EINGS AUSGS BSC AUSGS EINGDP, 0 SP1 ERRORV ERRORF FELD10 BLOUT TAD ERRORF TAD ERORFS DCA ERORFS ISZ EINGDP ISZ CNT100 JMP WLP1 TAD REGA DCA REGP TAD POLYNA DCA POLYNP TAD FLGTFA DCA FLAGP TAD TEILN CIA DCA TLNCNT DCA ALLFLG TAD SERGA DCA SERGP TAD SEZLA DCA SEZLP TAD SERCHA DCA SERCHP WLP2, TAD EINGDA DCA EINGDZ TAD MAXAD1 CIA DCA CNT100 DCA SAME WLP3, INBLIP DESCRA EINGDZ, EINGDT AUSGD REGP, 0 POLYNP, 0 PREC4 FELD20 SEE AUSGD SERGP, SERG SEZLP, SEZL SERCHP, SERCH SEEFLP BLOUT TAD SEEFLP SZA CLA JMP OVER ISZ EINGDZ ISZ CNT100 JMP WLP3 OVER, TAD SEEFLP CDF 20 DCA I FLAGP CDF 10 TAD SEEFLP TAD ALLFLG DCA ALLFLG JMS NTSEE ISZ SEZLP ISZ SERCHP TAD SERGP TAD ELF DCA SERGP TAD REGP TAD PREC4 DCA REGP TAD POLYNP TAD PREC4 DCA POLYNP ISZ FLAGP ISZ TLNCNT JMP WLP2 JMS AUSWRT INEND SERGA, SERG SEZLA, SEZL SERCHA, SERCH SEEFLP, 0 ELF, 11 CNT100, 0 EINGDA, EINGDT RECTS, 0 FLGTFA, FLGTAF REGA, REGTF POLYNA, POLYTF TEILN, 20 TLNCNT, 0 SAME, 0 EINGS, 0 AUSGS, 0 AUSGD, 0 FLAGP, 0 ALLFLG, 0 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 SP1 BLOUT CDF 20 TAD I ANT1I CDF 10 DCA FDBK INEND LNK1, 0 LNK2, 0 FDBK, 0 FDFW, 0 PAGE /************ DESCRA ******************************************** /21.11.74 /CALL: DESCRA /BLIP-BLOCK DESCRAMBLER / EINGANG /1 BIT GANZ RECHTS / AUSGANG /1 BIT GANZ RECHTS / ZUSTAND /DES DESRAMBLER-REGISTERS / POLYNOM /REPRAESENTIERT DIE ANZAPFUNGEN / GENAUIGKEIT /VON ZUSTAND UND POLYNOM (WOERTER) / FELDNR /MULTIPLIZIERT MIT 10(DEZ.) DESCRA, 6 MWMOD2 3 4 FDFW 5 6 BLOTNT DESCNT ACUM 1 DCA LNK2 TAD LNK2 TAD FDFW RAR CLA RAL /EING.+RUECKF. MOD2 DESCNT, PUT 2 INBLIP ROTATR /SCHIEBEN LNK2 3 5 6 BLEND /***************** MWMOD2 ***************************************** /21.11.74 /CALL: MWMOD2 /BLIP-BLOCK M(ULTI)-W(ORD)-MOD2-(QUERSUMME) / REGISTER / MASKE /REPRAESENTIERT DIE ANZAPFUNGEN / ERGEBNIS /1 BIT GANZ RECHTS / PRECISION /VON REGISTER UND MASKE (WOERTER) / FELDNR MWMOD2, 5 BLOUT GETAD 1 DCA MWMPO1 GETAD 2 DCA MWMPO2 ACUM 4 CIA DCA MWMCNT ACUM 5 TAD MWMCDF DCA MWMDTF RIF TAD MWMCDF DCA MWMRTF /VERARBEITEN DER ARGUMENTE MWMDTF, HLT MWMLOP, DCA MWMTM2 TAD I MWMPO1 AND I MWMPO2 /AMZAPFUNGEN MASKIEREN DCA MWMTM1 TAD MWMTM1 /EXCLUSIVE ODER DER WOERTER AND MWMTM2 CIA CLL RAL TAD MWMTM1 TAD MWMTM2 ISZ MWMPO1 ISZ MWMPO2 ISZ MWMCNT JMP MWMLOP MWMRTF, HLT CLL /EXCLUSIVE ODER DER BITS NOP RAR SPA TAD VIERTS SZA JMP .-4 RAL PUT /AUSGABE DES ERG. MOD2 3 INEND MWMPO1, 0 MWMPO2, 0 MWMTM1, 0 MWMTM2, 0 MWMCNT, 0 MWMCDF, CDF VIERTS, 4000
PAGE TAPENT, 0 CLA SWAB TAD SHFTNR DCA .+3 CLL CLA IAC SHL 0 CLL IAC MQL MUY SIMNUM ACL DCA DATEIL CIF 0 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 4302 4314 4317 4303 4313 4323 240 TDC 4240;4240;240 TDC 4240 4000+"C 4000+"H 4000+"A 4000+"N 4000+"N 4000+"E 4000+"L 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 4000+"C 4000+"O 4000+"R 4000+"R 4000+"E 4000+"C 4000+"T 4240 4000+"F 4000+"A 4000+"L 4000+"S 4000+"E 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 INBLIP BLOTNT CALNT CIF 20 JMS NORMD BLOCKL BLCKL3 CIF 20 JMS NORMD /KANALFEHLER ERSUMA ERSMA3 CIF 20 JMS DIVIDR ERSMA3 BLCKL3 FRACA3 CIF 20 JMS NORMD /BLOCKFEHLER ERSUMB ERSMB3 CIF 20 JMS DIVIDR ERSMB3 BLCKL3 FRACB3 CIF 20 JMS NORMD /CORRECT FLAGS CORFGS FRACC3 CIF 20 JMS NORMD /FALSE FLAGS FLSFGS FLSDS3 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 INBLIP BLOTNT TYPNT CIF 20 JMS FFOUT BLCKL3 10 0 TDC 240 CIF 20 JMS FFOUT ERSMA3 10 0 TDC 240 CIF 20 JMS EFOUT FRACA3 CIF 20 JMS FFOUT ERSMB3 10 0 TDC 240 CIF 20 JMS EFOUT FRACB3 CIF 20 JMS FFOUT FRACC3 10 0 CIF 20 JMS FFOUT FLSDS3 10 0 LINE JMS TABEL JMP I DOTYP TYPNT, JMS TITEL JMP I DOTYP FLTF2A, FLGTF2 TABEL, 0 CLA CLL IAC TAD FLTF2A DCA TABP TAD M16 DCA TABC LINE TABLP, CDF 20 TAD I TABP CDF 10 TOCT TDC 240 ISZ TABP ISZ TABC JMP TABLP LINE LINE JMP I TABEL TABC, 0 M16, -17 TABP, 0
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
/************ SEE ******************************************* /7.1.75 /CALL: SEE /BETTINGER BLOCK / INPUT /1 BIT GANZ RECHTS / REGISTER/11 WORTE IN FELD 2 / ZAEHLER /1 WORT IN FELD 2 / RECHTECK/1 WORT IN FELD 2 / OUTPUT /IN FELD 1 FIELD 1 *3400 SEE, 5 BLOUT GETAD 2 DCA SEP0 TAD SEP0 DCA SEP1 GETAD 3 DCA SEP2 GETAD 4 DCA SEP3 TAD SEM11 DCA SECNT ACUM 1 RAR CLA CDF 20 SE1LP, TAD I SEP1 RAR DCA I SEP1 ISZ SEP1 ISZ SECNT JMP SE1LP TAD I SEP0 RAL CLA RAL DCA NR1 TAD SEP0 TAD SEP10 DCA SEP0 TAD I SEP0 AND SEMSK CLL RTR BSW DCA NR2 TAD I SEP2 DCA ZAEHLR TAD I SEP3 DCA RCHTKZ CDF 10 ISZ RCHTKZ NOP TAD RCHTKZ TAD NR1 RAR CLA RAL DCA NR1 TAD RCHTKZ TAD NR2 RAR CLA RAL DCA NR2 TAD NR1 TAD NR2 RAR SNL CLA JMP SELC2+2 /ZAEHLER NICHT AENDERN TAD NR2 SNA CLA CLA CLL CMA RAL IAC SELC2, TAD ZAEHLR DCA ZAEHLR TAD ZAEHLR TAD SM18 SPA CLA JMP SELC3 TAD ZAEHLR TAD SM83 SMA CLA SELC3, IAC DCA FF CDF 20 TAD ZAEHLR DCA I SEP2 TAD RCHTKZ DCA I SEP3 TAD FF CDF 10 PUT 5 INBLIP BLOTNT SEENT INEND SEENT, GETAD 2 DCA SEP1 TAD SEM11 DCA SECNT CDF 20 TAD ZFZF DCA I SEP1 ISZ SEP1 ISZ SECNT JMP .-4 TAD SEP50 DCA I SEP2 DCA I SEP3 CDF 10 PUT 5 INEND SEP0, 0 SEP1, 0 SEP2, 0 SEP3, 0 ZFZF, 7777 SEM11, -11 SECNT, 0 NR1, 0 NR2, 0 SEMSK, 200 ZAEHLR, 0 RCHTKZ, 0 SM18, -22 SM83, -123 FF, 0 SEP10, 10 SEP50, 62 *3600 SETZUF, 0 INBLIP PNBLOC MAXAD4 CODREG PREC4 FELD20 BLOUT TAD TEILN CIA DCA TLNCNT TAD REGA DCA REGPZ SZLP, INBLIP KOPIE FELD20 CODREG PREC4 REGPZ, REGTF FELD20 BLOUT ISZ REGPZ ISZ REGPZ ISZ REGPZ ISZ TLNCNT JMP SZLP JMP I SETZUF NTSEE, 0 INBLIP BLOTNT DRUEBR TAD SERGP DCA SERGB TAD SEZLP DCA SEZLB TAD SERCHP DCA SERCHB INBLIP BLNTON SEE AUSGD SERGB, 0 SEZLB, 0 SERCHB, 0 SEEFLP BLNTOF BLOUT DRUEBR, JMP I NTSEE



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