|
|
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: »IB2«
└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
└─⟦this⟧ »/IB2«
SAVE filename: "IB2" 0010 LET NUMDIF = 2 0020 EXEC START 0030 PROC MODEL 0040 LET D ( 1 ) = V ( 2 ) 0050 LET D ( 2 ) = - G - K * V ( 2 ) * ABS ( V ( 2 ) ) 0060 LET STOPCOND = V ( 1 ) < 0 0070 ENDPROC 0080 LET G = 9.8 K = 0.01 0090 LET V ( 1 ) = 0 V ( 2 ) = 50 0100 LET TEND = 1e+10 DTMIN = 1e-05 DTMAX = 1 0110 EXEC RUNMODEL 0120 PRINT "TID INDEN LANDIND : " ; T ; "SEK." 0130 END «nul» 9000 PROC RUNMODEL 9001 IF TBEGIN >= TEND THEN 9002 PRINT "ERROR: START-VAERDIEN ER STOERRE END SLUT-VAERDIEN" 9003 STOP «nul»4 9004 ENDIF 9005 LET ABSERROR = ABS ( ABSERROR ) RELERROR = ABS ( RELERROR ) 9006 LET DTMIN = ABS ( DTMIN ) DTMAX = ABS ( DTMAX ) DT = ABS ( DT ) 9007 IF DTMAX = 0 THEN LET DTMAX = TEND - TBEGIN 9008 IF DT = 0 THEN LET DT = DTMAX / 100 9009 IF DT > DTMAX THEN LET DT = DTMAX 9010 IF DTMIN = 0 THEN LET DTMIN = DT / 1000 9011 IF DT < DTMIN THEN LET DTMIN = DT 9012 IF RUNNO = 1 THEN 9013 LET T = TBEGIN NEXTREP = TBEGIN 9014 FOR I = 1 TO NUMDIF 9015 LET VBEGIN ( I ) = V ( I ) 9016 NEXT 9017 ELSE 9018 IF T >= TEND THEN EXEC RESTART 9019 ENDIF 9020 LET DTFULL = DT STOPCOND = 0 9021 EXEC MODEL 9022 IF ( REPINT > 0 AND NEXTREP = T ) OR REPINT = 0 THEN 9023 EXEC REPORT 9024 LET NEXTREP = T + REPINT 9025 ENDIF 9026 IF T >= TEND OR STOPCOND THEN GOTO 9055 9027 LET TLAST = T DT = DTFULL TNEXT = TLAST + DT 9028 IF TNEXT > TEND THEN 9029 LET TNEXT = TEND DT = TNEXT - TLAST 9030 ELSE 9031 IF TNEXT > NEXTREP AND REPINT > 0 THEN 9032 LET TNEXT = NEXTREP DT = TNEXT - TLAST 9033 ENDIF 9034 ENDIF 9035 FOR I = 1 TO NUMDIF 9036 LET VLAST ( I ) = V ( I ) DLAST ( I ) = D ( I ) 9037 NEXT 9038 EXEC TAKESTEP 9039 WHILE NOT ERRORACC OR ( STOPCOND AND DT > DTMIN ) DO 9040 IF DT <= DTMIN THEN 9041 PRINT "ERROR: THE REQUESTED INTEGRATION ACCURACY" 9042 PRINT " CAN NOT BE ACHIEVED" 9043 STOP «nul» 9044 ENDIF 9045 LET DT = DT / 2 9046 IF DT < DTMIN THEN LET DT = DTMIN 9047 LET DTFULL = DT TNEXT = TLAST + DT 9048 EXEC TAKESTEP 9049 ENDWHILE 9050 IF ERRORLOW AND DT < DTMAX AND DT = DTFULL THEN 9051 LET DTFULL = 2 * DTFULL 9052 IF DTFULL > DTMAX THEN LET DTFULL = DTMAX 9053 ENDIF 9054 GOTO 9022 9055 LET RUNNO = RUNNO + 1 DT = DTFULL 9056 IF REPINT < 0 THEN LET NEXTREP = TEND 9057 ENDPROC ** KRUNMODEL ***«nul» 9058 PROC START 9059 DIM V ( NUMDIF ) , D ( NUMDIF ) , VLAST ( NUMDIF ) , DLAST ( NUMDIF ) , VBEGIN ( NUMDIF ) 9060 LET RUNNO = 1 DT = 0 DTMIN = 0 DTMAX = 0 TBEGIN = 0 TEND = 0 REPINT = - 1 9061 LET ABSERROR = 0 RELERROR = 0.0001 ERRORACC = 1 ERRORLOW = 0 9062 ENDPROC ** START ***«nul» 9063 PROC RESTART 9064 LET T = TBEGIN NEXTREP = TBEGIN 9065 FOR I = 1 TO NUMDIF 9066 LET V ( I ) = VBEGIN ( I ) 9067 NEXT 9068 ENDPROC ** RESTART ***«nul» 9500 PROC TAKESTEP 9501 DIM A1 ( NUMDIF ) , A2 ( NUMDIF ) , A3 ( NUMDIF ) , A4 ( NUMDIF ) , A5 ( NUMDIF ) 9502 FOR I = 1 TO NUMDIF 9503 LET TEMP = DT * DLAST ( I ) A1 ( I ) = TEMP 9504 LET V ( I ) = VLAST ( I ) + 0.25 * TEMP 9505 NEXT 9506 LET T = TLAST + 0.25 * DT 9507 EXEC MODEL 9508 FOR I = 1 TO NUMDIF 9509 LET TEMP = DT * D ( I ) A2 ( I ) = TEMP 9510 LET V ( I ) = VLAST ( I ) + ( 0.09375 * A1 ( I ) + 0.28125 * TEMP ) 9511 NEXT 9512 LET T = TLAST + 0.375 * DT 9513 EXEC MODEL 9514 FOR I = 1 TO NUMDIF 9515 LET TEMP = DT * D ( I ) A3 ( I ) = TEMP 9516 LET V ( I ) = VLAST ( I ) + ( 0.879381 * A1 ( I ) - 3.2772 * A2 ( I ) + 3.32089 * TEMP ) 9517 NEXT 9518 LET T = TLAST + 0.923077 * DT 9519 EXEC MODEL 9520 FOR I = 1 TO NUMDIF 9521 LET TEMP = DT * D ( I ) A4 ( I ) = TEMP 9522 LET DV = 2.03241 * A1 ( I ) - 8 * A2 ( I ) + 7.17349 * A3 ( I ) - 0.205897 * TEMP 9523 LET V ( I ) = VLAST ( I ) + DV 9524 NEXT 9525 LET T = TLAST + DT 9526 EXEC MODEL 9527 FOR I = 1 TO NUMDIF 9528 LET TEMP = DT * D ( I ) A5 ( I ) = TEMP 9529 LET DV = - 0.296296 * A1 ( I ) + 2 * A2 ( I ) - 1.38168 * A3 ( 1 ) 9530 LET V ( I ) = VLAST ( I ) + ( DV + 0.452973 * A4 ( I ) - 0.275 * TEMP ) 9531 NEXT 9532 LET T = TLAST + 0.5 * DT 9533 EXEC MODEL 9534 LET I = 1 ERRORACC = 1 ERRORLOW = 1 9535 WHILE I <= NUMDIF AND ERRORACC DO 9536 LET DV = 0.00277778 * A1 ( I ) - 0.0299415 * A3 ( I ) - 0.0291999 * A4 ( I ) 9537 LET IERROR = DV + 0.02 * A5 ( I ) + 0.0363636 * DT * D ( I ) 9538 LET DV = 0.115741 * A1 ( I ) + 0.548928 * A3 ( I ) + 0.535331 * A4 ( I ) - 0.2 * A5 ( I ) 9539 LET V ( I ) = VLAST ( I ) + DV + IERROR 9540 LET TEMP = ABSERROR + RELERROR * ABS ( V ( I ) ) IERROR = ABS ( IERROR ) 9541 LET ERRORACC = IERROR <= TEMP ERRORLOW = ERRORLOW AND IERROR < 0.02 * TEMP 9542 LET I = I + 1 9543 ENDWHILE 9544 LET T = TNEXT 9545 EXEC MODEL 9546 ENDPROC ** TAKESTEP ***«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 = 0x0003
stack[0] = 0x00ab
stack[1] = 0x01c7
stack[2] = 0x0302
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 = 1.55108e-74 (0x04070407)
Step Val = 0 (0x00000000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 3.3735e-80 (0x00010000)
Var# = 0x0000
Loop Top = 0x0000
To Val = 0 (0x00000000)
Step Val = 0 (0x00000000)
Var# = 0x008c
Loop Top = 0x02d5
To Val = 2 (0x41200000)
Step Val = 1 (0x41100000)
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 0xffff 0x00
0x81 0xffff 0x00 RUNMODEL
0x82 0x0037 0x00 TBEGIN
0x83 0x0039 0x00 TEND
0x84 0x003d 0x00 ABSERROR
0x85 0x003f 0x00 RELERROR
0x86 0x0033 0x00 DTMIN
0x87 0x0035 0x00 DTMAX
0x88 0x0031 0x00 DT
0x89 0x002f 0x00 RUNNO
0x8a 0x0049 0x00 T
0x8b 0x004b 0x00 NEXTREP
0x8c 0x004d 0x00 I
0x8d 0x0000 0x00 NUMDIF
0x8e 0x0026 0x01 VBEGIN
0x8f 0x0002 0x01 V
0x90 0xffff 0x00 RESTART
0x91 0xffff 0x00 DTTFULL
0x92 0x0051 0x00 STOPCOND
0x93 0xffff 0x00 MODEL
0x94 0x003b 0x00 REPINT
0x95 0xffff 0x00 REPORT
0x96 0x0053 0x00 TLAST
0x97 0x004f 0x00 DTFULL
0x98 0x0055 0x00 TNEXT
0x99 0x0014 0x01 VLAST
0x9a 0x001d 0x01 DLAST
0x9b 0x000b 0x01 D
0x9c 0xffff 0x00 TAKESTEP
0x9d 0x0041 0x00 ERRORACC
0x9e 0x0043 0x00 ERRORLOW
0x9f 0xffff 0x00 ENDIG
0xa0 0xffff 0x00 START
0xa1 0x0057 0x01 A1
0xa2 0x0060 0x01 A2
0xa3 0x0069 0x01 A3
0xa4 0x0072 0x01 A4
0xa5 0x007b 0x01 A5
0xa6 0x0084 0x00 TEMP
0xa7 0xffff 0x00 DV
0xa8 0xffff 0x00 IERROR
0xa9 0xffff 0x00 VLLAST
0xaa 0x0045 0x00 G
0xab 0x0047 0x00 K
0xac 0xffff 0x00 IEERO
.magic = 0x4e32 .u_pas = 0x048e // Length of UPAS in words .u_das = 0x01cf // Length of UDAS in words .u_dvs = 0x0149 // Start på savede variabel indhold (word adr) .u_nds = 0x004f // Address på næste prog.sætning (word adr) .u_cps = 0x02ff // 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)