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

⟦927f1ae2e⟧ COMAL_SAVE

    Length: 1564 (0x61c)
    Types: COMAL_SAVE
    Notes: --------, LIB::--------
    Names: »--------«

Derivation

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

UPAS Segment

SAVE filename: "TRANSLATE"

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