|
|
DataMuseum.dkPresents historical artifacts from the history of: RegneCentralen RC3600/RC7000 |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about RegneCentralen RC3600/RC7000 Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 2504 (0x9c8)
Types: COMAL_SAVE
Notes: LIB::PHANTNUM, PHANTNUM
Names: »PHANTNUM«
└─⟦43f2224a3⟧ Bits:30007878 (Demostrations diskette af 1981 Frederikshavn Gymnasium Område : LIB Nøgle : 1)
└─⟦this⟧ »LIB::PHANTNUM«
SAVE filename: "PHANTNUM" 0010 REM PHANTNUM«nul» 0020 DIM SVAR$ ( 10 ) , F[RDIG$ ( 10 ) , TAL ( 10 ) 0030 REPEAT 0040 LET F[RDIG$ = " " 0050 INPUT "ØNSKES INSTRUKTION?" , SVAR$ 0060 PRINT 0070 IF SVAR$ = "JA" THEN EXEC INSTR 0080 EXEC KODE 0090 REPEAT 0100 EXEC IND 0110 UNTIL F[RDIG$ = "1111111111" 0120 PRINT 0130 PRINT "GODT,DET GIK FINT !" 0140 PRINT 0150 INPUT "VIL DU PRØVE IGEN ?" , SVAR$ 0160 UNTIL SVAR$ <> "JA" 0170 REM SLUT PÆ PROGRAMMET !«nul» 0180 PROC IND 0190 INPUT " " , SVAR$ 0200 PRINT 0210 LET OK = 1 0220 EXEC TEST 0230 IF NOT OK THEN PRINT "FEJL I INPUT" 0240 ENDPROC ND«nul»«ff» 0250 PROC TEST 0260 IF LEN ( SVAR$ ) > 2 THEN 0270 CASE SVAR$ ( 2 ) OF 0280 LET OK = 0 0290 WHEN "=" 0300 IF SVAR$ ( 3 ) > "/" AND SVAR$ ( 3 ) < ":" THEN 0310 EXEC SVARTAL 0320 ELSE 0330 LET OK = 0 0340 ENDIF 0350 WHEN "*" , "+" , "-" 0360 EXEC UDREGN 0370 ENDCASE SVAR$«nul» 0380 ELSE 0390 LET OK = 0 0400 ENDIF ÆNGDE>2«nul» 0410 ENDPROC EST«nul» 0420 PROC SVARTAL 0430 IF BOGSTAV$ ( ORD ( SVAR$ ( 3 ) ) - 47 ) = SVAR$ ( 1 ) THEN 0440 PRINT " JA " ; SVAR$ 0450 LET F[RDIG$ ( ORD ( SVAR$ ( 3 ) ) - 47 ) = "1" 0460 ELSE 0470 PRINT " NEJ " ; SVAR$ 0480 ENDIF 0490 ENDPROC VARTAL«nul» 0500 PROC UDREGN 0510 FOR X = 1 TO 3 STEP 2 0520 LET TAL ( X ) = - 1 0530 FOR Y = 1 TO 10 0540 IF SVAR$ ( X ) = BOGSTAV$ ( Y ) THEN 0550 LET TAL ( X ) = Y - 1 0560 ENDIF 0570 NEXT 0580 NEXT 0590 IF TAL ( 1 ) >= 0 AND TAL ( 3 ) >= 0 THEN 0600 CASE SVAR$ ( 2 ) OF 0610 REM =---------------------------------------////////«nul» 0620 WHEN "*" 0630 LET FACIT = TAL ( 1 ) * TAL ( 3 ) 0640 WHEN "+" 0650 LET FACIT = TAL ( 1 ) + TAL ( 3 ) 0660 WHEN "-" 0670 LET FACIT = TAL ( 1 ) - TAL ( 3 ) 0680 IF FACIT < 0 THEN LET FACIT = FACIT + 10 0690 ENDCASE «nul» 0700 LET FACIT = FACIT - 10 * INT ( FACIT / 10 ) 0710 PRINT " " ; SVAR$ ; "=" ; BOGSTAV$ ( FACIT + 1 ) 0720 ELSE K=0«nul» 0730 LET OK = 0 0740 ENDIF 0750 ENDPROC DREGN«nul» 0760 PROC KODE 0770 RANDOMIZE 0780 DIM BOGSTAV$ ( 10 ) 0790 LET BOGSTAV$ = " " 0800 LET X = 1 0810 REPEAT 0820 LET T = INT ( RND ( 0 ) * 10 + 1 ) 0830 IF BOGSTAV$ ( T ) = " " THEN 0840 LET BOGSTAV$ ( T ) = CHR ( X + 64 ) X = X + 1 0850 ENDIF 0860 UNTIL X = 11 0870 ENDPROC ODE«nul» 0880 PROC INSTR 0890 PRINT "DETTE PROGRAM GIVER DIG EN OPGAVE, DER KALDES" 0900 PRINT "PHANTNUM" 0910 PRINT "PROGRAMMET TILDELER BOGSTAVERNE ABCDEFGHIJ VÆRDIERNE" 0920 PRINT "FRA 0 TIL 9 PÅ HELT TILFÆLDIG VIS" 0930 PRINT "DU SKAL DEREFTER FINDE HVERT BOGSTAVS VÆRDI VED AT STILLE" 0940 PRINT "SPØRGSMÅL AF DENNE TYPE: A+B, A-B, A*B ELLER A=8" 0950 PRINT "PROGRAMMETS SVAR PÅ DET SIDSTE SPØRGSMÅL VIL VÆRE JA" 0960 PRINT "ELLER NEJ, MENS DET VED DE ANDRE TYPER VIL VÆRE DET BOGSTAV" 0970 PRINT "DER ER SIDSTE TAL I RESULTATET. HVIS RESULTATET ER NEGATIVT" 0980 PRINT "BLIVER DER LAGT 10 TIL RESULTATET, INDEN DET GIVES." 0990 PRINT "NÅR DU HAR FUNDET ALLE BOGSTAVERNES VÆRDI, BLIVER DU ROST!" 1000 PRINT 1010 PRINT 1020 ENDPROC NSTR«nul»U 1030 CHAIN "LOOKUP"
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] = 0x0087
stack[1] = 0x00dd
stack[2] = 0x011e
stack[3] = 0x0000
stack[4] = 0x0000
stack[5] = 0x0000
stack[6] = 0x0000
FOR-NEXT stack pointer = 0x0000
Var# = 0x0082
Loop Top = 0x01a4
To Val = 3 (0x41300000)
Step Val = 2 (0x41200000)
Var# = 0x0083
Loop Top = 0x01b7
To Val = 10 (0x41a00000)
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)
REPEAT-UNTIL stack pointer = 0x0000
stack[0] = 0x005d
stack[1] = 0x0084
stack[2] = 0x028a
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 I
0x82 0xffff 0x00 X
0x83 0xffff 0x00 Y
0x84 0xffff 0x02 SVAR$
0x85 0xffff 0x02 F[RDIG$
0x86 0xffff 0x00 TAL
0x87 0xffff 0x00 INSTR
0x88 0xffff 0x00 KODE
0x89 0xffff 0x00 IND
0x8a 0xffff 0x00 OK
0x8b 0xffff 0x00 TEST
0x8c 0xffff 0x00 SVARTAL
0x8d 0xffff 0x00 UDREGN
0x8e 0xffff 0x02 BOGSTAV$
0x8f 0xffff 0x00 FACIT
0x90 0xffff 0x00 T
0x91 0xffff 0x00 BOGSTAV
.magic = 0x5356 .u_pas = 0x0413 // Length of UPAS in words .u_das = 0x00c2 // Length of UDAS in words .u_dvs = 0x00c2 // 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)