|
|
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: »INT1«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
└─⟦this⟧ »/LIB.INT1«
SAVE filename: "INT1"
0010 PRINT "<27><12>"
0020 DELAY = 1
0030 DIM Q$ ( 150 )
0040 ENTER "LGNN1"
0050 PRINT
0060 LET AFBRYD = 0
0070 ON ESC THEN EXEC OUTESC
0080 OPEN FILE ( 0 , 1 ) "DIM1"
0090 READ FILE ( 0 ) N , M
0100 CLOSE FILE ( 0 )
0110 DIM H ( M + ( M = 0 ) )
0120 DIM X ( N ) , DX ( N )
0130 DIM L ( 4 , N )
0140 OPEN FILE ( 1 , 1 ) "PRNT1"
0150 FOR I = 1 TO M + N
0160 READ FILE ( 1 ) Q$
0170 IF I <= M THEN PRINT "H(" ; I ; ")=" ; Q$
0180 IF I = M THEN PRINT
0190 IF I > M THEN PRINT "DX(" ; I - M ; ")=" ; Q$
0200 NEXT
0210 CLOSE FILE ( 1 )
0220 LET AFBRYD = 1
0230 PRINT
0240 PRINT "INDTAST BEGYNDELSESVAERDIER:"
0250 PRINT
0260 FOR I = 1 TO N
0270 PRINT "X(" ; I ; ")=" ;
0280 INPUT X ( I )
0310 NEXT
0320 PRINT
0330 INPUT "BEGYNDELSESVAERDIEN FOR T= " , TSTART
0340 INPUT "SLUTVAERDIEN FOR T= " , TSLUT
0350 IF TSLUT <= TSTART THEN GOTO 0340
0360 PRINT
0370 INPUT "STEPLAENGDE VED INTEGRATIONEN= " , DT
0380 IF DT <= 0 THEN GOTO 0370
0390 LET T = TSTART
0400 PRINT
0410 PRINT "VED TRYK PAA RETURN GAAR INTEGRATIONEN IGANG. MAN B0R IKKE S0GE"
0420 INPUT "AT AFBRYDE DEN UNDERVEJS. FORTRYDER DU, TRYK ESCAPE NU." , Q$
0430 LET AFBRYD = 0
0440 PRINT "INTEGRATIONEN ER IGANG."
0450 EXEC INTEG
0460 LET AFBRYD = 1
0470 PRINT
0480 PRINT "INTEGRATIONEN ER SLUT"
0490 PRINT "0NSKER DU RESULTATERNE UNDERS0GT GRAFISK, INDTAST 1."
0500 PRINT "0NSKER DU RESULTATERNE TABELLAGT, INDTAST 2."
0510 INPUT Q
0520 IF Q = 1 THEN CHAIN "NGRF1"
0530 IF Q = 2 THEN CHAIN "NTAB1"
0540 END «nul»
0800 PROC MODEL
0810 REM ** I LINIE 810 TIL 850«nul»
0820 REM ** SKRIVES HJAELPEFUNK-«nul»«nul»
0830 REM ** TIONERNE UNDER K0RS-«nul»«nul»
0840 REM ** LEN.«nul»R
0850 REM «nul»*
0860 REM ** I LINIE 860 TIL 940«nul»
0870 REM ** SKRIVES DIFFERENTIAL-«nul»
0880 REM ** LIGNINGERNE UNDER«nul»
0890 REM ** K0RSLEN.«nul»N
0900 REM «nul»*
0910 REM «nul»*
0920 REM «nul»*
0930 REM «nul»*
0940 REM «nul»*
0950 ENDPROC
1000 PROC INTEG
1020 ON ERR THEN EXEC OUTERR
1030 DELETE "STOR1"
1040 CREATE "STOR1" , INT ( ( N + 1 ) * ( TSLUT - TSTART ) / DT / 100 + 1 )
1050 OPEN FILE ( 0 , 3 ) "STOR1"
1060 WRITE FILE ( 0 ) TSLUT , TSTART
1070 FOR I = 1 TO N
1080 WRITE FILE ( 0 ) X ( I )
1090 NEXT
1095 REPEAT
1100 EXEC MODEL
1110 FOR I = 1 TO N
1130 LET L ( 1 , I ) = DX ( I )
1140 NEXT
1150 LET T = T + DT / 2
1160 FOR I = 1 TO N
1180 LET X ( I ) = X ( I ) + L ( 1 , I ) * DT / 2
1190 NEXT
1200 EXEC MODEL
1210 FOR I = 1 TO N
1230 LET L ( 2 , I ) = DX ( I )
1240 NEXT
1250 FOR I = 1 TO N
1270 LET X ( I ) = X ( I ) - L ( 1 , I ) * DT / 2 + L ( 2 , I ) * DT / 2
1280 NEXT
1290 EXEC MODEL
1300 FOR I = 1 TO N
1320 LET L ( 3 , I ) = DX ( I )
1330 NEXT
1340 LET T = T + DT / 2
1350 FOR I = 1 TO N
1370 LET X ( I ) = X ( I ) - L ( 2 , I ) * DT / 2 + L ( 3 , I ) * DT
1380 NEXT
1390 EXEC MODEL
1400 FOR I = 1 TO N
1420 LET L ( 4 , I ) = DX ( I )
1430 NEXT
1440 FOR I = 1 TO N
1460 LET X ( I ) = X ( I ) + ( L ( 1 , I ) / 6 + L ( 2 , I ) / 3 - L ( 3 , I ) * 2 / 3 + L ( 4 , I ) / 6 ) * DT
1470 NEXT
1480 WRITE FILE ( 0 ) T
1490 FOR I = 1 TO N
1500 WRITE FILE ( 0 ) X ( I )
1510 NEXT
1520 UNTIL T >= TSLUT
1530 CLOSE FILE ( 0 )
1540 ENDPROC
2000 PROC OUTESC
2010 ON ESC THEN EXEC OUTESC
2020 IF AFBRYD THEN
2030 PRINT
2040 PRINT "PROGRAMMET AFBRUDT"
2050 END «nul»
2060 ENDIF
2070 ENDPROC
2080 PROC OUTERR
2090 IF SYS ( 7 ) = 100 THEN GOTO 2240
2100 CLOSE
2110 DELETE "STOR1"
2120 CREATE "STOR1" , INT ( ( N + 1 ) * ( TSLUT - TSTART ) / DT / 100 + 1 )
2130 IF ( SYS ( 7 ) = 16 ) + ( SYS ( 7 ) = 34 ) THEN
2140 PRINT
2150 PRINT "DER ER OPSTAAET FEJL UNDER INTEGRATIONEN. UNDERS0G OM DINE FUNK-"
2155 PRINT "TIONER ER VELDEFINEREDE I HELE T-INTERVALLET."
2160 PRINT "AF PROGRAMTEKNISKE GRUNDE ER BEREGNINGERNE SLETTET."
2170 ENDIF
2180 IF ( SYS ( 7 ) = 17 ) + ( SYS ( 7 ) = 31 ) + ( SYS ( 7 ) = 38 ) THEN
2190 PRINT
2200 PRINT "DER ER BENYTTET ET ELLER FLERE FORKERTE UDTRYK I LIGNINGERNE."
2210 PRINT "START FORFRA OG PR0V AT FINDE FEJLEN."
2220 ENDIF
2230 END «nul»%
2240 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 Q$
0x82 0xffff 0x00 N
0x83 0xffff 0x00 M
0x84 0xffff 0x00 H
0x85 0xffff 0x00 X
0x86 0xffff 0x00 DX
0x87 0xffff 0x00 D2X
0x88 0xffff 0x00 K
0x89 0xffff 0x00 L
0x8a 0xffff 0x00 I
0x8b 0xffff 0x00 PRHINT
0x8c 0xffff 0x00 TSTART
0x8d 0xffff 0x00 TSLUT
0x8e 0xffff 0x00 DT
0x8f 0xffff 0x00 T
0x90 0xffff 0x00 INTEG
0x91 0xffff 0x00 Q
0x92 0xffff 0x00 OUTESC
0x93 0xffff 0x00 OUTERR
0x94 0xffff 0x00 CLSE
0x95 0xffff 0x00 PN
0x96 0xffff 0x00 LIIS
0x97 0xffff 0x00 MODEL
0x98 0xffff 0x00 AFBRYD
0x99 0xffff 0x00 LIST400
0x9a 0xffff 0x00 LISS
0x9b 0xffff 0x00 LST
.magic = 0x4e32 .u_pas = 0x055e // Length of UPAS in words .u_das = 0x00f4 // Length of UDAS in words .u_dvs = 0x00f4 // 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)