DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC3600/RC7000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC3600/RC7000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦23a035d3c⟧ TextFile

    Length: 4450 (0x1162)
    Types: TextFile
    Notes: CLPRG102, ENSPLT02
    Names: »CLPRG102«, »ENSPLT02«

Derivation

└─⟦714f3848e⟧ Bits:30006597 ALM Copy 24.9.79
    └─ ⟦this⟧ »ASS::CLPRG102« 
    └─ ⟦this⟧ »BASIC::ENSPLT02« 

TextFile

 0001 REM ANDEN DEL AF 'CLPRG101'  PROGRAM TIL ENKELTKOLONNEUDSKRIFT MED PLADS TIL NOTATER 
 0001,9999   
  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
  0250 DEF FNB(X)=ABS(S) MOD 10^X DIV 10^(X-1)+48-16*(ABS(S) DIV 10^(X-1)=0)*(X<>1)
  0369 RESTORE 2001
  0370 READ STS,SLS
  0371 LET OS=1; UUU=OS
  0372 PRINT "<12>";
  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
  2000 DATA 6614,6645,6646,6687,6688,6742,6743,6774
  2001 DATA 6614,6645,6646,6687,6688,6727,6728,6774
  2010 DATA 6775,6806,6807,6839,6840,6881,6882,6925