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

⟦ca4b76ee9⟧ COMAL_SAVE

    Length: 9512 (0x2528)
    Types: COMAL_SAVE
    Notes: FORLIST , LIB::FORLIST
    Names: »FORLIST«

Derivation

└─⟦769c4124f⟧ Bits:30007877 (PROGRAM DISKETTE 80.04.08 (KOPI 2) OMRÅDER: LIB KEY: 1)
    └─⟦this⟧ 

UPAS Segment

SAVE filename: "FOLIST"

 0010 REM  PROGRAM NR. 28121980«nul»
 0020 REM  ----------------------------------------------------------------------- VARIABLER FOR ELEVDATA«nul»
 0030 DIM CPR$ ( 13 ) , ENAVN$ ( 14 ) , FNAVN$ ( 14 ) , MNAVN$ ( 14 ) , NAVN$ ( 42 )
 0040 REM  ----------------------------------------------------------------------- DIVERSE STRING VARIABLER«nul»
 0050 DIM FUNKVALG$ ( 2 ) , CHECKL$ ( 4 ) , KLTRIN$ ( 4 ) , BREV$ ( 2 ) , KLKODE$ ( 60 )
 0060 DIM KLASSE$ ( 10 ) , OMR]DE$ ( 2 ) , GREN$ ( 5 ) , M]NEDER$ ( 128 ) , M]NED$ ( 10 ) , XY$ ( 80 )
 0070 DIM GRENKODE$ ( 50 ) , HOLD$ ( 2 ) , OMR]DER$ ( 10 ) , GRENE$ ( 10 )
 0080 REM  ----------------------------------------------------------------------- NUMERISKE VARIABLER«nul»B
 0090 DIM ENRRNR ( 1 , 30 ) , GRENMAT ( 20 )
 0100 REM  ----------------------------------------------------------------------- TILDELING AF KONSTANTE VÆRDIER«nul»
 0110 LET XY$ = "`abcdefghij"
 0120 LET XY$ = XY$ , "klmnopqrst"
 0130 LET XY$ = XY$ , "uvwxyzæøå~"
 0140 LET XY$ = XY$ , "<127>"
 0150 LET XY$ = XY$ , "@ABCDEFGHIJKLMNOPQRSTUVWXYZÆØÅ^_"
 0160 LET XY$ = XY$ , " !<34>#$%&'()*+,-./"
 0170 REM  -----------------------------------------------------------------------TILDELING AF FUNKTIONER«nul»
 0180 DEF FNX ( VAR98 ) = [LVAR]  * 10 - 9
 0190 REM  -------------------------------------------------------------------------«nul»-
 0200 PROC BREVVALG
 0210   IF ]RPRO <= 15 THEN
 0220     IF M]NEDPRO >= 20 THEN
 0230       LET BREV$ = "A"
 0240     ELSE 
 0250       LET BREV$ = " "
 0260     ENDIF 
 0270   ELSE 
 0280     IF ]RPRO <= 20 THEN
 0290       LET BREV$ = "B"
 0300     ELSE 
 0310       LET BREV$ = "C"
 0320     ENDIF 
 0330   ENDIF 
 0340 ENDPROC REVVALG«nul»
 0350 REM  -------------------------------------------------------------------------«nul»-
 0360 PROC CONNKLAS
 0370   LET STED = 3
 0380   REPEAT 
 0390     CONNECT KLKODE$ ( STED , STED + 1 ) , 1
 0400     EXEC KLASL[S
 0410     LET STED = STED + 4
 0420     CLOSE
 0430   UNTIL STED = 43
 0440 ENDPROC ONNKLAS«nul»
 0450 REM  -------------------------------------------------------------------------«nul»-
 0460 PROC FORMAT
 0470   PAGE = 0
 0480   IF FORMTOP THEN
 0490     PRINT FILE ( 7 ) TAB ( 68 ) ; M]NED$ ;
 0500     PRINT FILE ( 7 ) "19##" , ]R
 0510     PRINT FILE ( 7 )
 0520     FOR I = 1 TO 2
 0530       PRINT FILE ( 7 ) "<14>         FORSØMMELSESLISTE FOR " ; KLASSE$ ; "<13>" ;
 0540     NEXT 
 0550     PRINT FILE ( 7 ) "<10>"
 0560     FOR I = 1 TO 2
 0570       PRINT FILE ( 7 ) "<14>    ----------------------------------" ; "<13>" ;
 0580     NEXT 
 0590     PRINT FILE ( 7 ) "<10><10>"
 0600     PRINT FILE ( 7 ) ; TAB ( 30 ) ;
 0610     PRINT FILE ( 7 ) "######       ! forsm  utimer    måned%    år%   brev" , KLASSE$
 0620     PRINT FILE ( 7 ) "-------------------------------------------+---------------------------------------"
 0630     PRINT FILE ( 7 ) ; TAB ( 43 ) ; "!"
 0640   ELSE 
 0650     IF NOT TERMINAT THEN
 0660       LET NAVN$ = ENAVN$ , ", " , FNAVN$ , MNAVN$
 0670       PRINT FILE ( 7 ) TAB ( 6 ) ;
 0680       PRINT FILE ( 7 ) "## ###############################    ! ###     ####     ###%    ###%     #" , NR , NAVN$ , PJ[K , TIMER , M]NEDPRO , ]RPRO , BREV$
 0690       PRINT FILE ( 7 ) "-------------------------------------------+---------------------------------------"
 0700     ELSE 
 0710       PRINT FILE ( 7 ) "<10>"
 0720       FOR I = 1 TO 2
 0730         PRINT FILE ( 7 ) "<14>    ----------------------------------" ; "<13>" ;
 0740       NEXT 
 0750       PRINT FILE ( 7 ) "<12>"
 0760     ENDIF 
 0770   ENDIF 
 0780 ENDPROC NFORMAT«nul»
 0790 REM  -------------------------------------------------------------------------«nul»-
 0800 PROC CONNOM
 0810   LET KLASSE$ = CHECKL$ ( 1 ) , GRENE$
 0820   PRINT "<134>" ; XY$ ( 57 ) ; XY$ ( 1 ) ; "FOR " ; KLASSE$ ; "<30>"
 0830   LET T[LLER1 = 1 T[LLER2 = 2 FORTS[T = 1
 0840   WHILE T[LLER1 <= LEN ( OMR]DER$ ) DO
 0850     LET T[LLER2 = 2
 0860     WHILE T[LLER2 <= LEN ( KLKODE$ ) AND FORTS[T DO
 0870       IF KLKODE$ ( T[LLER2 ) = OMR]DER$ ( T[LLER1 ) THEN
 0880         LET OMR]DE$ = KLKODE$ ( T[LLER2 + 1 , T[LLER2 + 2 ) FORTS[T = 0
 0890       ENDIF 
 0900       LET T[LLER2 = T[LLER2 + 4
 0910     ENDWHILE
 0920     IF T[LLER1 = 1 THEN
 0930       LET OMGANG = 1
 0940     ELSE 
 0950       LET OMGANG = 0
 0960     ENDIF 
 0970     CLOSE
 0980     CONNECT OMR]DE$ , 1
 0990     EXEC DATAS\GE
 1000     LET T[LLER1 = T[LLER1 + 1 FORTS[T = 1
 1010   ENDWHILE
 1020   LET TERMINAT = 1
 1030   EXEC FORMAT
 1040   CLOSE
 1050   PRINT "<134>" ; XY$ ( 57 ) ; XY$ ( 1 ) ; "<30>"
 1060 ENDPROC ONNOM«nul»
 1070 REM  -------------------------------------------------------------------------«nul»-
 1080 PROC DISKONT
 1090   REPEAT 
 1100     LET OK = 1
 1110     CONNECT "OVERSIGT" , 1
 1120     OPEN FILE ( 1 , 0 ) "KL-KODE"
 1130     OPEN FILE ( 2 , 1 ) "GRENKODE"
 1140     READ FILE ( 1 , 1 ) KLKODE$
 1150     READ FILE ( 1 , 2 ) KLTRIN$
 1160     READ FILE ( 2 ) GRENKODE$
 1170     MAT READ FILE ( 2 ) GRENMAT
 1180     CLOSE
 1190     IF KLTRIN$ <> CHECKL$ THEN
 1200       RELEASE 
 1210       PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 1220       LET OK = 0
 1230       PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ; "DISKETTE <34>" ; KLTRIN$ ; "<34> ER INDSAT I FD0"
 1240       PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 10 ) ; "DISKETTE <34>" ; CHECKL$ ; "<34> SKAL INDSÆTTES I FD0"
 1250       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 13 ) ; "TAST FØLGENDE :"
 1260       PRINT "<134>" ; XY$ ( 43 ) ; XY$ ( 14 ) ; "-------------------"
 1270       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 16 ) ; "1. LOCK<34>$FD0"
 1280       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 18 ) ; "2. SKIFT DISKETTERNE UD"
 1290       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 20 ) ; "3. INIT<34>$FD0"
 1300       PRINT "<134>" ; XY$ ( 45 ) ; XY$ ( 22 ) ; "4. CON"
 1310       PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 12 ) ;
 1320       STOP «nul» 
 1330     ELSE 
 1340     ENDIF 
 1350   UNTIL OK
 1360 ENDPROC ISKONT«nul»
 1370 REM  -------------------------------------------------------------------------«nul»-
 1380 PROC KLASL[S
 1390   OPEN FILE ( 1 , 0 ) "NR-GR-NA"
 1400   OPEN FILE ( 2 , 0 ) "NUMERISK"
 1410   OPEN FILE ( 4 , 1 ) "ENR-RNR."
 1420   OPEN FILE ( 7 , 11 ) "$LPT"
 1430   MAT READ FILE ( 4 ) ENRRNR
 1440   CLOSE FILE ( 4 )
 1450   LET FORMTOP = 1 T[LLER = 0 TERMINAT = 0 KONTROL = 0
 1460   REPEAT 
 1470     LET KONTROL = KONTROL + 1
 1480   UNTIL ENRRNR ( 1 , KONTROL ) >= 1 AND ENRRNR ( 1 , KONTROL ) <= 30 OR KONTROL = 30
 1490   PRINT "<134>" ; XY$ ( 57 ) ; XY$ ( 1 ) ; "FOR " ; KLKODE$ ( STED - 2 , STED - 1 )
 1500   IF KONTROL >= 1 AND KONTROL <= 30 AND ENRRNR ( 1 , KONTROL ) >= 1 AND ENRRNR ( 1 , KONTROL ) <= 30 THEN
 1510     LET KLASSE$ = KLKODE$ ( STED - 2 , STED - 1 )
 1520     EXEC FORMAT
 1530     LET FORMTOP = 0 OMGANG = 0
 1540     WHILE T[LLER <= 30 DO
 1550       IF T[LLER <= 29 THEN
 1560         REPEAT 
 1570           LET T[LLER = T[LLER + 1
 1580         UNTIL ( ENRRNR ( 1 , T[LLER ) <> 0 AND ENRRNR ( 1 , T[LLER ) < 100 ) OR T[LLER = 30
 1590         LET RNR = ENRRNR ( 1 , T[LLER )
 1600         IF RNR >= 1 AND RNR <= 30 AND T[LLER <= 30 THEN
 1610           READ FILE ( 1 , RNR ) NR , GREN$ , ENAVN$ , FNAVN$ , MNAVN$
 1620           READ FILE ( 2 , RNR ) PJ[K , SUMPJ[K , TIMER , SUMTIMER
 1630           IF TIMER <> 0 THEN
 1640             LET M]NEDPRO = ( PJ[K * 100 ) / TIMER ]RPRO = ( SUMPJ[K * 100 ) / SUMTIMER
 1650             EXEC BREVVALG
 1660           ELSE 
 1670             LET M]NEDPRO = 0 ]RPRO = 0
 1680           ENDIF 
 1690           EXEC FORMAT
 1700         ELSE 
 1710           LET T[LLER = 31
 1720         ENDIF 
 1730       ENDIF 
 1740     ENDWHILE
 1750     LET TERMINAT = 1
 1760     EXEC FORMAT
 1770   ENDIF 
 1780   CLOSE
 1790 ENDPROC LASLÆS«nul»
 1800 REM  -------------------------------------------------------------------------«nul»-
 1810 PROC DATAS\GE
 1820   IF OMGANG THEN
 1830     LET FORMTOP = 1 NR = 1
 1840   ELSE 
 1850     LET FORMTOP = 0
 1860   ENDIF 
 1870   LET TERMINAT = 0 KONTROL = 1
 1880   LET KLASSE$ = CHECKL$ ( 1 ) , GRENE$
 1890   OPEN FILE ( 1 , 0 ) "NR-GR-NA"
 1900   OPEN FILE ( 2 , 0 ) "NUMERISK"
 1910   OPEN FILE ( 3 , 1 ) "ENR-RNR."
 1920   OPEN FILE ( 7 , 11 ) "$LPT"
 1930   MAT READ FILE ( 3 ) ENRRNR
 1940   CLOSE FILE ( 3 )
 1950   IF OMGANG THEN EXEC FORMAT
 1960   LET FORMTOP = 0
 1970   WHILE KONTROL <= 30 AND ENRRNR ( 1 , KONTROL ) <> 0 DO
 1980     LET RNR = ENRRNR ( 1 , KONTROL )
 1990     IF RNR >= 1 AND RNR <= 30 THEN
 2000       READ FILE ( 1 , RNR ) CNR , GREN$
 2010       IF GREN$ ( LEN ( GREN$ ) ) = HOLD$ THEN
 2020         READ FILE ( 1 , RNR ) CNR , GREN$ , ENAVN$ , FNAVN$ , MNAVN$
 2030         READ FILE ( 2 , RNR ) PJ[K , SUMPJ[K , TIMER , SUMTIMER
 2040         IF TIMER <> 0 THEN
 2050           LET M]NEDPRO = ( PJ[K * 100 ) / TIMER ]RPRO = ( SUMPJ[K * 100 ) / SUMTIMER
 2060           EXEC BREVVALG
 2070           EXEC FORMAT
 2080           LET NR = NR + 1
 2090         ENDIF 
 2100       ENDIF 
 2110     ENDIF 
 2120     LET KONTROL = KONTROL + 1
 2130   ENDWHILE
 2140 ENDPROC ATASØGE«nul»
 2150 REM  -------------------------------------------------------------------------«nul»-
 2160 PROC GRENVALG
 2170   LET GREN = 1
 2180   REPEAT 
 2190     LET GRENE$ = GRENKODE$ ( GRENMAT ( GREN ) , GRENMAT ( GREN + 1 ) - 1 )
 2200     LET OMR]DER$ = GRENE$ ( 1 , LEN ( GRENE$ ) - 1 ) HOLD$ = GRENE$ ( LEN ( GRENE$ ) )
 2210     EXEC CONNOM
 2220     LET GREN = GREN + 1
 2230   UNTIL GRENMAT ( GREN + 1 ) = 0
 2240 ENDPROC RENVALG«nul»
 2250 REM  -------------------------------------------------------------------------«nul»«nul»
 2260 PROC INFORMAT
 2270   REPEAT 
 2280     PRINT "<140><134>" ; XY$ ( 13 ) ; XY$ ( 2 ) ; "------------------------------------------------------------"
 2290     PRINT "<134>" ; XY$ ( 23 ) ; XY$ ( 1 ) ; "UDSKRIVNING AF FORSØMMELSESLISTER"
 2300     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 5 ) ; "A :  RENE FORSØMMELSESLISTER FOR ALLE KLASSER"
 2310     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 7 ) ; "B :  RENE FORSØMMELSESLISTER FOR ENKELT KLASSETRIN"
 2320     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 9 ) ; "C :  RENE FORSØMMELSESLISTER FOR EN ENKELT KLASSE"
 2330     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 11 ) ; "D :  HOLD FORSØMMELSESLISTER FOR ALLE KLASSER"
 2340     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 13 ) ; "E :  HOLD FORSØMMELSESLISTER FOR ENKELT KLASSETRIN"
 2350     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 15 ) ; "F :  HOLD FORSØMMELSESLISTER FOR EN ENKELT KLASSE"
 2360     PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 17 ) ; "G :  TILBAGE TIL HOVEDOPLYSNING"
 2370     PRINT "<134>" ; XY$ ( 13 ) ; XY$ ( 20 ) ; "------------------------------------------------------------"
 2380     REPEAT 
 2390       PRINT "<134>" ; XY$ ( 26 ) ; XY$ ( 23 ) ;
 2400       INPUT "HVILKEN PROCEDURE VÆLGES : " , FUNKVALG$
 2410     UNTIL FUNKVALG$ >= "A" AND FUNKVALG$ <= "G"
 2420     CASE FUNKVALG$ OF
 2430       REM «nul»2
 2440     WHEN "A"
 2450       LET TRIN = 1
 2460       WHILE TRIN <= 3 DO
 2470         CASE TRIN OF
 2480           REM «nul»2
 2490         WHEN 1
 2500           LET CHECKL$ = "1.G"
 2510         WHEN 2
 2520           LET CHECKL$ = "2.G"
 2530         WHEN 3
 2540           LET CHECKL$ = "3.G"
 2550         ENDCASE «nul» 
 2560         EXEC DISKONT
 2570         EXEC CONNKLAS
 2580         LET TRIN = TRIN + 1
 2590       ENDWHILE
 2600     WHEN "B"
 2610       PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 2620       PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ;
 2630       INPUT "FOR HVILKET KLASSETRIN ØNSKES LISTERNE UDSKREVET : " , CHECKL$
 2640       EXEC DISKONT
 2650       EXEC CONNKLAS
 2660     WHEN "C"
 2670       PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 2680       REPEAT 
 2690         PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ;
 2700         INPUT "FORHVILKEN KLASSE ØNSKES LISTEN UDSKREVET : " , KLASSE$
 2710       UNTIL KLASSE$ ( 1 ) >= "1" AND KLASSE$ ( 1 ) <= "3" OR KLASSE$ ( 1 ) = "I"
 2720       WHILE KLASSE$ ( 1 , 2 ) <> "IN" DO
 2730         LET CHECKL$ = KLASSE$ ( 1 ) , ".G"
 2740         EXEC DISKONT
 2750         LET T[LLER = 1
 2760         WHILE T[LLER < LEN ( KLKODE$ ) DO
 2770           IF KLASSE$ ( 1 , 2 ) = KLKODE$ ( T[LLER , T[LLER + 1 ) THEN
 2780             LET OMR]DE$ = KLKODE$ ( T[LLER + 2 , T[LLER + 3 )
 2790             LET STED = T[LLER + 2 T[LLER = LEN ( KLKODE$ )
 2800           ENDIF 
 2810           LET T[LLER = T[LLER + 4
 2820         ENDWHILE
 2830         IF LEN ( OMR]DE$ ) = 0 THEN
 2840           PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ; "FEJL-INDTASTNING :<7><30>"
 2850           PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 9 ) ; KLASSE$ ; " INDEHOLDES IKKE I SYSTEMET <30>"
 2860           DELAY = 5
 2870           PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 2880         ELSE 
 2890           CONNECT OMR]DE$ , 1
 2900         ENDIF 
 2910         IF LEN ( OMR]DE$ ) <> 0 THEN EXEC KLASL[S
 2920         REPEAT 
 2930           PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ;
 2940           INPUT "FOR HVILKEN KLASSE ØNSKES LISTEN UDSKREVET : <30>" , KLASSE$
 2950         UNTIL KLASSE$ ( 1 ) >= "1" AND KLASSE$ ( 1 ) <= "3" OR KLASSE$ ( 1 ) = "I"
 2960       ENDWHILE
 2970     WHEN "D"
 2980       LET TRIN = 2
 2990       WHILE TRIN <= 3 DO
 3000         CASE TRIN OF
 3010           REM «nul»2
 3020         WHEN 2
 3030           LET CHECKL$ = "2.G"
 3040         WHEN 3
 3050           LET CHECKL$ = "3.G"
 3060         ENDCASE «nul» 
 3070         EXEC DISKONT
 3080         EXEC GRENVALG
 3090         LET TRIN = TRIN + 1
 3100       ENDWHILE
 3110     WHEN "E"
 3120       PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 3130       PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ;
 3140       INPUT "FOR HVILKET KLASSETRIN ØNSKES LISTERNE UDSKREVET : <30>" , CHECKL$
 3150       EXEC DISKONT
 3160       EXEC GRENVALG
 3170     WHEN "F"
 3180       REPEAT 
 3190         LET FORTS[TE = 0 SLUT = 0
 3200         PRINT "<134>" ; XY$ ( 1 ) ; XY$ ( 3 ) ; "<31>"
 3210         REPEAT 
 3220           REPEAT 
 3230             PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 8 ) ;
 3240             INPUT "FOR HVILKEN HOLDKLASSE ØNSKES LISTERNE UDSKREVET : <30>" , KLASSE$
 3250           UNTIL KLASSE$ ( 1 ) >= "1" AND KLASSE$ ( 1 ) <= "3" OR KLASSE$ ( 1 ) = "I"
 3260           IF KLASSE$ ( 1 ) <> "I" THEN
 3270             LET CHECKL$ = KLASSE$ ( 1 ) , ".G"
 3280             EXEC DISKONT
 3290             LET RYK = 1 FUNDET = 0
 3300             REPEAT 
 3310               IF GRENKODE$ ( GRENMAT ( RYK ) , GRENMAT ( RYK + 1 ) - 1 ) = KLASSE$ ( 2 , LEN ( KLASSE$ ) ) THEN
 3320                 LET OMR]DER$ = KLASSE$ ( 2 , LEN ( KLASSE$ ) - 1 ) HOLD$ = KLASSE$ ( LEN ( KLASSE$ ) )
 3330                 LET GRENE$ = KLASSE$ ( 2 , LEN ( KLASSE$ ) )
 3340                 LET FUNDET = 1
 3350               ENDIF 
 3360               LET RYK = RYK + 1
 3370             UNTIL GRENMAT ( RYK + 1 ) = 0 OR FUNDET
 3380             IF NOT FUNDET THEN
 3390               PRINT "<134>" ; XY$ ( 15 ) ; XY$ ( 15 ) ; KLASSE$ ; " EKSISTERER IKKE ! <7><30>"
 3400             ELSE 
 3410               LET FORTS[TE = 1
 3420             ENDIF 
 3430           ELSE 
 3440             LET SLUT = 1
 3450           ENDIF 
 3460         UNTIL FORTS[TE OR SLUT
 3470         IF NOT SLUT THEN
 3480           EXEC CONNOM
 3490         ENDIF 
 3500       UNTIL KLASSE$ ( 1 ) = "I"
 3510     ENDCASE «nul» 
 3520   UNTIL FUNKVALG$ = "G"
 3530 ENDPROC NFORMAT«nul»
 3540 REM  -------------------------------------------------------------------------«nul»«nul»
 3550 OPEN FILE ( 1 , 1 ) "NUTID"
 3560 READ FILE ( 1 ) ]R , M]NED , DATO
 3570 CLOSE FILE ( 1 )
 3580 OPEN FILE ( 1 , 1 ) "MÅNEDER"
 3590 READ FILE ( 1 ) M]NEDER$
 3600 CLOSE FILE ( 1 )
 3610 LET M]NED$ = M]NEDER$ ( FNX ( M]NED ) , FNX ( M]NED ) + 9 )
 3620 EXEC INFORMAT
 3630 CONNECT "LIB" , 1
 3640 PRINT "<29>"
 3650 ENTER "PROGVALG"

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 = 0x0212
    FNY definition = 0xffff
    FNZ definition = 0xffff
    FN[ definition = 0xffff
    FN\ definition = 0xffff
    FN] definition = 0xffff
    GOSUB-RETURN stack pointer = 0x0000
      stack[0] = 0x10cd
      stack[1] = 0x0ccd
      stack[2] = 0x02c2
      stack[3] = 0x08e9
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      Var# = 0x00b9
      Loop Top = 0x049e
      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)
      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] = 0x0ace
      stack[1] = 0x05f0
      stack[2] = 0x07d2
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    WHILE-ENDWHILE stack pointer = 0x0000
      stack[0] = 0x0c95
      stack[1] = 0x0842
      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] = 0x0001
      stack[2] = 0x0001
      stack[3] = 0x0001
      stack[4] = 0x0000
      stack[5] = 0x0001
      stack[6] = 0x0000
Variables:
    0x80 0xffff 0x00 
    0x81 0xffff 0x00 ]R
    0x82 0xffff 0x00 M]NED
    0x83 0xffff 0x00 DATO
    0x84 0xffff 0x02 M]NEDER$
    0x85 0xffff 0x02 M]NED$
    0x86 0xffff 0x00 INFORMAT
    0x87 0xffff 0x02 XY$
    0x88 0xffff 0x02 FUNKVALG$
    0x89 0xffff 0x00 TRIN
    0x8a 0xffff 0x02 CHECKL$
    0x8b 0xffff 0x00 DISKONT
    0x8c 0xffff 0x00 CONNKLAS
    0x8d 0xffff 0x02 KLASSE$
    0x8e 0xffff 0x00 T[LLER
    0x8f 0xffff 0x02 KLKODE$
    0x90 0xffff 0x02 OMR]DE$
    0x91 0xffff 0x00 STED
    0x92 0xffff 0x00 KLASL[S
    0x93 0xffff 0x00 GRENVALG
    0x94 0xffff 0x00 FORTS[TE
    0x95 0xffff 0x00 SLUT
    0x96 0xffff 0x00 RYK
    0x97 0xffff 0x00 FUNDET
    0x98 0xffff 0x02 GRENKODE$
    0x99 0xffff 0x00 GRENMAT
    0x9a 0xffff 0x02 OMR]DER$
    0x9b 0xffff 0x02 HOLD$
    0x9c 0xffff 0x02 GRENE$
    0x9d 0xffff 0x00 CONNOM
    0x9e 0xffff 0x00 GREN
    0x9f 0xffff 0x00 DATAS\GE
    0xa0 0xffff 0x00 OMGANG
    0xa1 0xffff 0x00 FORMTOP
    0xa2 0xffff 0x00 NR
    0xa3 0xffff 0x00 TERMINAT
    0xa4 0xffff 0x00 KONTROL
    0xa5 0xffff 0x00 ENRRNR
    0xa6 0xffff 0x00 FORMAT
    0xa7 0xffff 0x00 RNR
    0xa8 0xffff 0x00 CNR
    0xa9 0xffff 0x02 GREN$
    0xaa 0xffff 0x02 ENAVN$
    0xab 0xffff 0x02 FNAVN$
    0xac 0xffff 0x02 MNAVN$
    0xad 0xffff 0x00 PJ[K
    0xae 0xffff 0x00 SUMPJ[K
    0xaf 0xffff 0x00 TIMER
    0xb0 0xffff 0x00 SUMTIMER
    0xb1 0xffff 0x00 M]NEDPRO
    0xb2 0xffff 0x00 ]RPRO
    0xb3 0xffff 0x00 BREVVALG
    0xb4 0xffff 0x00 OK
    0xb5 0xffff 0x02 KLTRIN$
    0xb6 0xffff 0x00 T[LLER1
    0xb7 0xffff 0x00 T[LLER2
    0xb8 0xffff 0x00 FORTS[T
    0xb9 0xffff 0x00 I
    0xba 0xffff 0x02 NAVN$
    0xbb 0xffff 0x02 BREV$
    0xbc 0xffff 0x02 CPR$

Wrapper

.magic = 0x5356
.u_pas = 0x10ec  // Length of UPAS in words
.u_das = 0x0199  // Length of UDAS in words
.u_dvs = 0x0199  // Start på savede variabel indhold (word adr)
.u_nds = 0x0042  // Address på næste prog.sætning (word adr)
.u_cps = 0x0042  // Address på curr prog.sætning (word adr)
.u_tll = 0x0000  // Page størrelse
.u_tts = 0x000e  // TAP størrelse
.u_ran = 0x0000  // Random tal
.u_cdl = 0x0042  // Current DATA sætning ptr
.u_cdb = 0x0000  // Current DATA byte ptr
.u_esa = 0xffff  // ON ESE (word adr)
.u_era = 0xffff  // ON ERR (word adr)
.u_cas = 0x0000  // CASE dybde
.u_las = 0xffff  // last (-1)