|
|
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: 5632 (0x1600)
Types: COMAL_SAVE
Names: »RAPP«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
└─⟦this⟧ »/RAPP«
SAVE filename: "RAPP"
0010 PRINT "<27><12>"
0020 DELAY = 1
0030 PRINT
0040 PRINT
0050 PRINT "DU HAR F0LGENDE VALGMULIGHEDER (INDTAST TALLET):"
0060 PRINT "1 = NYE BEREGNINGER"
0070 PRINT "2 = GAMLE FORMLER OG RESULTATER SKREVET PAA TABELFORM"
0080 INPUT Q
0090 IF ( Q <> 1 ) * ( Q <> 2 ) * ( Q <> 3 ) THEN GOTO 0080
0100 IF Q = 2 THEN CHAIN "RTAB"
0110 PRINT "<27><12>"
0120 DELAY = 1
0125 ON ERR THEN EXEC OUTERR
0130 DIM Q1$ ( 75 ) , Q2$ ( 75 )
0140 PRINT
0150 PRINT "F0LGENDE SYMBOLER OG FORMLER LIGGER I 0JEBLIKKET I PROGRAMMET:"
0160 PRINT
0170 PRINT
0180 LET AFBRYD = 0
0190 ON ESC THEN EXEC OUTESC
0200 OPEN FILE ( 0 , 1 ) "ANT"
0210 READ FILE ( 0 ) M , N , C
0220 CLOSE FILE ( 0 )
0230 OPEN FILE ( 1 , 1 ) "PRNT"
0240 PRINT "SYMBOLER:"
0250 PRINT
0260 FOR I = 1 TO M + N
0270 READ FILE ( 1 ) Q1$ , Q2$
0280 IF Q1$ = "" THEN GOTO 0310
0290 IF Q2$ = "" THEN PRINT Q1$
0300 IF ( Q1$ <> "" ) * ( Q2$ <> "" ) THEN PRINT Q1$ ; ": " ; Q2$
0310 NEXT
0320 PRINT
0330 PRINT
0340 PRINT "FORMLER/REGNEUDTRYK:"
0350 PRINT
0360 FOR I = 1 TO N
0370 READ FILE ( 1 ) Q1$ , Q2$
0390 IF Q1$ = "QWZQ" THEN LET Q1$ = "" Q2$ = Q2$ ( 2 , LEN ( Q2$ ) )
0400 PRINT "(" ; I ; ") " ; Q1$ ; Q2$
0410 NEXT
0420 CLOSE FILE ( 1 )
0430 LET AFBRYD = 1
0440 PRINT
0450 EXEC FILWORK
0460 PRINT "HVIS DU 0NSKER AT BENYTTE OVENSTAAENDE (EVT. MED RETTELSER)"
0470 PRINT "INDTAST 0. 0NSKER DU HELT NYE SYMBOLER, INDTAST ET VILKAARLIGT"
0480 PRINT "ANDET TAL."
0490 INPUT Q
0500 IF Q THEN
0510 LET C = 0
0520 INPUT "ANTAL MAALTE ST0RRELSER (MAX 10): " , M
0530 LET M = INT ( M )
0540 IF ( M < 0 ) + ( M > 10 ) THEN GOTO 0520
0550 INPUT "ANTAL FORMLER/BEREGNINGSUDTRYK (MAX 5):" , N
0560 LET N = INT ( N )
0570 IF ( N < 0 ) + ( N > 5 ) THEN GOTO 0550
0580 DIM S1$ ( M , 10 ) , B1$ ( M , 75 ) , S2$ ( N , 10 ) , B2$ ( N , 75 ) , S3$ ( N , 10 ) , F$ ( N , 75 )
0590 PRINT "<27><12>"
0600 DELAY = 1
0610 PRINT
0620 PRINT "INDF0R SYMBOLER (BESTAAENDE AF ET BOGSTAV, EVT. EFTERFULGT AF OP"
0630 PRINT "TIL 9 BOGSTAVER OG/ELLER TAL):"
0640 PRINT
0650 PRINT "MAALTE ST0RRELSER:"
0660 LET A = 0
0670 FOR I = 1 TO M
0680 LET A = A + 1
0690 INPUT "SYMBOL: " , S1$ ( A )
0700 INPUT "SYMBOLETS BETYDNING: " , B1$ ( A )
0710 IF S1$ ( A ) = "" THEN LET A = A - 1
0720 PRINT
0730 NEXT
0740 LET M = A
0750 PRINT
0760 PRINT "BEREGNEDE ST0RRELSER (HVIS DU IKKE HAR MERE AT ANF0RE, KAN DU"
0770 PRINT "<34>SPRINGE OVER<34> VED AT TASTE RETURN):"
0780 LET A = 0
0790 FOR I = 1 TO N
0800 LET A = A + 1
0810 INPUT "SYMBOL: " , S2$ ( A )
0820 INPUT "SYMBOLETS BETYDNING: " , B2$ ( A )
0830 IF S2$ ( A ) = "" THEN LET A = A - 1
0840 PRINT
0850 NEXT
0860 PRINT "FORMLER/BEREGNINGSUDTRYK:"
0870 PRINT
0880 LET A = 0
0890 FOR I = 1 TO N
0900 LET A = A + 1
0910 PRINT "FORMEL ELLER UDTRYK (" ; I ; ") " ;
0920 INPUT Q1$
0930 IF Q1$ = "" THEN LET A = A - 1
0940 IF Q1$ = "" THEN GOTO 1050
0950 LET L = LEN ( Q1$ )
0960 LET K = 0
0970 FOR J = 1 TO L
0980 IF Q1$ ( J ) = "=" THEN LET K = J
0990 NEXT
1000 IF K = 0 THEN
1010 LET S3$ ( A ) = "QWZQ" F$ ( A ) = "=" , Q1$
1020 ELSE
1030 LET S3$ ( A ) = Q1$ ( 1 , K - 1 ) F$ ( A ) = Q1$ ( K , L )
1040 ENDIF
1050 NEXT
1060 LET N = A
1070 PRINT "HVIS DU 0NSKER AT RETTE I SYMBOLER OG/ELLER FORMLER, INDTAST 0."
1080 PRINT "ELLERS ET VILKAARLIGT ANDET TAL."
1090 INPUT R
1100 IF R = 0 THEN EXEC RET
1110 EXEC GEM
1120 ELSE
1130 PRINT "HVIS DU 0NSKER AT RETTE, INDTAST ET TAL FORSKELLIGT FRA 0."
1140 INPUT "ELLERS INDTAST 0. " , R
1150 IF R = 0 THEN GOTO 1300
1160 DIM S1$ ( M , 10 ) , B1$ ( M , 75 ) , S2$ ( N , 10 ) , B2$ ( N , 75 ) , S3$ ( N , 10 ) , F$ ( N , 75 )
1170 OPEN FILE ( 0 , 1 ) "PRNT"
1180 FOR I = 1 TO M
1190 READ FILE ( 0 ) S1$ ( I ) , B1$ ( I )
1200 NEXT
1210 FOR I = 1 TO N
1220 READ FILE ( 0 ) S2$ ( I ) , B2$ ( I )
1230 NEXT
1240 FOR I = 1 TO N
1250 READ FILE ( 0 ) S3$ ( I ) , F$ ( I )
1260 NEXT
1270 CLOSE FILE ( 0 )
1280 EXEC RET
1290 EXEC GEM
1300 ENDIF
1310 CHAIN "CALC"
1320 END «nul»
1330 PROC FILWORK
1340 DATA "810" , "1" , "820" , "2" , "830" , "3" , "840" , "4" , "850" , "5"
1350 DATA "860" , "6" , "870" , "7" , "880" , "8" , "890" , "9" , "900" , "10"
1360 DATA "910" , "1" , "915" , "920" , "2" , "925" , "930" , "3" , "935"
1370 DATA "940" , "4" , "945" , "950" , "5" , "955"
1380 DIM LNUM$ ( 3 ) , I$ ( 2 )
1390 ENDPROC
1400 PROC RET
1410 PRINT "INDTAST S, HVIS DU 0NSKER AT RETTE ET SYMBOL. F, HVIS DU 0N-"
1420 PRINT "SKER AT AENDRE I EN FORMEL."
1430 INPUT Q1$
1440 IF ( Q1$ <> "S" ) * ( Q1$ <> "F" ) THEN GOTO 1430
1450 IF Q1$ = "S" THEN
1460 INPUT "INDTAST DET SYMBOL, DER 0NSKES RETTET." , Q2$
1470 FOR I = 1 TO M
1480 IF Q2$ = S1$ ( I ) THEN
1485 LET C = 0
1490 INPUT "NYE SYMBOL: " , S1$ ( I )
1500 INPUT "SYMBOLETS BETYDNING: " , B1$ ( I )
1510 ENDIF
1520 NEXT
1530 FOR I = 1 TO N
1540 IF Q2$ = S2$ ( I ) THEN
1550 INPUT "NYE SYMBOL: " , S2$ ( I )
1560 INPUT "SYMBOLETS BETYDNING: " , B2$ ( I )
1570 ENDIF
1580 NEXT
1590 ELSE
1600 PRINT "INDTAST FORMLEN/REGNEUDTRYKKETS NR. (DE NYE FORMLER KAN BE-"
1605 PRINT "NYTTES SAMMEN MED EVT. TIDLIGERE INDTASTEDE MAALERESULTATER)."
1610 INPUT I
1620 LET I = INT ( I )
1630 IF ( I < 1 ) + ( I > N ) THEN GOTO 1610
1640 INPUT "NYE FORMEL/UDTRYK: " , Q2$
1650 LET L = LEN ( Q2$ )
1660 LET K = 0
1670 FOR J = 1 TO L
1680 IF Q2$ ( J ) = "=" THEN LET K = J
1690 NEXT
1700 IF K = 0 THEN
1710 LET S3$ ( I ) = "QWZQ" F$ ( I ) = "=" , Q2$
1720 ELSE
1730 LET S3$ ( I ) = Q2$ ( 1 , K - 1 ) F$ ( I ) = Q2$ ( K , L )
1740 ENDIF
1750 ENDIF
1760 PRINT "HVIS DU 0NSKER AT RETTE MERE, INDTAST 0. ELLERS ET ANDET"
1770 INPUT "TAL. " , R
1780 IF R = 0 THEN GOTO 1410
1790 ENDPROC
1800 PROC GEM
1810 PRINT "DU KAN STADIG NAA AT FORTRYDE RETTELSERNE VED AT TRYKKE"
1820 INPUT "ESCAPE. ELLERS RETURN." , Q1$
1830 LET AFBRYD = 0
1840 OPEN FILE ( 0 , 3 ) "ANT"
1850 WRITE FILE ( 0 ) M , N , C
1860 CLOSE FILE ( 0 )
1870 RESTORE 0000
1880 OPEN FILE ( 0 , 3 ) "LGNN"
1890 OPEN FILE ( 1 , 3 ) "PRNT"
1900 FOR I = 1 TO M
1910 READ LNUM$ , I$
1920 WRITE FILE ( 0 ) LNUM$ , "LET" , S1$ ( I ) , "=XQZ5(" , I$ , ")" , "<13><10>"
1930 WRITE FILE ( 1 ) S1$ ( I ) , B1$ ( I )
1940 NEXT
1950 FOR I = 1 TO N
1960 WRITE FILE ( 1 ) S2$ ( I ) , B2$ ( I )
1970 NEXT
1980 FOR I = M + 1 TO 10
1990 READ LNUM$ , I$
2000 NEXT
2010 FOR I = 1 TO N
2020 READ LNUM$ , I$
2030 WRITE FILE ( 0 ) LNUM$ , "LET" , S3$ ( I ) , F$ ( I ) , "<13><10>"
2040 READ LNUM$
2050 WRITE FILE ( 0 ) LNUM$ , "LET YQZ5(" , I$ , ")=" , S3$ ( I ) , "<13><10>"
2060 WRITE FILE ( 1 ) S3$ ( I ) , F$ ( I )
2070 NEXT
2080 CLOSE FILE ( 0 )
2090 CLOSE FILE ( 1 )
2100 ENDPROC
2110 PROC OUTESC
2120 ON ESC THEN EXEC OUTESC
2130 IF AFBRYD THEN
2140 PRINT "PROGRAMMET AFBRUDT. DE GAMLE LIGNINGER OG DATA ER BEVARET."
2150 END «nul»:
2160 ENDIF
2170 ENDPROC
2180 LET S3$ ( I ) = "QWZQ=" F$ ( I ) = Q1$
2300 PROC OUTERR
2305 IF SYS ( 7 ) = 102 THEN GOTO 2330
2310 CLOSE
2315 CHAIN "RAPP" THEN GOTO 0110
2330 PRINT "PROGRAMMET SPAERRES AF EN ANDEN BRUGER. VAER VENLIG AT VENTE."
2340 PRINT
2350 INPUT "DU KAN FORS0GE IGEN VED AT TASTE RETURN." , Q1$
2360 CHAIN "RAPP" THEN GOTO 0110
2370 ENDPROC
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 0x02 G$
0x82 0xffff 0x02 Q$
0x83 0xffff 0x00 N
0x84 0xffff 0x00 M
0x85 0xffff 0x00 I
0x86 0xffff 0x00 FILWORK
0x87 0xffff 0x00 Q
0x88 0xffff 0x02 F$
0x89 0xffff 0x00 HJLP
0x8a 0xffff 0x00 IN2
0x8b 0xffff 0x00 RETL
0x8c 0xffff 0x00 GEML
0x8d 0xffff 0x00 R
0x8e 0xffff 0x02 K$
0x8f 0xffff 0x00 PRNT
0x90 0xffff 0x02 LNUM$
0x91 0xffff 0x02 I$
0x92 0xffff 0x00 IND
0x93 0xffff 0x00 RET
0x94 0xffff 0x00 GEM
0x95 0xffff 0x00 OUTESC
0x96 0xffff 0x00 WXEC
0x97 0xffff 0x00 AFBRYD
0x98 0xffff 0x00 LIAT
0x99 0xffff 0x02 Q1$
0x9a 0xffff 0x02 Q2$
0x9b 0xffff 0x02 S1$
0x9c 0xffff 0x02 B$
0x9d 0xffff 0x02 S2$
0x9e 0xffff 0x00 L
0x9f 0xffff 0x00 J
0xa0 0xffff 0x00 LT
0xa1 0xffff 0x00 S2
0xa2 0xffff 0x00 K
0xa3 0xffff 0x02 B2$
0xa4 0xffff 0x02 B1$
0xa5 0xffff 0x02 S3$
0xa6 0xffff 0x00 RFELE
0xa7 0xffff 0x00 LILIST
0xa8 0xffff 0x00 LIST100
0xa9 0xffff 0x00 LIS
0xaa 0xffff 0x00 C
0xab 0xffff 0x00 MNY
0xac 0xffff 0x00 A
0xad 0xffff 0x00 A0
0xae 0xffff 0x00 OUTERR
0xaf 0xffff 0x00 E
.magic = 0x4e32 .u_pas = 0x0941 // Length of UPAS in words .u_das = 0x0158 // Length of UDAS in words .u_dvs = 0x0158 // 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)