|
|
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: 7546 (0x1d7a)
Types: COMAL_SAVE
Names: »LAGER «
└─⟦3d9d2c4f1⟧ Bits:30001780 SG0000 Floppy
└─⟦this⟧ »/LAGER «
SAVE filename: "LAGER" 0005 REM FILNAVN: LIB:LAGER PLFL2:L.UD2 IØVR(SAVET):LUD2«nul» 0010 REM PL 2.11.81 LAGERUDSKRIVNINGSPROGRAM ENSPALTET «so» LUD1«nul». 0030 REM PL 8.11.81 DISASSEMBLER INDLAGT ISTF FORKORTET NOTATION > LUD2«nul» 0050 ON ESC THEN NEW 0060 LET HEAD = 1 ALM = 1 0062 LET ALM = 0 0070 EXEC PRGSTART 0080 LET SIDE = SIDE1 0090 EXEC NYSIDE 0100 FOR ADR1 = INT ( SIDE * PAGIN + 0.2 ) TO INT ( SIDE * PAGIN + LINIER - 0.8 ) 0110 GOTO 0130 0120 IF FIL$ <> "" THEN IF ADR1 MOD 16 = 0 THEN PRINT FILE ( 1 ) 0130 LET L$ = "" 0140 LET ADR = ADR1 0150 IF ADR > 32767 THEN GOTO 0870 0160 CALL "GMEM" , ADR , X 0170 LET XX = X JUMP = 0 UNDT = 0 0180 LET D$ = CHR ( 32 + ( ADR MOD 5 = 0 ) * ( 2 + ADR MOD 10 ) ) NUL$ = "" NO = 0 0190 LET D$ = D$ , " " 0200 FOR TT = 6 TO 3 - ( X > 9999 ) STEP - 1 0210 LET D$ ( TT ) = CHR ( X MOD 10 + 32 + 16 * ( X > 0 ) ) 0220 LET X = X DIV 10 0230 NEXT 0240 LET X = XX L$ = L$ , D$ ( 1 , 6 ) D$ = "" 0250 LET B1 = X DIV 256 B2 = X MOD 256 0260 FOR I = 1 TO 2 0270 IF I = 2 THEN LET B1 = B2 0280 IF B1 = 0 OR B1 = 10 OR B1 = 13 OR B1 = 32 OR B1 > 47 AND B1 < 58 OR B1 > 64 AND B1 < 91 OR BETING AND B1 > 96 AND B1 < 123 THEN 0290 IF B1 < 32 THEN LET B1 = 96 - ( B1 > 1 ) - ( B1 = 10 ) 0300 IF I = 1 THEN LET D$ = D$ , " " , CHR ( B1 ) 0310 IF I = 2 THEN LET D$ = D$ , CHR ( B1 ) , " " 0320 ELSE 0330 LET D$ = D$ , " " 0340 GOTO 0360 0350 LET D$ = D$ , CHR ( 126 + ( B1 DIV 10 - 78 ) * ( B1 DIV 10 <> 0 ) + 39 * ( B1 > 99 ) ) , CHR ( B1 MOD 10 + 48 ) 0360 ENDIF 0370 NEXT 0380 IF HEAD THEN RETURN «nul» 0390 LET L$ = L$ , D$ 0400 REM «so» ......................................«nul» 0480 LET X1 = X DIV 256 X2 = X MOD 256 ASS$ = " " 0482 IF X1 < 96 THEN 0484 LET XINS = X1 DIV 8 * 3 + 1 ASS$ ( 1 , 4 ) = I$ ( XINS , XINS + 2 ) , CHR ( 32 * ( 1 + ( X1 MOD 8 > 3 ) ) ) MINUS = ( X1 MOD 4 <> 0 ) * ( X2 > 127 ) 0486 IF MINUS THEN LET X2 = 256 - X2 0488 LET STED = 6 + 2 * ( X1 > 31 ) - ( X2 < 100 ) 0490 FOR S = STED + 1 TO STED + 3 0492 LET I = STED + 3 - S J = X2 DIV ( 10 ^ I ) Y = J MOD 10 ASS$ ( S ) = CHR ( Y + 16 * ( J <> 0 OR I = 0 ) + 32 ) 0494 NEXT 0496 LET ASS$ ( STED + ( X2 < 100 ) ) = CHR ( 43 + 2 * MINUS ) 0498 IF X1 MOD 4 <> 0 THEN LET ASS$ ( STED + 4 , STED + 5 ) = "," , CHR ( X1 MOD 4 + 48 ) 0500 IF X1 > 31 THEN LET ASS$ ( 6 , 7 ) = CHR ( X1 DIV 8 MOD 4 + 48 ) , "," 0502 IF X1 = 0 THEN LET ASS$ = " " , ASS$ ( 7 , 8 + ( STED = 6 ) ) , " " 0504 ELSE 0506 LET XINS = ( X1 MOD 8 + 12 + 8 * ( X1 > 127 ) ) * 3 + 1 0508 LET ASS$ ( 1 , 3 ) = I$ ( XINS , XINS + 2 ) ASS$ ( 8 ) = "," ASS$ ( 7 + 2 * ( X1 > 127 ) ) = CHR ( X1 DIV 8 MOD 4 + 48 ) 0510 IF X1 < 128 THEN 0512 LET Y = X2 MOD 64 ASS$ ( 9 ) = CHR ( Y DIV 10 + 16 * ( Y DIV 10 <> 0 ) + 32 ) ASS$ ( 10 ) = CHR ( Y MOD 10 + 48 ) 0514 LET STED = 133 - 8 * ( X1 MOD 8 = 7 ) ASS$ ( 4 , 5 ) = I$ ( STED + 2 * ( X2 DIV 64 ) , STED + 1 + 2 * ( X2 DIV 64 ) ) 0516 ELSE 0518 LET ASS$ ( 7 ) = CHR ( X1 DIV 32 MOD 4 + 48 ) ASS$ ( 4 ) = I$ ( 85 + X2 DIV 16 MOD 4 ) ASS$ ( 5 - ( ASS$ ( 4 ) = " " ) ) = I$ ( 89 + ( X2 DIV 64 ) ) 0520 LET ASS$ ( 6 - ( ASS$ ( 5 ) = " " ) ) = CHR ( ( X2 DIV 8 MOD 2 ) * 3 + 32 ) ASS$ ( 10 , 13 ) = I$ ( 93 + 4 * ( X2 MOD 8 ) , 96 + 4 * ( X2 MOD 8 ) ) 0522 ENDIF 0524 ENDIF 0660 REM «so» .....................................«nul» 0670 REM FRA P3BY6 SYMB PAGEZERO-INSTR«nul». 0680 LET X1 = X DIV 256 X2 = X MOD 256 0690 IF ( X1 = 4 OR X1 = 12 ) AND T$ ( X2 * 4 + 1 , X2 * 4 + 4 ) <> " " THEN 0700 LET D$ = D$ ( 1 ) , " " NUL$ = "" 0710 IF T$ ( X2 * 4 + 1 , X2 * 4 + 4 ) <> " " THEN LET D$ ( 2 , 5 ) = T$ ( X2 * 4 + 1 , X2 * 4 + 4 ) 0712 LET ASS$ = ASS$ ( 1 , 10 ) , D$ ( 2 , 8 ) 0720 ENDIF 0730 REM SLUT FRA P3BY6 SYMB PAGEZERO-INSTR«nul» 0740 REM «so».....................................«nul» 0750 REM «nul»«so» 0760 LET L$ = L$ , ASS$ D$ = "" NUL$ = "" 0770 REM «so».....................................«nul» 0780 REM FRA @.LAJ IGEN (FLYTTET)«nul» 0790 LET X = XX 0800 LET Y = X MOD 256 X = X DIV 256 NUL$ = " " 0810 LET D$ = D$ , CHR ( 32 + ( X DIV 100 ) * 14 - ( X DIV 200 ) * 2 ) , CHR ( 32 + ( X DIV 10 <> 0 ) * 16 + X MOD 100 DIV 10 ) , CHR ( 48 + X MOD 10 ) 0820 LET D$ = D$ , CHR ( 32 + ( Y DIV 100 ) * 14 - ( Y DIV 200 ) * 2 ) , CHR ( 32 + ( Y DIV 10 <> 0 ) * 16 + Y MOD 100 DIV 10 ) , CHR ( 48 + Y MOD 10 ) 0830 REM SLUT FRA @.LAJ «nul» 0840 REM «so» .....................................«nul» 0850 REM «nul»«so» 0860 LET L$ = L$ , D$ 0890 PRINT "<6>y" ; CHR ( INT ( ADR1 - SIDE * PAGIN + 1.1 ) ) ; "! " ; L$ ; " !" 0900 NEXT 0920 CLOSE 0930 GOTO 0070 0940 REM «so» .......«nul» 0950 PROC NYSIDE 0960 PAGE = 132 0970 TAB = 25 0980 PRINT "<29>" 1000 PRINT "<6>dB STARTADR" ; SIDE * PAGIN 1210 LET HEAD = 0 BETING = ADR > UDA 1220 ENDPROC 1230 REM «so» .......«nul»- 1240 PROC PRGSTART 1250 RELEASE 1260 REM PL 1981: 7/3 DISKETTEPRG @.LBYTE 12/3 TALOPTION 14/9 INPUTJUSTERINGER«nul»6 1270 REM PL 1981: 4/10 OVERFØRT TIL DIABLO(LBYTE) 13/10 OVERSKR BYTE 16/10 LBYT6 ÆNDR REPR«nul»2 1280 REM PL 1981: 18/10 PAGEZEROSYMB 1/11 SMÅFEJL RETTET«nul»1 1290 REM PL 1981: 2.11.81 UDVIKLING AF LALL PÅ BASIS AF LBYT6 OG @.LAGSP(D)«nul» 1300 IF HEAD AND ALM THEN 1310 PRINT "<12><6>KK L.ALL REV PL 2.11.81 / P3AL1<29>" 1320 PRINT "*************************" 1330 PRINT "* CORELAGERUDSKRIFT *" 1340 PRINT "* TAL/BYTE/TEXT *" 1350 PRINT "* MED SYMB PAGEZEROINST *" 1360 PRINT " OG *" 1370 PRINT "* FULDST. DISASSEMBLING *" 1380 PRINT "*************************<13><10>PL 2.11.81 L.ALL/P3AL1<10>" 1382 PRINT "<10>ENSPALTET VERSION L.UD1" 1390 ENDIF 1400 CALL "GMEM" , 15 , UDA 1410 PAGE = 132 1420 CLOSE 1430 DIM FIL$ ( 5 ) , L$ ( 170 ) , D$ ( 24 ) , NUL$ ( 2 ) 1440 DIM T ( 4 ) , D$ ( 8 ) 1442 REM PL 7/8.11.81 DISASSEMBLER UDEN FILER «so» LDIS1 / P3DIS«nul» 1443 DIM I$ ( 150 ) , ASS$ ( 15 ) , S$ ( 5 ) 1444 LET I$ = "JMPJSRISZDSZLDALDALDALDASTASTASTASTANIODIADOADIBDOBDICDOCSKPCOMNEGMOVINCADCSUBADDAND" 1445 LET I$ = I$ , " ZOC LRS ,SKP,SZC,SNC,SZR,SNR,SEC,SBNBNBZDNDZ S C P " 1450 LET T ( 1 ) = 32 T ( 2 ) = 76 T ( 3 ) = 83 T ( 4 ) = 47 T ( 1 ) = 120 1470 INPUT "STARTADR " , ADR 1480 IF ADR < 0 THEN CHAIN "FILLÆ" 1490 LET KOLON = 1 LINIER = 20 PAGIN = LINIER SIDE1 = ADR / LINIER / KOLON 1530 PAGE = 0 1540 IF HEAD = 1 THEN 1550 DIM T$ ( 9 * 120 + 1 ) 1560 FOR I = 1 TO 9 1570 READ L$ 1580 LET L$ = L$ , " " T$ = T$ , L$ ( 3 , 122 ) 1590 NEXT 1600 IF LEN ( T$ ) <> 9 * 120 THEN PRINT T$ 1610 IF LEN ( T$ ) <> 9 * 120 THEN PRINT "<10><10>FEJL<10>" 1620 ENDIF 1630 LET BETING = 1 1650 ENDPROC 1660 REM FLG ER LAVET AF FACILITET I PRG LDAT3 (SE DENNE)«nul» 1670 DATA " waitwintsmeswanswevesanssearclenbreastopstrtrech " 1680 DATA " " 1690 DATA " " 1700 DATA " noperanscldewope " 1710 DATA " setisetrsetcconbsetbputbmultdivigetrputrwtrareshtraninbloublinchfrshouspouchounlouenoutxouocsetpclosopenwzoninnmmoveintp " 1720 DATA " igiv ibre bidcdcbi ex: ret0ret1ret2*er " 1730 DATA " " 1740 DATA " nwccfrcacdelwsemwchacwanctstcprictousignsigccpascrenloenchenreenicatsetecomocallgotogtad " 1750 DATA " gtpo csmesiggwgenctop " 1760 DATA " " 1770 REM «so» PAGE ZERO UDSKRIFT«nul» 1780 PRINT "<12><14> PAGE ZERO" 1790 PAGE = 132 1800 TAB = 7 1810 REM PL 9.10.81 PRG START SKAL VÆRE KØRT!«nul» 1820 FOR J = 0 TO 63 1830 FOR I = 1 TO 4 1840 LET ADR = ( I - 1 ) * 64 + J 1850 PRINT " " ; 1860 CALL "GMEM" , ADR , D 1870 PRINT "!#### # (#####) #### ##### !" , ADR , CHR ( 32 + ( ADR > 32 AND ADR < 126 ) * ( ADR - 32 ) ) , ADR * 256 , T$ ( ADR * 4 + 1 , ADR * 4 + 4 ) , D ; 1880 NEXT 1890 LET L$ = " " , CHR ( J DIV 10 + 48 ) , CHR ( J MOD 10 + 48 ) , " " 1900 IF J = 0 OR J > 26 AND J < 33 OR J > 34 AND J MOD 2 = 1 OR J > 58 THEN 1910 LET L$ = L$ , CHR ( ( J + 64 ) DIV 10 + 48 + 39 * ( J > 35 ) ) , CHR ( ( J + 64 ) MOD 10 + 48 ) 1920 ELSE 1930 LET L$ = L$ , CHR ( J + 64 ) , "/" 1940 ENDIF 1950 FOR AAA = 8 TO 2 STEP - 6 1960 LET L$ = L$ , " " , CHR ( ( J + AAA ) DIV 10 + 99 + 7 * ( AAA = 2 ) ) , CHR ( ( J + AAA ) MOD 10 + 48 ) 1970 NEXT 1980 PRINT L$ 1990 NEXT
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] = 0x00d4
stack[1] = 0x0621
stack[2] = 0x0000
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
FOR-NEXT stack pointer = 0x0000
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 = 3.37355e-80 (0x00010001)
Var# = 0x0001
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
Var# = 0x0087
Loop Top = 0x00b1
To Val = 10083 (0x44276300)
Step Val = 1 (0x41100000)
Var# = 0x009b
Loop Top = 0x0170
To Val = 2 (0x41200000)
Step Val = 1 (0x41100000)
Var# = 0x008c
Loop Top = 0x00b7
To Val = 10042 (0x44273a00)
Step Val = 20 (0x42140000)
REPEAT-UNTIL stack pointer = 0x009b
stack[0] = 0x0154
stack[1] = 0x4120
stack[2] = 0x0000
stack[3] = 0x4110
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 0xffff 0x00 HEAD
0x82 0xffff 0x00 PRGSTART
0x83 0xffff 0x00 SIDE
0x84 0xffff 0x00 SIDE1
0x85 0xffff 0x00 SIDE2
0x86 0xffff 0x00 NYSIDE
0x87 0xffff 0x00 ADR1
0x88 0xffff 0x00 PAGIN
0x89 0xffff 0x00 LINIER
0x8a 0xffff 0x02 FIL$
0x8b 0xffff 0x02 L$
0x8c 0xffff 0x00 ADR
0x8d 0xffff 0x00 KOLON
0x8e 0xffff 0x00 X
0x8f 0xffff 0x00 XX
0x90 0xffff 0x00 JUMP
0x91 0xffff 0x02 D$
0x92 0xffff 0x02 NUL$
0x93 0xffff 0x00 NO
0x94 0xffff 0x00 TAL
0x95 0xffff 0x00 X1
0x96 0xffff 0x00 X2
0x97 0xffff 0x02 T$
0x98 0xffff 0x00 TT
0x99 0xffff 0x00 B1
0x9a 0xffff 0x00 B2
0x9b 0xffff 0x00 I
0x9c 0xffff 0x00 BRED
0x9d 0xffff 0x00 TABUL
0x9e 0xffff 0x00 UDA
0x9f 0xffff 0x00 J
0xa0 0xffff 0x00 D
0xa1 0xffff 0x00 LISY
0xa2 0xffff 0x00 LIAST
0xa3 0xffff 0x00 LIDT
0xa4 0xffff 0x00 BETING
0xa5 0xffff 0x00 CONNECFT
0xa6 0xffff 0x00 AAA
0xa7 0xffff 0x00 UNDT
0xa8 0xffff 0x00 FIR
0xa9 0xffff 0x00 UN
0xaa 0xffff 0x00 T
0xab 0xffff 0x00 Y
0xac 0xffff 0x00 KOLIN
0xad 0xffff 0x00 ALM
0xae 0xffff 0x02 ASS$
0xaf 0xffff 0x00 XINS
0xb0 0xffff 0x02 I$
0xb1 0xffff 0x00 MINUS
0xb2 0xffff 0x00 STED
0xb3 0xffff 0x00 S
0xb4 0xffff 0x02 S$
.magic = 0x4e32 .u_pas = 0x0d39 // Length of UPAS in words .u_das = 0x0171 // Length of UDAS in words .u_dvs = 0x0171 // 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 = 0x0084 // Page størrelse .u_tts = 0x0019 // 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 = 0x0042 // ON ESE (word adr) .u_era = 0x0000 // ON ERR (word adr) .u_cas = 0xffff // CASE dybde .u_las = 0xffff // last (-1)