|
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)