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

⟦540164661⟧ COMAL_SAVE

    Length: 1092 (0x444)
    Types: COMAL_SAVE

Derivation

└─⟦50fb93305⟧ Bits:30000469 DOMUS disk image - COMAL/BASIC NUCDA - Claes Holmgren
    └─ ⟦f7df526f5⟧ »/PX16.FAKUL« 
        └─⟦this⟧ 

UPAS Segment

SAVE filename: "FAKUL"

 0010 REM  UDREGNING AF FAKULTETER«nul»«nul»
 0020 REM  //**** CLAES HOLMGREN ****//«nul»
 0030 PAGE = 0
 0040 DIM FAKULTET ( 2600 )
 0050 REPEAT 
 0060   INPUT "HELT TAL N TIL N! " , N
 0070 UNTIL N >= 0 AND N <= 3500 AND INT ( N ) = N
 0080 LET FAKULTET ( 1 ) = 1
 0090 LET CIFRE = 1
 0100 FOR FAKTOR = 1 TO N
 0110   LET CIFFER = 0 ; MENTE = 0
 0120   REPEAT 
 0130     LET CIFFER = CIFFER + 1
 0140     LET FAKULTET ( CIFFER ) = FAKULTET ( CIFFER ) * FAKTOR + MENTE
 0150     LET MENTE = INT ( FAKULTET ( CIFFER ) / 10 )
 0160     LET FAKULTET ( CIFFER ) = FAKULTET ( CIFFER ) - 10 * MENTE
 0170   UNTIL CIFFER >= CIFRE AND MENTE = 0
 0180   LET CIFRE = CIFFER
 0190   PRINT "<7>####" , FAKTOR ; "<8><8><8><8>" ;
 0200 NEXT 
 0210 PAGE = 72
 0220 PRINT "<10><13>"
 0230 PRINT "   NØR N =" ; N ; "ER"
 0240 PRINT "      N! =" ;
 0250 LET CM50 = CIFRE MOD 50
 0260 LET TOMME = CM50 DIV 10 - ( CM50 MOD 10 = 0 )
 0270 PRINT TAB ( 65 - CM50 - TOMME ) ;
 0280 FOR I = CIFRE TO 1 STEP - 1
 0290   PRINT "#" , FAKULTET ( I ) ;
 0300   IF ( I - 1 ) MOD 10 = 0 THEN PRINT " " ;
 0310   IF ( I - 1 ) MOD 50 = 0 THEN
 0320     PRINT
 0330     PRINT TAB ( 11 ) ;
 0340   ENDIF 
 0350 NEXT 
 0360 END «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# = 0x00ae
      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# = 0x0084
      Loop Top = 0x009f
      To Val = 100   (0x42640000)
      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)
    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] = 0x0000
      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 FAKULTET
    0x82 0xffff 0x00 N
    0x83 0xffff 0x00 CIFRE
    0x84 0xffff 0x00 FAKTOR
    0x85 0xffff 0x00 CIFFER
    0x86 0xffff 0x00 MENTE
    0x87 0xffff 0x00 CM50
    0x88 0xffff 0x00 TOMME
    0x89 0xffff 0x00 I
    0x8a 0xffff 0x00 ENSIF

Wrapper

.magic = 0x4e32
.u_pas = 0x0174  // Length of UPAS in words
.u_das = 0x009f  // Length of UDAS in words
.u_dvs = 0x009f  // 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 = 0x0001  // Random tal
.u_cdl = 0x0006  // Current DATA sætning ptr
.u_cdb = 0x0000  // Current DATA byte ptr
.u_esa = 0x0042  // ON ESE (word adr)
.u_era = 0x0000  // ON ERR (word adr)
.u_cas = 0xffff  // CASE dybde
.u_las = 0xffff  // last (-1)