|
|
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: 4400 (0x1130)
Types: COMAL_SAVE
Notes: BASIC::ENSPLT11, ENSPLT11
Names: »ENSPLT11«
└─⟦714f3848e⟧ Bits:30006597 ALM Copy 24.9.79
└─⟦this⟧ »BASIC::ENSPLT11«
SAVE filename: "CLPRG111" 0010 REM CB ENKELTSPALTE LAGERANALYSE / ALLE MODULER I OMRÅDE / 12.12.79 «so»CLPRG111«nul»_ 0020 REM KØRT 12.12.79 KL CA 18 / PL«nul» 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 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«nul» 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 ( VAR98 ) = ABS ( S ) MOD 10 ^ [LVAR] DIV 10 ^ ( [LVAR] - 1 ) + 48 - 16 * ( ABS ( S ) DIV 10 ^ ( [LVAR] - 1 ) = 0 ) * ( [LVAR] <> 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 0360 DATA " ZOC" , " LRS" , " SCP" , "BNBZDNDZ" , " " , ",SKP" , ",SZC" , ",SNC" , ",SZR" , ",SNR" , ",SEZ" , ",SBN" 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«nul» 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 «nul» 1070 LET UD$ = UD$ , " " UDSKRIFT$ = UDSK$ , " " , UD$ , " !____!____!____!____! !_____!___________" 1080 PRINT UDSKRIFT$ 1090 NEXT 1100 NEXT 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
FNA definition = 0x0000
FNB definition = 0x01c7
FNC definition = 0xffff
FND definition = 0xffff
FNE definition = 0xffff
FNF definition = 0xffff
FNG definition = 0xffff
FNH definition = 0xffff
FNI definition = 0xffff
FNJ definition = 0xffff
FNK definition = 0xffff
FNL definition = 0xffff
FNM definition = 0xffff
FNN definition = 0xffff
FNO definition = 0xffff
FNP definition = 0xffff
FNQ definition = 0xffff
FNR definition = 0xffff
FNS definition = 0xffff
FNT definition = 0xffff
FNU definition = 0xffff
FNV definition = 0xffff
FNW definition = 0xffff
FNX definition = 0xffff
FNY definition = 0xffff
FNZ definition = 0xffff
FN[ definition = 0xffff
FN\ definition = 0xffff
FN] definition = 0xffff
GOSUB-RETURN stack pointer = 0x0000
stack[0] = 0x04c2
stack[1] = 0x0000
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
FOR-NEXT stack pointer = 0x0000
Var# = 0x009f
Loop Top = 0x033f
To Val = 1 (0x41100000)
Step Val = 1 (0x41100000)
Var# = 0x00a4
Loop Top = 0x038c
To Val = 6925 (0x441b0d00)
Step Val = 1 (0x41100000)
Var# = 0x0082
Loop Top = 0x006b
To Val = 1 (0x41100000)
Step Val = -1 (0xc1100000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
REPEAT-UNTIL stack pointer = 0x0000
stack[0] = 0x0347
stack[1] = 0x0000
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
WHILE-ENDWHILE stack pointer = 0x0000
stack[0] = 0x00d2
stack[1] = 0x0000
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
IF-ELSE stack pointer = 0x0000
stack[0] = 0x0000
stack[1] = 0x0001
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
Variables:
0x80 0xffff 0x00
0x81 0xffff 0x00 RADIX
0x82 0xffff 0x00 II
0x83 0xffff 0x00 RA
0x84 0xffff 0x02 RAD$
0x85 0xffff 0x00 RA0
0x86 0xffff 0x00 SP
0x87 0xffff 0x00 FIND
0x88 0xffff 0x00 MIN
0x89 0xffff 0x00 MAX
0x8a 0xffff 0x00 EA
0x8b 0xffff 0x00 \
0x8c 0xffff 0x00 PA
0x8d 0xffff 0x00 MIDT
0x8e 0xffff 0x00 ]
0x8f 0xffff 0x00 ADR
0x90 0xffff 0x00 JUMP
0x91 0xffff 0x00 W
0x92 0xffff 0x00 S
0x93 0xffff 0x02 UD$
0x94 0xffff 0x02 DAT$
0x95 0xffff 0x02 UDSKRIFT$
0x96 0xffff 0x02 UDSK$
0x97 0xffff 0x02 T$
0x98 0xffff 0x02 HJ[LP$
0x99 0xffff 0x02 PIL$
0x9a 0xffff 0x00 STS
0x9b 0xffff 0x00 SLS
0x9c 0xffff 0x00 UUU
0x9d 0xffff 0x00 OS
0x9e 0xffff 0x00 HEAD
0x9f 0xffff 0x00 III
0xa0 0xffff 0x00 POS
0xa1 0xffff 0x00 PIL
0xa2 0xffff 0x00 B
0xa3 0xffff 0x00 CA
0xa4 0xffff 0x00 ADRR
0xa5 0xffff 0x00 B1
0xa6 0xffff 0x00 B2
0xa7 0xffff 0x00 LS
.magic = 0x5356 .u_pas = 0x0759 // Length of UPAS in words .u_das = 0x0130 // Length of UDAS in words .u_dvs = 0x0130 // Start på savede variabel indhold (word adr) .u_nds = 0x0042 // Address på næste prog.sætning (word adr) .u_cps = 0x007b // Address på curr prog.sætning (word adr) .u_tll = 0x0000 // Page størrelse .u_tts = 0x000e // TAP størrelse .u_ran = 0x0000 // Random tal .u_cdl = 0x0042 // Current DATA sætning ptr .u_cdb = 0x0000 // Current DATA byte ptr .u_esa = 0xffff // ON ESE (word adr) .u_era = 0xffff // ON ERR (word adr) .u_cas = 0x0000 // CASE dybde .u_las = 0xffff // last (-1)