|
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: 4608 (0x1200) Types: COMAL_SAVE Names: »IB10«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files └─⟦this⟧ »/IB10«
SAVE filename: "IB10" 0010 REM (+ HOVEDPROGRAM UDVIKLET AF IB OLSEN - 1982 +)«nul» 0020 PRINT "<27>AF" 0030 PRINT "<27><12>" 0040 DELAY = 1 0050 PRINT TAB ( 10 ) ; "*** NUMERISK LOESNING AF ***" 0060 PRINT TAB ( 10 ) ; "** DIFFERINTIALLIGNINGER **" 0070 PRINT 0080 PRINT 0090 PRINT "PROGRAMMET KAN LØSE OP TIL TI FORSKELLIGE FØRSTEORDENS DIFFE-" 0100 PRINT "RINTIALLIGNINGER AF NUMERISK VEJ. RESULTATET KOMMER UD SOM EN GRA-" 0110 PRINT "FISK MODEL, HVOR SAMTLIGE LIGNINGER VIL BLIVE AFBILDET SOM FUNKTION" 0120 PRINT "AF PARAMETEREN AF PRAKTISKE FRUNDE HEDDER PARAMETEREN " 0130 PRINT " -T- OG FUNKTIONSVAERDIEN V(1....10)" 0140 PRINT "EKSEMPEL: " 0150 PRINT " DX/DT = (A + BY)X" 0160 PRINT " DY/DT = (CX + D)Y" 0170 PRINT "BLIVER:" 0180 PRINT " D(1)=(A+B*V(2))*V(1) *DT" 0190 PRINT " D(2)=(C*V(1)+D)*V(2) *DT" 0200 PRINT 0210 DIM DIF$ ( 30 ) 0220 INPUT "TAST -RETURN- NAR DU ER KLAR PAA OVERSTAAENDE !!" , DIF$ 0230 PRINT "<27><12>" 0240 DELAY = 1 0250 INPUT "INDTAST ANTAL DIFFERINTIALLIGNINGER : " , NUMDIF 0255 EXEC START 0260 CREATE "GEM" , 0 0270 EXEC FILWORK 0280 FOR I = 1 TO NUMDIF 0290 ON ERR THEN GOTO 0330 0300 OPEN FILE ( 0 , 3 ) "GEM" 0310 OPEN FILE ( 0 , 3 ) "GEM" 0330 ON ERR THEN GOTO 0370 0340 PRINT "INDTAST D(" ; I ; ") = " ; 0350 INPUT "" , DIF$ 0355 READ FIR$ , NEX$ 0360 WRITE FILE ( 0 ) " " , FIR$ , "LET D(" , NEX$ , ")=" , DIF$ , "<13><10>" 0370 CLOSE 0380 ENTER "GEM" 0390 IF SYS ( 7 ) <> 42 THEN PRINT "DER ER FEJL I LIGNINGEN,. PROEV IGEN!" 0400 IF SYS ( 7 ) <> 42 THEN GOTO 0290 0410 PRINT "INDTAST STARTVAERDIEN FOR V(" ; I ; "): " ; 0420 INPUT "" , V ( I ) 0430 NEXT 0432 CLOSE 0434 DELETE "GEM" 0435 ON ERR THEN STOP «nul» 0440 DIM STEPV ( NUMDIF ) , MINV ( NUMDIF ) , A1 ( NUMDIF ) , A2 ( NUMDIF ) , A3 ( NUMDIF ) 0450 INPUT "INDTAST PARAMETEREMNS START- OG SLUT- VAERDI : " , TBEGIN , TEND 0460 LET DT = ( TEND - TBEGIN ) / 100 0470 FOR I = 1 TO NUMDIF 0480 LET VBEGIN ( I ) = V ( I ) 0490 NEXT 0500 FOR T = TBEGIN TO TEND STEP DT 0510 EXEC MODEL 0520 FOR I = 1 TO NUMDIF 0530 LET V ( I ) = V ( I ) + D ( I ) 0540 IF V ( I ) > A1 ( I ) THEN LET A1 ( I ) = V ( I ) 0550 IF V ( I ) < A2 ( I ) THEN LET A2 ( I ) = V ( I ) 0560 NEXT 0570 NEXT 0580 FOR I = 1 TO NUMDIF 0590 WHILE A1 ( I ) > 10 AND A2 ( I ) < - 10 DO 0600 LET A1 ( I ) = A1 ( I ) / 10 A2 ( I ) = A2 ( I ) / 10 A3 ( I ) = A3 ( I ) + 1 0610 ENDWHILE 0620 NEXT 0630 LET ST = A1 ( 1 ) MI = A2 ( 1 ) 0640 FOR I = 2 TO NUMDIF 0650 IF A1 ( I ) > ST THEN LET ST = A1 ( I ) 0660 IF A2 ( I ) < MI THEN LET MI = A2 ( I ) 0670 NEXT 0680 FOR I = 1 TO NUMDIF 0690 LET A1 ( I ) = INT ( ST + 1 ) * 10 ^ A3 ( I ) 0700 LET MINV ( I ) = INT ( MI ) * 10 ^ A3 ( I ) 0710 NEXT 0720 EXEC RESTART 0730 LET S = 700 / ( ST - MI ) 0740 FOR I = 1 TO NUMDIF 0750 LET X = 25 + ( I - 1 ) * 50 0760 CALL "GRAPH" , X , 60 0770 CALL "OUTVECT" , X , 760 0780 CALL "OUTVECT" , X + 4 , 756 0790 CALL "OUTVECT" , X - 4 , 756 0800 CALL "OUTVECT" , X , 760 0810 CALL "GRAPH" , X - 25 , 760 0820 CALL "ALPHA" 0830 PRINT A1 ( I ) 0840 FOR J = 760 - S TO 60 STEP - S 0850 CALL "GRAPH" , X - 4 , J 0860 CALL "OUTVECT" , X + 4 , J 0870 NEXT 0880 CALL "GRAPH" , X - 25 , 45 0890 CALL "ALPHA" 0900 PRINT MINV ( I ) 0910 CALL "GRAPH" , X - 25 , 20 0920 CALL "ALPHA" 0930 PRINT "V(" ; I ; ")" 0940 NEXT 0950 LET Y = 60 0960 IF MI < 0 THEN LET Y = - MI * S + 60 0970 CALL "GRAPH" , X + 25 , Y 0980 CALL "OUTVECT" , 1150 , Y 0990 CALL "OUTVECT" , 1146 , Y - 4 1000 CALL "OUTVECT" , 1146 , Y + 4 1010 CALL "OUTVECT" , 1150 , Y 1020 CALL "GRAPH" , 1155 , Y 1030 CALL "ALPHA" 1040 PRINT "T" 1050 CALL "GRAPH" , 1135 , Y - 15 1060 CALL "ALPHA" 1070 PRINT TEND 1080 LET S = ( 1125 - X ) / ( TEND - TBEGIN ) J = X + 25 1090 IF TBEGIN < 0 THEN 1100 LET MI = J - TBEGIN * S 1110 CALL "GRAPH" , M1 , Y - 4 1120 CALL "OUTVECT" , MI , Y + 4 1130 CALL "GRAPH" , MI - 2 , Y - 19 1140 CALL "ALPHA" 1150 PRINT "0" 1160 ENDIF 1180 FOR I = 1 TO NUMDIF 1190 LET STEPV ( I ) = 700 / ( A1 ( I ) - MINV ( I ) ) 1200 NEXT 1210 EXEC RUNMODEL 1220 FOR I = 1 TO NUMDIF 1230 CALL "GRAPH" , 1150 , ( V ( I ) - MINV ( I ) ) * STEPV ( I ) + 53 1240 CALL "ALPHA" 1250 PRINT "V(" ; I ; ")" 1260 NEXT 1270 PRINT "<27>AF" 1280 END «nul» 1300 PROC MODEL 1310 LET D ( 1 ) = SIN ( V ( 1 ) ) * DT 1320 REM (*D2*)«nul» 1330 REM (*D3*)«nul» 1340 REM (*D4*)«nul» 1350 REM (*D5*)«nul» 1360 REM (*D6*)«nul» 1370 REM (*D7*)«nul» 1380 REM (*D8*)«nul» 1390 REM (*D9*)«nul» 1400 REM (*D10*)«nul») 1410 ENDPROC 1500 PROC FILWORK 1510 DATA "1310" , "1" , "1320" , "2" , "1330" , "3" 1520 DATA "1340" , "4" , "1350" , "5" , "1360" , "6" 1530 DATA "1370" , "7" , "1380" , "8" , "1390" , "1400" , "9" , "1410" , "10" 1540 DIM FIR$ ( 4 ) , NEX$ ( 2 ) 1550 ENDPROC 2000 PROC REPORT 2010 FOR I = 1 TO NUMDIF 2020 LET X = ( TLAST - TBEGIN ) * S + J Y = ( VLAST ( I ) - MINV ( I ) ) * STEPV ( I ) + 60 2030 CALL "GRAPH" , X , Y 2040 LET X = ( T - TBEGIN ) * S + J Y = ( V ( I ) - MINV ( I ) ) * STEPV ( I ) + 60 2050 CALL "OUTVECT" , X , Y 2060 NEXT 2070 ENDPROC +++REPORT+++«nul»
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] = 0x03c0 stack[1] = 0x0302 stack[2] = 0x02f9 stack[3] = 0x02f9 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# = 0x0084 Loop Top = 0x0398 To Val = 1 (0x41100000) Step Val = 1 (0x41100000) Var# = 0x0084 Loop Top = 0x0302 To Val = 1 (0x41100000) Step Val = 1 (0x41100000) 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 0xffff 0x00 0x81 0x0000 0x02 DIF$ 0x82 0x0012 0x00 NUMDIF 0x83 0xffff 0x00 FILWORK 0x84 0xffff 0x00 I 0x85 0xffff 0x00 V 0x86 0xffff 0x00 STEPV 0x87 0xffff 0x00 MINV 0x88 0xffff 0x00 A1 0x89 0xffff 0x00 A2 0x8a 0xffff 0x00 A3 0x8b 0xffff 0x00 TBEGIN 0x8c 0xffff 0x00 TEND 0x8d 0xffff 0x00 REPINT 0x8e 0xffff 0x00 VBEGIN 0x8f 0xffff 0x00 T 0x90 0xffff 0x00 MODEL 0x91 0xffff 0x00 D 0x92 0xffff 0x00 ENDWHILW 0x93 0xffff 0x00 ST 0x94 0xffff 0x00 MI 0x95 0xffff 0x00 RESTART 0x96 0xffff 0x00 S 0x97 0xffff 0x00 X 0x98 0xffff 0x00 J 0x99 0xffff 0x00 Y 0x9a 0xffff 0x00 M1 0x9b 0xffff 0x00 RUNMODEL 0x9c 0xffff 0x00 REPORT 0x9d 0xffff 0x00 TLAST 0x9e 0xffff 0x00 VLAST 0x9f 0xffff 0x02 FIRST$ 0xa0 0xffff 0x02 FIR$ 0xa1 0xffff 0x02 NEX$ 0xa2 0xffff 0x00 ENDF 0xa3 0xffff 0x00 DT 0xa4 0xffff 0x00 LIDST 0xa5 0xffff 0x00 TT 0xa6 0xffff 0x00 START
.magic = 0x4e32 .u_pas = 0x06b4 // Length of UPAS in words .u_das = 0x013f // Length of UDAS in words .u_dvs = 0x012b // Start på savede variabel indhold (word adr) .u_nds = 0x01eb // Address på næste prog.sætning (word adr) .u_cps = 0x01d3 // 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)