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

⟦acfa032bb⟧ TextFile

    Length: 7168 (0x1c00)
    Types: TextFile
    Names: »KEMIA«

Derivation

└─⟦1b01578bf⟧ Bits:30001826 SG0125 Floppy
    └─ ⟦this⟧ »/KEMIA« 
└─⟦eef5428dd⟧ Bits:30001825 SG0124 Floppy
    └─ ⟦this⟧ »/KEMIA« 

TextFile

PRDE1«ff»
READ:	6			; 6 VARIABLE
	STRING+ARRAY		; AC$(7,60) DATASTRENGE FRA FIL
	STRING+ARRAY		; AF$(<VAR>,60) SØGESTRENGE
	STRING+ARRAY		; AB$(7,10) FØRSTE UDSKRIVNINGSSTRENG
	STRING+ARRAY		; AG$(7,18) SIDSTE UDSKRIVNINGSSTRENG
	REAL+ARRAY		; AH(<VAR>) MODE FOR ENKELT SØGESTRENG
	REAL+ARRAY		; NUM(7) ANTAL SØGESTRENGE PR. LÆST STRENG
	LDA	1,.3		; AC1=3
	LDA @	0,+0,2		; HENT 1. MAX-BYTE ADRESSE AC$
	ADD	1,0		; AC0=3+1.MAX-BYTE ADR AC$=1.BYTEADR AC$
	STA 	0,U.S10,3	; GEM 1.BYTEADRESSE I U.S10
	LDA @	0,+2,2		; HENT 1. MAX-BYTE ADRESSE AB$
	ADD	1,0		; AC0=3+1.MAX-BYTE ADR AB$=1.BYTEADR AB$
	STA	0,U.S13,3	; GEM 1.BYTEADRESSE I U.S13
	LDA @	0,+3,2		; HENT 1. MAX-BYTE ADRESSE AG$
	ADD	1,0		; AC0=3+1.MAX-BYTE ADR AG$=1.BYTEADR AG$
	STA	0,U.S14,3	; GEM 1.BYTEADRESSE I U.S14
	STA	1,U.S15,3	; GEM NUM=3 I U.S15
BEGIN:	SUB	0,0		; AC0=0
	STA	0,U.S12,3	; NULSTIL AC$=/<>AF$ INDIKATOR
	LDA	2,U.STK,3	; AC2=U.STK+UDA
	LDA	1,.3		; AC1=3
	LDA @	0,+0,2		; HENT 1. MAX-BYTE ADRESSE AC$
	STA	0,U.S00,3	; GEM 1.MAXBYTE ADR AC$ I U.S00
	STA	0,U.S01,3	; GEM 1.MAXBYTE ADR AC$ I U.S01
	LDA @	0,+1,2		; HENT 1. MAX-BYTE ADRESSE AF$
	ADD 	1,0		; AC0=3+1.MAX-BYTE ADR AF$=1.BYTEADR AF$
	STA	0,U.S02,3	; GEM 1.BYTEADR I U.S02
	LDA @	0,+4,2		; HENT 1.WORDADRESSE AH
	STA	0,U.S04,3	; GEM 1.WORDADR I U.S04
	LDA @	0,+5,2		; HENT 1.WORDADRESSE NUM
	STA	0,U.S05,3	; GEM 1.WORDADR I U.S05
	LDA	2,CUR		; AC2=CUR
	SUB 	0,0		; AC0=0
	STA	0,U.S07,3	; NULSTIL TÆLLEVARIABEL
NEXTS:	LDA	0,U.S07,3	; HENT CURRENT TÆLLEVARIABEL
	LDA	1,.7		; AC1=7
	SNE	0,1		; TÆLLEVAR=7 ?
	JMP	BEGIN		; JA - HOP TIL BEGIN
	INC	0,0		; NEJ - TÆLLEVAR=TÆLLEVAR+1
	STA	0,U.S07,3	; GEM CUR TÆLLEVAR I U.S07
	LDA	0,U.S12,3	; HENT AC$=/<>AF$ INDIKATOR
	MOV	0,0	SZR	; INDIKATOR=1 ?
	JMP	NEXTC		; JA - HOP TIL NEXTC
	LDA	2,U.S15,3	; NEJ - HENT NUM
	SUB	0,0		; AC0=0
	MOV	0,1		; AC0 -> AC1
ZERO:	INC	1,1		; NULSTIL "SKIP" MARKERING P.G.A.
	STA	0,DATA,1	; SIDSTE BYTE I SØGESTRENG
	SNL	1,2		; TÆLLEVAR>=NUM ?
	JMP	ZERO		; NEJ - HOP TIL ZERO
	LDA	1,.63		; JA - AC1=63
	LDA	0,U.S01,3	; HENT CURRENT 1.MAX-BYTEADR AC$
	ADD	0,1		; AC1=1.MAX-BYTEADR+63
	STA	1,U.S01,3	; GEM NÆSTE 1.MAX-BYTEADR AC$ I U.S01
	LDA	1,U.S00,3	; HENT CUR 1.MAX-BYTEADR AC$
	LDA	0,.3		; AC0=3
	ADD	1,0		; AC0=3+1.MAX-BYTEADR
«ff»
	STA	0,U.S00,3	; GEM 1.BYTEADR AC$ I U.S00
	LDA	1,U.S05,3	; HENT NUM-ADR TIL AC1
	SUBZL	0,0		; AC0=SEGMENT NR=1
	A.GWORD			; HENT NUM
	STA	0,U.S15,3	; GEM NUM I U.S15
	INC	1,1		; NUM-ADR=NUM-ADR+1
	INC	1,1		; NUM-ADR=NUM-ADR+1
	STA	1,U.S05,3	; GEM CURRENT NUM-ADR I U.S05
	LDA	1,U.S15,3	; AC1=NUM
	LDA	0,U.S02,3	; HENT AF$ BYTEADR
	STA	0,U.S19,3	; GEM U.S02 I U.S19
	STA	0,U.S18,3	; GEM U.S02 I U.S18
	LDA	2,.63		; AC2=63
	BCALL IMPYA		; AC0=63*NUM+AF$-BYTEADR
	STA	0,U.S02,3	; GEM NEXT AF$-ADR I U.S02
	LDA	2,CUR		; AC2=CUR
	LDA	0,U.UCH,3	; AC0=ZONEADR TIL FILENO=0
	SUB	1,1		; TÆLLEVAR=0
	STA	1,U.S17,3	; GEM TÆLLEVAR I U.S17
NEXTC:	F.CHEOF			; END OF FILE ?
	RET1			; JA - RETURN TIL BASIC
	F.ICHAR			; NEJ - LÆS NÆSTE BYTE IND FRA FIL - IOERR ?
	BCALL IOERR		; JA - RETURN MED RET0 OG IOERRKODE TIL BASIC
	STA	0,U.S16,3	; NEJ - GEM LÆST BYTE I U.S16
	MOV	0,0	SNR	; LÆST BYTE=CHR(0) ?
	JMP	NULST		; JA - HOP TIL NULST
	LDA	0,U.S12,3	; NEJ - HENT AF$=/<>AC$ INDIKATOR
	MOV	0,0	SZR	; INDIKATOR=1 ?
	JMP 	NEXTC		; JA - HOP TIL NEXTC
PROC:	LDA	0,U.S17,3	; NEJ - HENT TÆLLEVAR
	LDA	1,U.S15,3	; AC1=NUM
	SNE	0,1		; TÆLLEVAR=NUM ?
	JMP	PROC1		; JA - HOP TIL PROC1
	INC	0,0		; NEJ - TÆLLEVAR=TÆLLEVAR+1
	STA	0,U.S17,3	; GEM TÆLLEVAR I U.S17
	LDA	0,DATA,0	; HENT INDIKERING OM CHR(0) I AF$
	MOV	0,0	SZR	; AC0=1 ?
	JMP	PROC		; JA - HOP TIL PROC
	SUBZL	0,0		; NEJ - SEGMENT NR=1
	LDA	1,U.S18,3	; HENT CUR BYTEADR AF$
	A.GBYTE			; HENT AF$ SØGEBYTE TIL AC0
	LDA	2,.63		; AC2=63
	ADD	2,1		; AC1=63+BYTEADR AF$
	STA	1,U.S18,3	; GEM CUR BYTEADR AF$ I U.S18
	MOV	0,0	SNR	; AF$-BYTE=CHR(0) ?
	JMP	CHECK		; JA - HOP TIL CHECK
	LDA	2,CUR		; NEJ - AC2=CUR
	LDA	1,U.S16,3	; AC1=LÆST BYTE FRA FIL
	SNE	0,1		; AC$<>AF$ ?
	JMP	PROC		; JA - HOP TIL PROC
	SUBZL	0,0		; NEJ - AC0=1
	STA	0,U.S12,3	; GEM INDIKATOR=1 I U.S12
	JMP	NEXTC		; HOP TIL NEXTC
PROC1:	LDA	0,U.S19,3	; HENT CUR BYTEADR AF$
	INC	0,0		; BYTEADR=BYTEADR+1
	STA	0,U.S18,3	; GEM BYTEADR AF$ I U.S18
	STA	0,U.S19,3	; GEM BYTEADR AF$ I U.S19
«ff»
	SUB	0,0		; AC0=0
	STA	0,U.S17,3	; GEM TÆLLEVAR=0 I U.S17
	LDA	1,U.S00,3	; AC1=CUR BYTEADR AC$
	LDA	0,U.S16,3	; AC0=BYTE LÆST FRA FIL
	A.PBYTE			; GEM BYTE BORT I
	1			; DATASEGMENT=1
	INC	1,1		; CUR BYTEADR=CUR BYTEADR+1
	STA	1,U.S00,3	; GEM CUR BYTEADR AC$ I U.S00
	JMP	NEXTC
NULST:	LDA	0,U.S12,3	; HENT AF$=/<>AC$ INDIKATOR
	MOV	0,0		SZR	; INDIKATOR=1 ?
	JMP	NEXTS		; JA - HOP TIL NEXTS
	LDA	1,U.S00,3	; NEJ - AC1=NEXT MAX-BYTEADR AC$
	SUB	0,0		; AC0=0
	A.PBYTE			; GEM <0> BYTE I DATASEGMENT
	1			; SEGMENT NR=1
	LDA	0,U.S01,3	; HENT NEXT BYTEADR AC$
	STA	0,U.S00,3	; GEM NEXT BYTEADR AC$ I U.S00
	LDA	0,U.S07,3	; HENT TÆLLEVAR TIL AC0
	LDA	1,.7		; AC1=7
	SEQ	0,1		; TÆLLEVAR=7 ?
	JMP	NEXTS		; NEJ - HOP TIL NEXTS
	SUB	1,1		; JA - AC1=0
	STA	1,U.S11,3	; GEM TÆLLEVAR=0 I U.S11
	LDA	0,U.S10,3	; HENT AC$ 1.BYTEADR FRA U.S10
	STA	0,U.S03,3	; GEM 1.BYTEADR AC$ I U.S03
	LDA	0,U.S13,3	; HENT AB$ BYTEADR FRA U.S13
	STA	0,U.S06,3	; GEM AB$ BYTEADR I U.S06
	LDA	0,U.S14,3	; HENT AG$ BYTEADR FRA U.S14
	STA	0,U.S08,3	; GEM AG$ BYTEADR I U.S08
OUT:	LDA	1,U.S11,3	; AC1=TÆLLEVAR
	LDA	0,.7		; AC0=7
	SNE	0,1		; TÆLLEVAR=7 ?
	JMP	BEGIN		; JA - HOP TIL BEGIN
	INC	1,1		; NEJ - TÆLLEVAR=TÆLLEVAR+1
	STA	1,U.S11,3	; GEM TÆLLEVAR I U.S11
	LDA	1,U.S06,3	; HENT BYTEADR AB$
	LDA	0,COUT,3	; AC0=ZONEADR TIL $LPT/USER TERMINAL
	EXECUTE			; HOP TIL
	WRITE			; SUBROUTINE WRITE
	STA	2,U.S06,3	; GEM NEXT BYTEADR AG$ I U.S06
	LDA	1,U.S03,3	; HENT BYTEADR AC$
	EXECUTE			; HOP TIL
	WRITE			; SUBROUTINE WRITE
	STA	2,U.S03,3	; GEM NEXT BYTEADR AC$ I U.S03
	LDA	1,U.S08,3	; HENT BYTEADR AG$
	EXECUTE			; HOP TIL
	WRITE			; SUBROUTINE WRITE
	STA	2,U.S08,3	; GEM NEXT BYTEADR AG$ I U.S08
	JMP	OUT		; HOP TIL OUT
WRITE:	F.OTEXT			; PRINT OUT TEXT - IOERR ?
	BCALL IOERR		; JA - RETURN TIL BASIC MED RET0 OG IOERRKODE
	LDA	2,.63		; NEJ - AC2=63
	ADD	1,2		; AC2=63+BYTEADR
CHECK:	SUBZL	0,0		; AC0=1
	LDA	1,U.S17,3	; HENT TÆLLEVAR TIL AC1
	STA	0,DATA,1	; GEM 1 I DATA,TÆLLEVAR
	JMP	PROC
DATA:	0
.BLK 20
«ff»
«nul»