|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC3600/RC7000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC3600/RC7000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5127 (0x1407) Types: TextFile Notes: BASIC::ENSPALT, ENSPALT Names: »ENSPALT«
└─⟦714f3848e⟧ Bits:30006597 ALM Copy 24.9.79 └─⟦this⟧ »BASIC::ENSPALT«
«ff» 0010 REM CB 12.11 - 15.11.79 «so»LAGERANALYSE M. PS ... "CLPRG" 0020 REM SPECIALVERSION MED EN SPALTE TIL BRUG VED MANUEL ANALYSE CB.11.12.79 0030 REM DENNE VERSION MED FRA ADRESSE TIL ADRESSE CB.12.12.79 0040 CONNECT "ASS",2610 0045 PAGE=0 0050 PRINT "<12>"; 0060 PROC RADIX 0070 FOR II=4+(RA=10) TO 1 STEP -1 0080 LET RAD$(II)=CHR(RA0 MOD RA+(RA0 MOD RA>9)*7+48-16*(SP=1)*(RA0=0)); RA0=RA0 DIV RA 0090 NEXT II 0100 ENDPROC 0110 PROC FIND 0120 LET MIN=1; MAX=EA*(Ø=1)+PA*(Ø=2); MIDT=MAX*(Å>ADR(Ø,1)) DIV (2-(Å>=ADR(Ø,MAX))); JUMP=0 0130 IF Å<=ADR(Ø,1) OR Å>=ADR(Ø,MAX) THEN GOTO 0170 0140 WHILE ADR(Ø,MIDT)>=Å OR ADR(Ø,MIDT+1)<Å DO 0150 LET W=(Å>ADR(Ø,MIDT)); S=NOT W; MIN=MIN*S+MIDT*W; MAX=MAX*W+MIDT*S; MIDT=(MIN+MAX) DIV 2 0160 ENDWHILE 0170 IF ADR(Ø,MIDT+1)<>Å THEN GOTO 0200 0180 READ FILE(Ø-1,MIDT+1)S,UD$ 0190 LET JUMP=1; UD$=UD$(1,5+(Ø=2)*(LEN(UD$)-5)) 0200 ENDPROC 0210 REM MAINPROC START LAGERUD // CB 12.11.79 0220 CLOSE 0230 PAGE=0 0240 DIM DAT$(8),UD$(15),UDSKRIFT$(80),UDSK$(13),T$(12,8),HJÆLP$(10),RAD$(5),PIL$(5),ADR(2,280) 0250 DEF FNB(X)=ABS(S) MOD 10^X DIV 10^(X-1)+48-16*(ABS(S) DIV 10^(X-1)=0)*(X<>1) 0260 LET EA=279; PA=138; RAD$=" "; UDSK$=" " 0270 OPEN FILE(0,4)"CO10.ENT" 0280 OPEN FILE(1,4)"CO...PSE" 0290 OPEN FILE(3,4)"CO...STA" 0300 OPEN FILE(4,4)"CO...USE" 0310 FOR S=1 TO EA+1 0320 READ FILE(0,S)ADR(1,S) 0330 IF S<=PA THEN READ FILE(1,S)ADR(2,S) 0340 IF S<=12 THEN READ T$(S) 0350 NEXT S 0360 DATA " ZOC"," LRS"," SCP","BNBZDNDZ"," ",",SKP",",SZC",",SNC",",SZR",",SNR",",SEZ",",SBN" 0370 INPUT "FRA ADR : ",STS,"<13><10>TIL ADR : ",SLS,"<13><10>REPEAT : ",UUU,"<13><10>O.SKRFT : ",OS 0380 PROC HEAD 0385 PRINT 0390 PRINT TAB(36);"_____________________ __________________" 0400 PRINT " ADR INDHOLD INSTRUKTION !AC0 !AC1 !AC2 !AC3 ! ! ADR ! INDHOLD" 0410 PRINT " ---------------------------------!----!----!----!----!------!-----!-----------" 0415 PRINT " !____!____!____!____! !_____!___________" 0420 ENDPROC 0430 FOR III=1 TO UUU 0440 LET POS=0 0450 REPEAT 0460 LET POS=POS+1 0470 UNTIL ADR(1,POS)>=STS 0480 IF POS<280 THEN READ FILE(0,POS)PIL,PIL$ 0490 EXEC HEAD 0500 LET B=STS-1+(STS=0) 0510 CALL "GMEM",B,B 0520 LET CA=(B=3232)*(STS<>0) 0530 FOR ADRR=STS TO SLS 0540 LET JUMP=0; UDSK$=" " 0550 CALL "GMEM",ADRR,B 0560 LET B1=B DIV 256; B2=B MOD 256; SP=1; RA=10; RA0=B 0570 EXEC RADIX 0580 LET UDSK$(9,13)=RAD$ 0590 IF ADRR<>PIL THEN 0600 LET SP=0; RA0=ADRR 0610 EXEC RADIX 0620 LET UDSK$(3,7)=RAD$ 0630 ENDIF 0640 IF ADRR<22169 THEN GOTO 0700 0650 LET UD$=" " 0660 IF ADRR>23172 AND ADRR<23259 THEN GOTO 0700 0670 IF ADRR>22168 AND ADRR<23173 THEN GOTO 1060 0680 LET S=B1; UD$=".",CHR(FNB(3)),CHR(FNB(2)),CHR(FNB(1)),"."; S=B2; UD$=UD$,CHR(FNB(3)),CHR(FNB(2)),CHR(FNB(1)),"." 0690 GOTO 1060 0700 WHILE ADRR=PIL DO 0710 IF OS AND STS<>ADRR THEN EXEC HEAD 0720 LET UDSK$(1,5)=PIL$," "; UDSK$(6,8)=" "; POS=POS+1 0730 READ FILE(0,POS)PIL,PIL$ 0740 ENDWHILE 0750 IF CA THEN 0760 LET Ø=1; Å=B 0770 EXEC FIND 0780 ENDIF 0790 IF NOT (JUMP=0 AND CA OR B<256 OR ADRR<311) THEN GOTO 0830 0800 LET JUMP=1; SP=(B<256 OR ADRR<311); RA=10; RA0=B 0810 EXEC RADIX 0820 LET UD$=RAD$ 0830 LET CA=(B=3232); Ø=2; Å=B 0840 IF JUMP THEN GOTO 1060 0850 EXEC FIND 0860 IF JUMP THEN GOTO 1060 0870 REM ALMEN OVERSÆTTELSE 0880 READ FILE(3,B1+1)UD$ 0890 IF UD$="FEJL" THEN GOTO 0800 0900 IF B1>127 THEN 0910 LET UD$(4)=T$(1,B MOD 64 DIV 16+1); UD$(4+(UD$(4)<>" "))=T$(2,B2 DIV 64+1) 0920 LET UD$(11,14)=T$(B MOD 8+5); UD$(6)=CHR(32+B MOD 16 DIV 8*3) 0930 ELSE 0940 IF B1>95 THEN 0950 IF UD$(1)<>"S" THEN LET S=B2 MOD 64; UD$(4)=T$(3,B2 DIV 64+1); UD$(10,11)=CHR(FNB(2)),CHR(FNB(1)) 0960 IF UD$(1)="S" THEN LET S=B2 MOD 64; UD$(4,5)=T$(4,(B2 DIV 64)*2+1,(B2 DIV 64)*2+2) 0970 IF UD$(1)="S" OR UD$(1)="N" THEN LET UD$(8,15)=CHR(FNB(2)),CHR(FNB(1))," " 0980 ELSE 0990 LET S=B2-(B MOD 1024 DIV 256<>0)*(B2>127)*256; LS=2*(B1 DIV 32<>0) 1000 LET UD$(8+LS,11+LS)=CHR(43+2*(S<0)),CHR(FNB(3)),CHR(FNB(2)),CHR(FNB(1)) 1010 IF B1<8 OR S<11 OR S>111 OR B MOD 1024 DIV 256<>3 OR ADRR<4012 THEN GOTO 1040 1020 READ FILE(4,S)HJÆLP$ 1030 LET UD$(8+LS,15)=HJÆLP$," " 1040 ENDIF 1050 ENDIF 1060 REM 1070 LET UD$=UD$," "; UDSKRIFT$=UDSK$," ",UD$," !____!____!____!____! !_____!___________" 1080 PRINT UDSKRIFT$ 1090 NEXT ADRR 1100 NEXT III 1110 GOTO 0370