|
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 - download
Length: 13312 (0x3400) Types: COMAL_SAVE Names: »REPCO«
└─⟦466f46364⟧ Bits:30001785 SG0005 Floppy └─⟦this⟧
SAVE filename: "REPCO" 0010 PROC READFI 0020 IF B THEN 0030 READ FILE ( 1 ) A 0040 CALL "FIX" , A , C , D 0050 LET A = C DIV 256 + 256 * ( C MOD 256 ) B = 0 0060 ELSE 0070 LET A = D DIV 256 + 256 * ( D MOD 256 ) B = 1 0080 ENDIF 0090 ENDPROC 0100 PROC ADRUD 0110 IF A DIV 256 MOD 4 = 1 THEN 0120 PRINT "#####" , ADR + A MOD 256 - 256 * ( A DIV 128 MOD 2 ) - 1 ; A$ ; 0130 ELSE 0140 PRINT CHR ( 32 + ( A DIV 256 MOD 4 <> 0 ) * ( 11 + 2 * ( A DIV 128 MOD 2 ) ) ) ; 0150 PRINT "###" , A MOD 256 - 256 * ( ( A DIV 128 MOD 2 ) AND ( A DIV 256 MOD 4 ) ) ; "," ; CHR ( 48 + A DIV 256 MOD 4 ) ; 0160 ENDIF 0170 ENDPROC 0180 TAB = 9 0190 DIM IO$ ( 24 ) 0200 LET IO$ = "NIODIADOADIBDOBDICDOCSKP" 0210 DIM T$ ( 8 ) , F$ ( 4 ) 0220 LET T$ = "BNBZDNDZ" F$ = " SCP" 0230 DIM SK$ ( 32 ) 0240 DIM PZL$ ( 300 , 5 ) 0250 DIM S$ ( 4 ) , C$ ( 4 ) 0260 LET S$ = " LRS" C$ = " ZOC" SK$ = " ,SKP,SZC,SNC,SZR,SNR,SEZ,SBN" 0270 DIM ARI$ ( 24 ) 0280 LET ARI$ = "COMNEGMOVINCADCSUBADDAND" 0290 DIM PFC$ ( 12 ) 0300 LET PFC$ = "JMPJSRISZDSZ" 0310 DIM R$ ( 1 ) 0320 DIM A$ ( 100 ) 0330 DIM RELOC$ ( 8 ) 0340 LET RELOC$ = "0 '<34>456*" 0350 DIM RELOC ( 3 ) 0360 DIM PZ$ ( 300 , 5 ) 0370 READ A , A$ 0380 REPEAT 0390 LET PZ$ ( A - 3071 ) = A$ 0400 READ A , A$ 0410 UNTIL A = - 1 0420 READ A , A$ 0430 REPEAT 0440 LET PZL$ ( A + 1 ) = A$ 0450 READ A , A$ 0460 UNTIL A = - 1 0470 CLOSE 0480 INPUT "FIL:" , A$ 0490 OPEN FILE ( 1 , 1 ) A$ 0500 LET B = 1 ENDE = 0 0510 RESET ERR 0520 PRINT "<12>" 0530 PRINT "ANALYSE AF FIL:" ; A$ 0540 PRINT 0550 REPEAT 0560 EXEC READFI 0570 LET BLK = A 0580 EXEC READFI 0590 LET LENG = A 0600 IF BLK <> 2 AND BLK <> 6 THEN 0610 IF BLK = 0 THEN 0620 LET ENDE = 1 0630 ELSE 0640 FOR E = LENG TO 65539 0650 EXEC READFI 0660 NEXT 0670 ENDIF 0680 ELSE 0690 FOR E = 1 TO 3 0700 EXEC READFI 0710 LET RELOC ( E ) = A 0720 NEXT 0730 EXEC READFI 0740 EXEC READFI 0750 LET ADR = A 0760 LET A$ = RELOC$ ( 1 + RELOC ( 1 ) DIV 8192 ) 0770 IF BLK = 6 THEN PRINT "ENTRYPOINT:#####" , ADR ; A$ ; 0780 FOR E = LENG TO 65534 0790 EXEC READFI 0800 IF A$ = " " THEN IF PZ$ ( ADR + 1 ) <> "" THEN 0810 PRINT PZ$ ( ADR + 1 ) ; " " ; 0820 ELSE 0830 PRINT "#####" , ADR ; 0840 PRINT A$ ; " " ; 0850 ENDIF 0860 LET ADR = ADR + 1 0870 PRINT " #####" , A ; 0880 LET F = E - LENG + 1 0890 LET R$ = RELOC$ ( RELOC ( F DIV 5 + 1 ) / 2 DIV 8 ^ ( 4 - F MOD 5 ) MOD 8 + 1 ) 0900 PRINT R$ ; 0910 IF R$ = " " THEN 0920 LET F = A DIV 256 0930 IF F > 32 AND F < 127 THEN 0940 PRINT " " ; CHR ( F ) ; 0950 ELSE 0960 PRINT " " ; 0970 ENDIF 0980 LET F = A MOD 256 0990 IF F > 32 AND F < 127 THEN 1000 PRINT CHR ( F ) ; " " ; 1010 ELSE 1020 PRINT " " ; 1030 ENDIF 1040 PRINT " " ; 1050 IF A DIV 256 = 12 THEN IF PZ$ ( A MOD 256 + 1 ) <> "" THEN 1060 PRINT PZ$ ( A MOD 256 + 1 ) ; " " ; 1070 ELSE 1080 IF A < 8192 THEN 1090 PRINT PFC$ ( ( A DIV 2048 ) * 3 + 1 , ( A DIV 2048 ) * 3 + 3 ) ; " " ; 1100 PRINT CHR ( 32 + 32 * ( A DIV 1024 MOD 2 ) ) ; " " ; 1110 EXEC ADRUD 1120 ELSE 1130 IF A < 24576 THEN 1140 IF A DIV 8192 = 1 THEN 1150 PRINT "LDA " ; 1160 ELSE 1170 PRINT "STA " ; 1180 ENDIF 1190 PRINT CHR ( 32 + 32 * ( A DIV 1024 MOD 2 ) ) ; " " ; CHR ( 48 + A DIV 2048 MOD 4 ) ; "," ; 1200 IF A DIV 8192 = 1 AND A DIV 256 MOD 8 = 0 THEN IF PZL$ ( A MOD 256 + 1 ) <> "" THEN 1210 PRINT PZL$ ( A MOD 256 + 1 ) ; 1220 ELSE 1230 EXEC ADRUD 1240 ENDIF 1250 ELSE 1260 IF A > 32767 THEN 1270 PRINT ARI$ ( ( A DIV 256 MOD 8 ) * 3 + 1 , ( A DIV 256 MOD 8 ) * 3 + 3 ) ; C$ ( 1 + A DIV 16 MOD 4 ) ; S$ ( 1 + A DIV 64 MOD 4 ) ; " " ; 1280 PRINT CHR ( 32 + 3 * ( A DIV 8 MOD 2 ) ) ; " " ; CHR ( 48 + A DIV 8192 MOD 4 ) ; "," ; CHR ( 48 + A DIV 2048 MOD 4 ) ; 1290 IF A MOD 8 THEN PRINT SK$ ( 4 * ( A MOD 8 ) + 1 , 4 * ( A MOD 8 ) + 4 ) ; 1300 ELSE 1310 PRINT IO$ ( 3 * ( A DIV 256 MOD 8 ) + 1 , 3 * ( A DIV 256 MOD 8 ) + 3 ) ; 1320 IF A DIV 256 MOD 8 = 7 THEN 1330 PRINT T$ ( 2 * ( A DIV 64 MOD 4 ) + 1 , 2 * ( A DIV 64 MOD 4 ) + 2 ) ; " " ; 1340 ELSE 1350 PRINT F$ ( A DIV 64 MOD 4 + 1 ) ; " " ; 1360 ENDIF 1370 PRINT CHR ( 48 + A DIV 2048 MOD 4 ) ; "," ; 1380 PRINT "##" , A MOD 64 ; 1390 ENDIF 1400 ENDIF 1410 ENDIF 1420 ENDIF 1430 ENDIF 1440 PRINT 1450 NEXT 1460 ENDIF 1470 UNTIL ENDE 1480 DATA 3074 "WAIT " 1485 DATA 3232 "EXECU" 1490 DATA 3075 "WAITI" 1500 DATA 3076 "SENDM" 1510 DATA 3077 "WAITA" 1520 DATA 3078 "WAITE" 1530 DATA 3079 "SENDA" 1540 DATA 3080 "SEARC" 1550 DATA 3081 "CLEAN" 1560 DATA 3082 "BREAK" 1570 DATA 3083 "STOPP" 1580 DATA 3084 "START" 1590 DATA 3085 "RECHA" 1600 DATA 3188 "NEXTO" 1610 DATA 3191 "WAITO" 1620 DATA 3189 "RETUR" 1630 DATA 3192 "SETIN" 1640 DATA 3193 "SETRE" 1650 DATA 3194 "SETCO" 1660 DATA 3195 "CONBY" 1670 DATA 3196 "GETBY" 1680 DATA 3197 "PUTBY" 1690 DATA 3198 "MULTI" 1700 DATA 3199 "DIVID" 1710 DATA 3226 "BINDE" 1720 DATA 3227 "DECBI" 1730 DATA 3200 "GETRE" 1740 DATA 3201 "PUTRE" 1750 DATA 3202 "WAITT" 1760 DATA 3204 "TRANS" 1770 DATA 3205 "INBLO" 1780 DATA 3206 "OUTBL" 1790 DATA 3207 "INCHA" 1800 DATA 3208 "FREES" 1810 DATA 3209 "OUTSP" 1820 DATA 3210 "OUTCH" 1830 DATA 3211 "OUTNL" 1840 DATA 3212 "OUTEN" 1850 DATA 3213 "OUTTE" 1860 DATA 3214 "OUTOC" 1870 DATA 3215 "SETPO" 1880 DATA 3216 "CLOSE" 1890 DATA 3217 "OPEN " 1900 DATA 3218 "WAITZ" 1910 DATA 3219 "INNAM" 1920 DATA 3220 "MOVE " 1930 DATA 3221 "INTPR" 1940 DATA 3290 "NEWCA" 1950 DATA 3291 "FREEC" 1960 DATA 3292 "CDELA" 1970 DATA 3293 "WAITS" 1980 DATA 3294 "WAITC" 1990 DATA 3295 "CWANS" 2000 DATA 3296 "CTEST" 2010 DATA 3297 "CPRIN" 2020 DATA 3298 "CTOUT" 2030 DATA 3299 "SIGNA" 2040 DATA 3300 "SIGCH" 2050 DATA 3301 "CPASS" 2060 DATA 3302 "CREAT" 2070 DATA 3303 "LOOKU" 2080 DATA 3304 "CHANG" 2090 DATA 3305 "REMOV" 2100 DATA 3306 "INITC" 2110 DATA 3307 "SETEN" 2120 DATA 3308 "COMON" 2130 DATA 3309 "CALL " 2140 DATA 3310 "GOTO " 2150 DATA 3311 "GETAD" 2160 DATA 3312 "GETPO" 2170 DATA 3316 "CSEND" 2180 DATA 3317 "SIGGE" 2190 DATA 3318 "WAITG" 2200 DATA 3319 "CTOP " 2210 DATA - 1 "" 2220 DATA 32 "CUR" 2230 DATA 45 ".0" 2240 DATA 80 ".1" 2250 DATA 86 ".10" 2260 DATA 70 ".1024" 2270 DATA 87 ".12" 2280 DATA 97 ".120" 2290 DATA 98 ".127" 2300 DATA 73 ".128" 2310 DATA 88 ".13" 2320 DATA 89 ".15" 2330 DATA 76 ".16" 2340 DATA 66 ".1638" 2350 DATA 79 ".2" 2360 DATA 69 ".2048" 2370 DATA 90 ".24" 2380 DATA 91 ".25" 2390 DATA 99 ".255" 2400 DATA 72 ".256" 2410 DATA 81 ".3" 2420 DATA 75 ".32" 2430 DATA 65 ".3276" 2440 DATA 78 ".4" 2450 DATA 92 ".40" 2460 DATA 68 ".4096" 2470 DATA 93 ".48" 2480 DATA 82 ".5" 2490 DATA 71 ".512" 2500 DATA 94 ".56" 2510 DATA 83 ".6" 2520 DATA 95 ".60" 2530 DATA 96 ".63" 2540 DATA 74 ".64" 2550 DATA 84 ".7" 2560 DATA 77 ".8" 2570 DATA 67 ".8192" 2580 DATA 85 ".9" 2590 DATA - 1 ""
FNA definition = 0xffff FNB definition = 0xffff 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] = 0x024f stack[1] = 0x0000 stack[2] = 0x0000 stack[3] = 0x0000 stack[4] = 0x0000 stack[5] = 0x0000 stack[6] = 0x0000 FOR-NEXT stack pointer = 0x0000 Var# = 0x0242 Loop Top = 0x0122 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# = 0x0001 Loop Top = 0x0000 To Val = 3.3735e-80 (0x00010000) Step Val = 3.3735e-80 (0x00010000) Var# = 0x0087 Loop Top = 0x0281 To Val = 65534 (0x44fffe00) Step Val = 1 (0x41100000) 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] = 0x0000 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] = 0x0000 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] = 0x0000 stack[2] = 0x0000 stack[3] = 0x0000 stack[4] = 0x0000 stack[5] = 0x0000 stack[6] = 0x0000 Variables: 0x80 0xffff 0x00 0x81 0x075f 0x02 A$ 0x82 0xffff 0x00 READFI 0x83 0x0eb2 0x00 A 0x84 0x0eb4 0x00 B 0x85 0x0eb8 0x00 C 0x86 0x0eba 0x00 D 0x87 0x0ec0 0x00 E 0x88 0x0eb6 0x00 ENDE 0x89 0x079b 0x01 RELOC 0x8a 0x0ec4 0x00 F 0x8b 0x0ebc 0x00 BLK 0x8c 0xffff 0x00 L 0x8d 0x0ebe 0x00 LENG 0x8e 0x0794 0x02 RELOC$ 0x8f 0xffff 0x00 MUB 0x90 0xffff 0x00 G 0x91 0xffff 0x00 LLIST 0x92 0x0ec2 0x00 ADR 0x93 0xffff 0x00 ANS 0x94 0xffff 0x00 LI 0x95 0xffff 0x00 PZ 0x96 0x07a7 0x03 PZ$ 0x97 0x0752 0x02 PFC$ 0x98 0x075b 0x02 R$ 0x99 0xffff 0x00 ADRUD 0x9a 0x0743 0x02 ARI$ 0x9b 0x073e 0x02 C$ 0x9c 0x0739 0x02 S$ 0x9d 0x001b 0x02 SK$ 0x9e 0xffff 0x00 LIAT 0x9f 0x0000 0x02 IO$ 0xa0 0x000f 0x02 T$ 0xa1 0x0016 0x02 F$ 0xa2 0x002e 0x03 PZL$ 0xa3 0xffff 0x00 LOST 0xa4 0xffff 0x00 STO]
.magic = 0x4e32 .u_pas = 0x09ec // Length of UPAS in words .u_das = 0x0fe7 // Length of UDAS in words .u_dvs = 0x0121 // Start på savede variabel indhold (word adr) .u_nds = 0x09ec // Address på næste prog.sætning (word adr) .u_cps = 0x09e5 // Address på curr prog.sætning (word adr) .u_tll = 0x0048 // Page størrelse .u_tts = 0x0009 // TAP størrelse .u_ran = 0x0001 // Random tal .u_cdl = 0x0006 // Current DATA sætning ptr .u_cdb = 0x0000 // Current DATA byte ptr .u_esa = 0x09ec // ON ESE (word adr) .u_era = 0x13d7 // ON ERR (word adr) .u_cas = 0xffff // CASE dybde .u_las = 0xffff // last (-1)