|
|
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: 3584 (0xe00)
Types: COMAL_SAVE
Names: »PLRET«
└─⟦cb4367ef8⟧ Bits:30001782 SG0002 Floppy
└─⟦this⟧ »/PLRET«
SAVE filename: "PLRE1" 8000 REM ARBEJDSPROGRAM TIL CALL-INDKØRING pl 7.9.80 kl 24 «so»@.LAGRET«nul»«nul» 8010 REM pl 9.9.80 /kører/ ld:I / uden sætn 8931 ff osse lager16«nul»A 8020 REM PL 7.9.80 lagerudskrivning med rettefacilitet; disass modif af @.lagspe«nul»«nul» 8040 CALL "KODESPEC" 8050 RELEASE 8060 PROC RAD 8070 LET I = 0 8080 REPEAT 8090 LET H = X DIV R C = X MOD R I = I + 1 X = H 8100 LET C = 48 + C + 7 * ( C > 9 ) 8110 LET D$ ( N + 1 - I ) = CHR ( C ) 8120 UNTIL H = 0 OR N < I + 1 8130 ENDPROC 8140 DIM T ( 4 ) , CH ( 3 ) , D$ ( 10 ) , NUL$ ( 2 ) , T$ ( 10 ) 8150 DIM TX$ ( 3 , 3 ) 8160 LET TAB1 = 95 TAB2 = 3 CHVL = 4 DADR = 10 8170 READ T ( 1 ) , T ( 2 ) , T ( 3 ) , T ( 4 ) , CH ( 1 ) , CH ( 2 ) , CH ( 3 ) 8180 DATA 120 76 83 47 10 16 8 8190 LET TX$ ( 1 ) = "dec" TX$ ( 2 ) = "hex" TX$ ( 3 ) = "oct" 8200 CLOSE 8210 PAGE = 80 8220 TAB = 7 8230 REPEAT 8250 INPUT "<10><10><7>udskrivning ønskes fra adr " , ADR1 8260 PRINT "<12>" 8270 GOTO 8290 8280 PRINT " ADR : DEC INSTR (127) HEX OCTAL" 8290 PRINT " adr : dec instr (127) hex octal" 8300 PRINT "----------------------------------------------------------" 8310 FOR ADR = ADR1 TO ADR1 + DADR 8320 CALL "GMEM" , ADR , X 8330 LET D$ = " " DAT = X 8340 IF NOT X THEN 8350 LET D$ = " " 8360 ELSE 8370 IF X < 32768 THEN 8380 IF X > 4095 THEN 8390 LET D$ = D$ , CHR ( T ( X MOD 32768 DIV 8192 + 1 ) ) , CHR ( 48 + X MOD 8192 DIV 2048 ) 8400 ELSE 8410 LET D$ = D$ , CHR ( 32 + 30 * ( X DIV 256 <> 0 ) - 20 * ( X MOD 4096 DIV 2048 ) ) 8420 ENDIF 8430 LET D$ = D$ , CHR ( 32 + 16 * ( X DIV 256 <> 0 ) + X MOD 2048 DIV 256 ) Y = X MOD 256 8440 IF X MOD 1024 DIV 256 THEN 8450 LET D$ = D$ , CHR ( 43 + ( Y DIV 128 ) * 2 ) Y = Y + ( Y DIV 128 ) * ( 256 - 2 * Y ) 8460 LET D$ = D$ , CHR ( 48 + Y DIV 10 + ( Y DIV 10 > 9 ) * 7 ) , CHR ( 48 + Y MOD 10 ) , " " 8470 ELSE 8480 LET D$ = D$ , "+" , CHR ( 32 + 16 * ( Y DIV 100 <> 0 ) + Y DIV 100 ) , CHR ( 48 + Y DIV 10 MOD 10 ) , CHR ( 48 + Y MOD 10 ) , " " 8490 LET NO = ( Y DIV 100 = 0 ) + ( Y DIV 10 = 0 ) 8500 IF NO THEN LET NUL$ = " " NUL$ = NUL$ ( 1 , NO ) 8510 ENDIF 8520 ELSE 8530 LET D$ = D$ , ":" , CHR ( 48 + X MOD 32768 DIV 8192 ) , CHR ( 48 + X MOD 8192 DIV 2048 ) , CHR ( 48 + X MOD 2048 DIV 256 ) 8540 LET D$ = D$ , CHR ( 32 + 16 * ( X MOD 256 <> 0 ) + X MOD 256 DIV 16 + 7 * ( X MOD 256 DIV 16 > 9 ) ) 8550 LET D$ = D$ , CHR ( 32 + 16 * ( X MOD 256 <> 0 ) + X MOD 16 + 7 * ( X MOD 16 > 9 ) ) , " " 8560 ENDIF 8570 ENDIF 8580 PRINT ADR , DAT , D$ , 8590 LET Y = X MOD 256 X = X DIV 256 8600 PRINT "<60>### ><60>### > " , X , Y , 8610 FOR JJ = 1 TO 2 8620 IF JJ = 2 THEN LET X = Y 8630 IF X > 31 AND X < 125 THEN 8640 PRINT CHR ( X ) ; 8650 ELSE 8660 PRINT "~" ; 8670 ENDIF 8680 NEXT 8690 LET R = 16 X = DAT D$ = " 0000 " N = 5 8700 EXEC RAD 8710 PRINT " " ; D$ ; 8720 LET R = 8 X = DAT D$ = " 000000 " N = 9 8730 LET T$ = " " 8740 EXEC RAD 8750 PRINT D$ 8760 NEXT 8770 REPEAT 8780 ON ESC THEN LET T$ = "" 8790 PRINT "<6><19><19>" ; 8800 INPUT "RETTE ADR " , ADRX , " I REPR (1=dec 2=hex 3=oct) " , CHVL 8805 PRINT "<26><26><31>" 8810 IF ADRX * CHVL = 0 OR T$ = "" THEN GOTO 8990 8820 IF ADRX < ADR1 OR ADRX > ADR1 + DADR THEN GOTO 8800 8830 PRINT "<6>" ; CHR ( TAB1 ) ; CHR ( TAB2 + ADRX - ADR1 ) ; TX$ ( CHVL ) ; 8840 INPUT " " , T$ 8850 IF LEN ( T$ ) THEN IF T$ ( 1 ) = " " OR T$ ( LEN ( T$ ) ) = " " THEN GOTO 8840 8860 LET RAD = CH ( CHVL ) C = LEN ( T$ ) Y = 0 8870 PRINT "<6><19><17>" ; 8880 FOR J = C TO 1 STEP - 1 8890 LET X = ORD ( T$ ( J ) ) - 48 - 7 * ( T$ ( J ) > "@" ) 8900 LET Y = Y + X * RAD ^ ( C - J ) 8920 NEXT 8930 PRINT "<6><19><15><31>" ; TX$ ( CHVL ) ; " " ; T$ ; " = dec " ; Y ; " lagres nu" 8931 PRINT "<6><19><15><31>" ; TX$ ( CHVL ) ; " " ; T$ ; " = dec" ; Y ; 8932 IF Y DIV 256 > 31 AND Y DIV 256 < 127 AND ( Y MOD 256 > 31 AND Y MOD 256 < 127 OR Y MOD 256 = 0 ) THEN PRINT " = txt " ; CHR ( Y DIV 256 ) ; CHR ( Y MOD 256 ) ; 8934 PRINT " lagres nu" 8940 ON ESC THEN LET D$ = "N" 8950 INPUT "OK? " , D$ 8960 IF D$ <> "J" THEN GOTO 8790 8970 CALL "SMEM" , ADRX , Y 8980 PRINT "D A T A L A G R E T ! ! !" 8990 UNTIL ADRX = 0 OR CHVL = 0 OR T$ = "" 9000 UNTIL 0 9010 FOR I = 1 TO 127 9020 LET J = 1 9030 PRINT "<6>" ; CHR ( I ) ; CHR ( J ) ; I ; J 9040 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] = 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# = 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)
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 0x0000 0x00
0x81 0xffff 0x00 RAD
0x82 0xffff 0x00 I
0x83 0xffff 0x00 H
0x84 0xffff 0x00 X
0x85 0xffff 0x00 R
0x86 0xffff 0x00 C
0x87 0xffff 0x02 D$
0x88 0xffff 0x00 N
0x89 0xffff 0x00 T
0x8a 0xffff 0x00 CH
0x8b 0xffff 0x02 NUL$
0x8c 0xffff 0x02 T$
0x8d 0xffff 0x02 TX$
0x8e 0xffff 0x00 TAB1
0x8f 0xffff 0x00 TAB2
0x90 0xffff 0x00 CHVL
0x91 0xffff 0x00 DADR
0x92 0xffff 0x00 ADR1
0x93 0xffff 0x00 ADR
0x94 0xffff 0x00 DAT
0x95 0xffff 0x00 Y
0x96 0xffff 0x00 NO
0x97 0xffff 0x00 JJ
0x98 0xffff 0x00 ADRX
0x99 0xffff 0x00 J
.magic = 0x4e32 .u_pas = 0x05dc // Length of UPAS in words .u_das = 0x00ea // Length of UDAS in words .u_dvs = 0x00ea // Start på savede variabel indhold (word adr) .u_nds = 0x0000 // 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 = 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)