|
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: 1416 (0x588) Types: COMAL_SAVE Notes: BASIC::C.DISASS, C.DISASS Names: »C.DISASS«
└─⟦714f3848e⟧ Bits:30006597 ALM Copy 24.9.79 └─⟦this⟧
SAVE filename: "@.DISASS" 0010 DIM INSTR$ ( 256 , 17 ) , SKIP$ ( 8 , 4 ) , CARRY$ ( 4 ) , SHIFT$ ( 4 ) , F$ ( 4 ) , T$ ( 8 ) , OUT$ ( 20 ) 0020 OPEN FILE ( 1 , 1 ) "SYMBFIL" 0030 FOR I = 1 TO 256 0040 READ FILE ( 1 ) INSTR$ ( I ) 0050 NEXT 0060 FOR I = 1 TO 8 0070 READ FILE ( 1 ) SKIP$ ( I ) 0080 NEXT 0090 CLOSE 0100 LET CARRY$ = " ZOC" SHIFT$ = " LRS" F$ = " SCP" T$ = "BNBZDNDZ" 0110 INPUT "OMRÅDE (F,T) : " , A1 , B1 0120 PRINT "<10><13>DISASSEMBLING AF LAGER FRA:" ; A1 ; " TIL:" ; B1 0130 FOR I = A1 TO B1 0140 CALL "GMEM" , I , B 0150 PRINT "-+##### -+##### " , I , B ; 0160 LET OUT$ = INSTR$ ( B DIV 256 + 1 ) 0170 IF B > 32767 THEN 0180 LET OUT$ ( 4 ) = CARRY$ ( B MOD 64 DIV 16 + 1 ) 0190 LET OUT$ ( 4 + ( OUT$ <> " " ) ) = SHIFT$ ( B MOD 256 DIV 64 + 1 ) 0200 LET OUT$ ( 6 ) = CHR ( 32 + B MOD 16 DIV 8 * 3 ) 0210 LET OUT$ ( 13 , 16 ) = SKIP$ ( B MOD 8 + 1 ) 0220 PRINT OUT$ 0230 ELSE 0240 IF B > 24575 THEN 0250 IF OUT$ ( 1 ) <> "S" AND OUT$ ( 1 ) <> "F" THEN LET OUT$ ( 4 ) = F$ ( B MOD 256 DIV 64 + 1 ) 0260 IF OUT$ ( 1 ) = "S" THEN LET OUT$ ( 4 , 5 ) = T$ ( B MOD 256 DIV 64 + 1 , B MOD 256 DIV 64 + 2 ) 0270 IF OUT$ ( 1 ) = "F" THEN PRINT OUT$ 0280 IF OUT$ ( 1 ) <> "F" THEN PRINT OUT$ , B MOD 64 0290 ELSE 0300 PRINT OUT$ , B MOD 256 - ( B MOD 1024 DIV 256 <> 0 ) * ( B MOD 256 > 127 ) * 256 0310 ENDIF 0320 ENDIF 0330 NEXT 0340 GOTO 0110
FNA definition = 0x0230 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] = 0x0000 stack[1] = 0x0000 stack[2] = 0x0000 stack[3] = 0x0000 stack[4] = 0x0000 stack[5] = 0x0000 stack[6] = 0x0000 FOR-NEXT stack pointer = 0x0000 Var# = 0x0087 Loop Top = 0x00f6 To Val = 600 (0x43258000) 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) 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] = 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] = 0x0001 stack[1] = 0x0001 stack[2] = 0x0000 stack[3] = 0x0000 stack[4] = 0x0000 stack[5] = 0x0000 stack[6] = 0x0000 Variables: 0x80 0xffff 0x00 0x81 0xffff 0x02 INSTR$ 0x82 0xffff 0x02 CARRY$ 0x83 0xffff 0x02 SHIFT$ 0x84 0xffff 0x02 F$ 0x85 0xffff 0x02 T$ 0x86 0xffff 0x02 OUT$ 0x87 0xffff 0x00 I 0x88 0xffff 0x02 SKIP$ 0x89 0xffff 0x00 LDET 0x8a 0xffff 0x00 A1 0x8b 0xffff 0x00 B1 0x8c 0xffff 0x00 B 0x8d 0xffff 0x02 OIUT$
.magic = 0x5356 .u_pas = 0x0206 // Length of UPAS in words .u_das = 0x00ae // Length of UDAS in words .u_dvs = 0x00ae // Start på savede variabel indhold (word adr) .u_nds = 0x0042 // Address på næste prog.sætning (word adr) .u_cps = 0x0000 // Address på curr prog.sætning (word adr) .u_tll = 0x0048 // 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)