DataMuseum.dk

Presents historical artifacts from the history of:

RegneCentralen RC3600/RC7000

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about RegneCentralen RC3600/RC7000

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦88a577b13⟧ COMAL_SAVE

    Length: 8134 (0x1fc6)
    Types: COMAL_SAVE

Derivation

└─⟦d85593a46⟧ Bits:30000470 DOMUS disk image - User files
    └─ ⟦6224a648f⟧ »/SØM« 
        └─⟦this⟧ 

UPAS Segment

SAVE filename: "SØM"

 0010 REM   ***  DATO : 30.04. 1982  ***«nul» 
 0020 REM   ***  KLASSE : 2.Y  ***«nul» 
 0030 REM   *** DATA - SPECIALE ***«nul»
 0040 REM   * UDARBEJDET AF FILIP STENHOLDT ,«nul»
 0050 REM     SØREN PETERSEN OG HENRIK VILHELMSEN *«nul»
 0060 PRINT "<11>"
 0070 PRINT "  * FORSØMMELSES - REGISTRERING *"
 0080 DIM S$ ( 2 ) , FA$ ( 13 , 5 ) , NF$ ( 13 , 5 ) , NR ( 28 )
 0090 PRINT
 0100 PRINT "ER DER PÅ NUVÆRENDE TIDSPUNKT INDKODET EN KLASSE I FILEN ?"
 0110 INPUT "JA ELLER NEJ ?  " , S$
 0120 PRINT
 0130 IF S$ = "JA" THEN
 0140   GOTO 0270
 0150 ELSE 
 0160   REM  * INDKODNING AF ELEVER *«nul»
 0170   DIM NAVN$ ( 28 , 30 ) , NUM ( 28 ) , FAG ( 28 , 13 )
 0180   INPUT "HVOR MANGE ELEVER ER DER I KLASSEN ?  " , A
 0190   IF A = 1 THEN
 0200     PRINT "INDTAST ELEVENS NUMMER OG NAVN :"
 0210   ELSE 
 0220     PRINT "INDTAST ELEVERNES NUMRE OG NAVNE :"
 0230   ENDIF 
 0240   FOR N = 1 TO A
 0250     INPUT NUM ( N ) , NAVN$ ( N )
 0260   NEXT 
 0270 ENDIF 
 0280 PRINT "HVIS DER ØNSKES EN OVERSIGT SKRIVES 1. HVIS DER ØNSKES EN A-"
 0290 INPUT "JOUR-FØRING AF FORSØMMELSERNE SKRIVES 2. : " , C
 0300 REM  * OVERSKRIFTEN INDLÆSES I NF$ - FILEN *«nul»
 0310 DATA "DA." , "KE." , "FY." , "MA." , "GE." , "OLD." , "DATA" , "MU."
 0320 DATA "FORM." , "FR." , "GYM." , "RE." , "HI."
 0330 RESTORE 0000
 0340 FOR OS = 1 TO 13
 0350   READ NF$ ( OS )
 0360 NEXT 
 0370 IF C = 2 THEN GOTO 0700
 0380 PRINT
 0390 REM  * OVERSIGT *«nul»
 0400 LET B = INT ( A / 2 + 0.5 )
 0410 FOR L = 1 TO B
 0420   PRINT "## ##############################   " , NUM ( L ) , NAVN$ ( L ) ;
 0430   IF NUM ( L + B ) = 0 THEN GOTO 0450
 0440   PRINT "## ##############################" , NUM ( L + B ) , NAVN$ ( L + B )
 0450 NEXT 
 0460 PRINT
 0470 PRINT
 0480 PRINT "NR. " ;
 0490 FOR Q = 1 TO 13
 0500   PRINT NF$ ( Q ) ; " " ;
 0510   IF Q = 13 THEN PRINT "IALT."
 0520 NEXT 
 0530 PRINT "------------------------------------------------------------------"
 0540 FOR M = 1 TO A
 0550   LET IALT = 0
 0560   FOR AL = 1 TO 13
 0570     LET IALT = IALT + FAG ( M , AL )
 0580   NEXT 
 0590   PRINT "##  ##  ##  ##  ##  " , NUM ( M ) , FAG ( M , 1 ) , FAG ( M , 2 ) , FAG ( M , 3 ) , FAG ( M , 4 ) ;
 0600   PRINT "##   ##   ##  ##   ##" , FAG ( M , 5 ) , FAG ( M , 6 ) , FAG ( M , 7 ) , FAG ( M , 8 ) , FAG ( M , 9 ) ;
 0610   PRINT "   ##   ##  ##  ##   ###" , FAG ( M , 10 ) , FAG ( M , 11 ) , FAG ( M , 12 ) , FAG ( M , 13 ) , IALT
 0620 NEXT 
 0630 PRINT
 0640 INPUT "SKAL DER NU FORETAGES EN A-JOUR-FØRING ? " , S$
 0650 IF S$ = "JA" THEN
 0660   GOTO 0690
 0670 ELSE 
 0680   STOP «nul» 
 0690 ENDIF 
 0700 PRINT
 0710 REM  * A-JOUR-FØRING *«nul»
 0720 PRINT "SKAL DER FORETAGES RETTELSER FOR HELE KLASSEN ELLER KUN FOR"
 0730 PRINT "ENKELTE ELEVER I DENNE ?"
 0740 INPUT "1 = EN ENKELT ELEV ; 2 = FLERE ELEVER ; 3 = HELE KLASSEN. : " , D
 0750 ON D THEN GOTO 0760 , 0790 , 0850
 0760 PRINT
 0770 INPUT "HVAD ER ELEVENS NUMMER ? " , E
 0780 IF D = 1 THEN GOTO 0880
 0790 PRINT
 0800 INPUT "HVOR MANGE ELEVER SKAL DER FORETAGES RETTELSER FOR ? " , R
 0810 PRINT "HVAD ER ELEVERNES NUMRE ?"
 0820 FOR S = 1 TO R
 0830   INPUT NR ( S ) ;
 0840 NEXT 
 0850 PRINT
 0860 PRINT "RETTELSERNE FORETAGES FOR ET FAG AD GANGEN (LODRET)."
 0870 PRINT
 0880 INPUT "I HVOR MANGE FAG SKAL RETTELSERNE FORETAGES ? " , F
 0890 PRINT "HVILKE/ET ?  (BRUG FORKORTELSER !)."
 0900 FOR O = 1 TO F
 0910   INPUT FA$ ( O ) ;
 0920 NEXT 
 0930 PRINT
 0940 PRINT
 0950 PRINT "DE NYE FORSØMMELSER INDKODES. DE ADDERES AUTOMATISK TIL DE FORRIGE !"
 0960 IF D = 2 THEN GOTO 1190
 0970 IF D = 3 THEN GOTO 1390
 0980 REM  ** SPECIELT FOR EN ELEV **«nul»
 0990 REM  * SØGNING EFTER ELEVENS NAVN *«nul»
 1000 LET NA = 0
 1010 REPEAT 
 1020   LET NA = NA + 1
 1030 UNTIL NUM ( NA ) = E
 1040 PRINT
 1050 PRINT NAVN$ ( NA ) ; " :"
 1060 PRINT
 1070 FOR P = 1 TO F
 1080   PRINT "RETTELSE FOR " ; FA$ ( P ) ;
 1090   INPUT G
 1100   LET NY = 0
 1110   REPEAT 
 1120     LET NY = NY + 1
 1130     IF NY = 14 THEN LET NY = 1
 1140   UNTIL NF$ ( NY ) = FA$ ( P )
 1150   LET FAG ( NA , NY ) = FAG ( NA , NY ) + G
 1160 NEXT 
 1170 GOTO 1540
 1180 REM  ** SPECIELT FOR FLERE ELEVER **«nul»F
 1190 FOR T = 1 TO F
 1200   PRINT
 1210   PRINT "RETTELSE FOR " ; FA$ ( T )
 1220   PRINT
 1230   FOR U = 1 TO R
 1240     LET NA = 0 ; G = 0 ; NY = 0
 1250     REPEAT 
 1260       LET NA = NA + 1
 1270     UNTIL NR ( U ) = NUM ( NA )
 1280     PRINT NAVN$ ( NA ) ; " : " ;
 1290     INPUT G
 1300     REPEAT 
 1310       LET NY = NY + 1
 1320       IF NY = 14 THEN LET NY = 1
 1330     UNTIL NF$ ( NY ) = FA$ ( T )
 1340     LET FAG ( NA , NY ) = FAG ( NA , NY ) + G
 1350   NEXT 
 1360 NEXT 
 1370 GOTO 1540
 1380 REM  ** SPECIELT FOR HELE KLASSEN **«nul»F
 1390 FOR V = 1 TO F
 1400   PRINT
 1410   PRINT "RETTELSE FOR " ; FA$ ( V )
 1420   PRINT
 1430   FOR H = 1 TO A
 1440     LET G = 0 ; NY = 0
 1450     PRINT NAVN$ ( H ) ;
 1460     INPUT G
 1470     REPEAT 
 1480       LET NY = NY + 1
 1490       IF NY = 14 THEN LET NY = 1
 1500     UNTIL NF$ ( NY ) = FA$ ( V )
 1510     LET FAG ( H , NY ) = FAG ( H , NY ) + G
 1520   NEXT 
 1530 NEXT 
 1540 PRINT
 1550 INPUT "ØNSKES DER HEREFTER EN OVERSIGT ? " , S$
 1560 IF S$ = "JA" THEN GOTO 0380
 1570 STOP «nul» 

UDAS Segment

    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# = 0x067d
      Loop Top = 0x0573
      To Val = 6.67986e-71   (0x067605de)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 0   (0x00000000)
      Var# = 0x0000
      Loop Top = 0x0000
      To Val = 1.54427e-84   (0x00000003)
      Step Val = 3.37355e-80   (0x00010001)
      Var# = 0x0001
      Loop Top = 0x0000
      To Val = 0   (0x00000000)
      Step Val = 3.3735e-80   (0x00010000)
      Var# = 0x0087
      Loop Top = 0x02fc
      To Val = 18   (0x42120000)
      Step Val = 1   (0x41100000)
      Var# = 0x009b
      Loop Top = 0x0309
      To Val = 13   (0x41d00000)
      Step Val = 1   (0x41100000)
      Var# = 0x00a6
      Loop Top = 0x065f
      To Val = 6   (0x41600000)
      Step Val = 1   (0x41100000)
    REPEAT-UNTIL stack pointer = 0x0087
      stack[0] = 0x02e8
      stack[1] = 0x4160
      stack[2] = 0x0000
      stack[3] = 0x4110
      stack[4] = 0x0000
      stack[5] = 0x009b
      stack[6] = 0x02f5
    WHILE-ENDWHILE stack pointer = 0x41d0
      stack[0] = 0x0000
      stack[1] = 0x4110
      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 0x00fd 0x03 NAVN$
    0x82 0x02f8 0x01 NUM
    0x83 0x0796 0x00 A
    0x84 0x0798 0x00 N
    0x85 0x034f 0x01 FAG
    0x86 0x07a0 0x00 L
    0x87 0x07a4 0x00 M
    0x88 0x079a 0x00 B
    0x89 0xffff 0x00 KO
    0x8a 0xffff 0x00 JA
    0x8b 0x079c 0x00 C
    0x8c 0x07aa 0x00 D
    0x8d 0xffff 0x00 E
    0x8e 0x0000 0x02 S$
    0x8f 0x0004 0x03 FA$
    0x90 0x07ac 0x00 F
    0x91 0x07ae 0x00 O
    0x92 0xffff 0x00 P
    0x93 0x07b4 0x00 G
    0x94 0x0055 0x03 NF$
    0x95 0x07a2 0x00 Q
    0x96 0x079e 0x00 OS
    0x97 0xffff 0x00 NA
    0x98 0xffff 0x00 UNTILL
    0x99 0x07b6 0x00 NY
    0x9a 0x07a6 0x00 IALT
    0x9b 0x07a8 0x00 AL
    0x9c 0xffff 0x00 HVOR
    0x9d 0xffff 0x02 SVAR$
    0x9e 0xffff 0x00 RU
    0x9f 0x00a6 0x01 NR
    0xa0 0xffff 0x00 R
    0xa1 0xffff 0x00 S
    0xa2 0xffff 0x00 T
    0xa3 0xffff 0x00 RUN10
    0xa4 0xffff 0x00 NF
    0xa5 0xffff 0x00 U
    0xa6 0x07b2 0x00 H
    0xa7 0xffff 0x00 I
    0xa8 0x07b0 0x00 V

Wrapper

.magic = 0x4e32
.u_pas = 0x06e7  // Length of UPAS in words
.u_das = 0x08ed  // Length of UDAS in words
.u_dvs = 0x0135  // Start på savede variabel indhold (word adr)
.u_nds = 0x03c0  // Address på næste prog.sætning (word adr)
.u_cps = 0x03bd  // 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 = 0x021c  // ON ESE (word adr)
.u_era = 0x0436  // ON ERR (word adr)
.u_cas = 0xffff  // CASE dybde
.u_las = 0xffff  // last (-1)