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 - metrics - download

⟦13a89e266⟧ COMAL_SAVE

    Length: 1340 (0x53c)
    Types: COMAL_SAVE
    Notes: ASS2::ENT.F.LA, ENT.F.LA
    Names: »ENT.F.LA«

Derivation

└─⟦714f3848e⟧ Bits:30006597 ALM Copy 24.9.79
    └─⟦this⟧ »ASS2::ENT.F.LA« 

UPAS Segment

SAVE filename: "ENT.F.LAV"

 0003 CLOSE
 0005 LET U = 160 ANTALREC = 30
 0010 DIM A$ ( U , 20 ) , TID ( U ) , B$ ( 20 ) , F$ ( 8 )
 0015 MAT TID = ZER
 0030 LET LAST = 0
 0031 FOR O = 1 TO 5
 0032   LET F$ = "C.L.-" , CHR ( 34 + O )
 0033   OPEN FILE ( 1 , 4 ) F$
 0040   FOR I = 1 TO ANTALREC
 0050     READ FILE ( 1 , I ) B , B$
 0053     IF NOT B THEN GOTO 0200
 0055     PRINT I ;
 0070     LET MIN = 1 MAX = LAST + ( LAST = 0 ) MIDT = LAST * ( B > TID ( 1 ) ) DIV ( 2 - ( B >= TID ( MAX ) ) )
 0080     IF B <= TID ( 1 ) OR B >= TID ( MAX ) THEN GOTO 0160
 0090     WHILE TID ( MIDT ) >= B OR B > TID ( MIDT + 1 ) DO
 0100       IF B > TID ( MIDT ) THEN
 0110         LET MIN = MIDT MIDT = ( MAX + MIDT ) DIV 2
 0120       ELSE 
 0130         LET MAX = MIDT MIDT = ( MIN + MIDT ) DIV 2
 0140       ENDIF 
 0150     ENDWHILE
 0160     FOR J = LAST TO MIDT + 1 STEP - 1
 0170       LET TID ( J + 1 ) = TID ( J ) A$ ( J + 1 ) = A$ ( J )
 0180     NEXT 
 0190     LET TID ( MIDT + 1 ) = B A$ ( MIDT + 1 ) = B$ LAST = LAST + 1
 0200   NEXT 
 0210   CLOSE
 0215 NEXT 
 0220 OPEN FILE ( 1 , 0 ) "CO...PSE"
 0230 FOR I = 1 TO LAST
 0240   WRITE FILE ( 1 , I ) TID ( I ) , A$ ( I )
 0245   PRINT TID ( I ) , A$ ( I )
 0250 NEXT 
 0260 CLOSE
 0300 PROC UD
 0310   FOR ] = 1 TO LAST
 0320     PRINT TID ( ] ) ;
 0330   NEXT 
 0340   PRINT
 0350 ENDPROC

UDAS Segment

    FNA definition = 0x0000
    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] = 0x0132
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      Var# = 0x0084
      Loop Top = 0x0163
      To Val = 129   (0x42810000)
      Step Val = 1   (0x41100000)
      Var# = 0x0084
      Loop Top = 0x0097
      To Val = 30   (0x421e0000)
      Step Val = 1   (0x41100000)
      Var# = 0x008c
      Loop Top = 0x0118
      To Val = 104   (0x42680000)
      Step Val = -1   (0xc1100000)
      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] = 0x00d7
      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 TURNR
    0x82 0xffff 0x00 TID
    0x83 0xffff 0x00 LAST
    0x84 0xffff 0x00 I
    0x85 0xffff 0x00 ANTALREC
    0x86 0xffff 0x00 A
    0x87 0xffff 0x00 B
    0x88 0xffff 0x00 MIN
    0x89 0xffff 0x00 MAX
    0x8a 0xffff 0x00 MIDT
    0x8b 0xffff 0x00 MAS
    0x8c 0xffff 0x00 J
    0x8d 0xffff 0x00 LISR
    0x8e 0xffff 0x00 LIAT
    0x8f 0xffff 0x00 UD
    0x90 0xffff 0x00 ]
    0x91 0xffff 0x00 U
    0x92 0xffff 0x00 LIDST
    0x93 0xffff 0x00 LUST
    0x94 0xffff 0x00 LASTREC
    0x95 0xffff 0x00 LISY
    0x96 0xffff 0x00 LST
    0x97 0xffff 0x00 SLIT
    0x98 0xffff 0x00 STOP]
    0x99 0xffff 0x02 A$
    0x9a 0xffff 0x00 O
    0x9b 0xffff 0x02 F$
    0x9c 0xffff 0x02 B$

Wrapper

.magic = 0x5356
.u_pas = 0x0196  // Length of UPAS in words
.u_das = 0x00f9  // Length of UDAS in words
.u_dvs = 0x00f9  // 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 = 0x0048  // 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)