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

⟦fba5cbf1e⟧ COMAL_SAVE

    Length: 1608 (0x648)
    Types: COMAL_SAVE
    Notes: LIB::TRANS, TRANS   
    Names: »TRANS«

Derivation

└─⟦43f2224a3⟧ Bits:30007878 (Demostrations diskette af 1981 Frederikshavn Gymnasium Område : LIB Nøgle : 1)
    └─⟦this⟧ »LIB::TRANS« 

UPAS Segment

SAVE filename: "TRANS"

 0010 CREATE "FORFIL" , 40
 0020 CREATE "BAGFIL" , 43
 0030 DIM T[LLER ( 3 )
 0040 DIM DAME$ ( 10000 ) , OFFER$ ( 8 ) , NYFIL$ ( 8 ) , STED ( 2 ) , TABE$ ( 4 )
 0050 LET OFFER$ = "FOR" NYFIL$ = "FORFIL" OMGANG = 1 CHECK = 0 TABE = 0
 0060 REPEAT 
 0070   LET DAME$ = ""
 0080   OPEN FILE ( 1 , 1 ) OFFER$
 0090   READ FILE ( 1 ) DAME$
 0100   CLOSE FILE ( 1 )
 0110   PRINT "LÆNGED : " ; LEN ( DAME$ )
 0120   IF LEN ( DAME$ ) = 10000 THEN STOP «nul» 
 0130   OPEN FILE ( 1 , 3 ) NYFIL$
 0140   FOR I = 1 TO LEN ( DAME$ )
 0150     IF DAME$ ( I ) = "<34>" THEN
 0160       LET CHECK = CHECK + 1 STED ( CHECK ) = I
 0170       IF OMGANG = 1 AND CHECK = 1 THEN
 0180         IF DAME$ ( I - 2 ) = ")" AND CHECK = 1 THEN
 0190           LET J = I - 2
 0200           WHILE DAME$ ( J ) <> "(" DO
 0210             LET J = J - 1
 0220           ENDWHILE
 0230           IF ( I - J ) > 10 THEN STOP «nul» 
 0240           LET TABE$ = DAME$ ( J + 1 , I - 3 )
 0250         ENDIF 
 0260       ENDIF 
 0270       IF CHECK = 2 THEN
 0280         IF OMGANG = 1 THEN
 0290           LET TABE = 1 CHECK = 0 T[LLER ( OMGANG ) = T[LLER ( OMGANG ) + 1
 0300           IF LEN ( TABE$ ) THEN EXEC STRINUM
 0310           WRITE FILE ( 1 ) TABE , DAME$ ( STED ( 1 ) + 1 , STED ( 2 ) - 1 )
 0320         ELSE 
 0330           WRITE FILE ( 1 ) DAME$ ( STED ( 1 ) + 1 , STED ( 2 ) - 1 )
 0340           LET CHECK = 0 T[LLER ( OMGANG ) = T[LLER ( OMGANG ) + 1
 0350           LET TABE$ = ""
 0360         ENDIF 
 0370       ENDIF 
 0380     ENDIF 
 0390   NEXT 
 0400   CLOSE FILE ( 1 )
 0410   READ OFFER$ , NYFIL$ , OMGANG
 0420 UNTIL OFFER$ = NYFIL$
 0430 DATA "BAG" , "BAGFIL" , 2 , " " , " " , 0
 0440 PRINT "DAME 1 FYLDER" ; T[LLER ( 1 ) ; " OG DAME 2 FYLDER" ; T[LLER ( 2 ) ; "LINIER"
 0450 STOP «nul» 
 0460 REM  ///------------------------///«nul»
 0470 PROC STRINUM
 0480   CASE LEN ( TABE$ ) OF
 0490     STOP «nul» 
 0500   WHEN 1
 0510     LET TABE = ORD ( TABE$ ) - 48
 0520   WHEN 2
 0530     LET TABE = ORD ( TABE$ ( 1 ) ) * 10 + ORD ( TABE$ ( 2 ) )
 0540   ENDCASE «nul» 
 0550 ENDPROC TRINUM«nul»
 0560 REM  ///---------------------------///«nul»E

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] = 0x0160
      stack[1] = 0x0000
      stack[2] = 0x0000
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
    FOR-NEXT stack pointer = 0x0000
      Var# = 0x0089
      Loop Top = 0x00d7
      To Val = 6780   (0x441a7c00)
      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] = 0x0090
      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] = 0x010b
      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] = 0x0001
      stack[3] = 0x0000
      stack[4] = 0x0000
      stack[5] = 0x0000
      stack[6] = 0x0000
Variables:
    0x80 0xffff 0x00 
    0x81 0xffff 0x02 DAME$
    0x82 0xffff 0x02 OFFER$
    0x83 0xffff 0x02 NYFIL$
    0x84 0xffff 0x00 STED
    0x85 0xffff 0x02 TABE$
    0x86 0xffff 0x00 OMGANG
    0x87 0xffff 0x00 CHECK
    0x88 0xffff 0x00 TABE
    0x89 0xffff 0x00 I
    0x8a 0xffff 0x00 J
    0x8b 0xffff 0x00 DAME
    0x8c 0xffff 0x00 STRINUM
    0x8d 0xffff 0x00 T[LLER
    0x8e 0xffff 0x00 RN
    0x8f 0xffff 0x00 DALETE

Wrapper

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