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