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 - metrics - download

⟦bf9db8fa9⟧ TextFile

    Length: 5127 (0x1407)
    Types: TextFile
    Notes: BASIC::ENSPALT, ENSPALT 
    Names: »ENSPALT«

Derivation

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

TextFile

«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