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

⟦f3c7e523e⟧ TextFile

    Length: 8192 (0x2000)
    Types: TextFile
    Names: »CA018«

Derivation

└─⟦97a19ae26⟧ Bits:30001812 SG0111 Floppy
    └─ ⟦this⟧ »/CA018« 
└─⟦ab0d9f9c1⟧ Bits:30001776 DOMUS UNIT 0
    └─ ⟦this⟧ »/CA018« 

TextFile

KEMI0:	5			; 5 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		; 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
BEG00:	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,+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	BEG00		; JA - HOP TIL BEG00
	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	1,U.S15,3	; NEJ - HENT NUM
	SUB	0,0		; AC0=0
	MOV	0,2		; AC0 -> AC2
ZERO:	INC	2,2		; NULSTIL "SKIP" MARKERING P.G.A.
	STA	0,DATA,2	; SIDSTE BYTE I SØGESTRENG
	SNL	2,1		; TÆLLEVAR>=NUM ?
	JMP	ZERO		; NEJ - HOP TIL ZERO
	LDA	2,CUR		; AC2=CUR
	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
	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 CUR NEXT NUM-ADR I U.S05
	LDA	1,U.S15,3	; AC1=NUM
	LDA	0,.63		; AC0=63
	LDA	2,U.S02,3	; AC2=CURRENT AF$ 1.BYTEADR
	SUB	3,3		; AC3=TÆLLEVAR=0
LOOP:	INC	3,3		; TÆLLEVAR=TÆLLEVAR+1
	STA	2,ADR,3		; GEM AF$ ADR I ADR+TÆLLEVAR
	ADD	0,2		; AF$-ADR=AF$-ADR+63
	SGR	3,1		; T$ÆLLEVAR > NUM ?
	JMP	LOOP		; NEJ - HOP TIL LOOP
	LDA	3,USER		; JA - AC3=USER
	STA	2,U.S02,3	; GEM NEXT AF$ ADR I U.S02
	LDA	2,CUR		; AC2=CUR
	LDA	0,U.UCH,3	; AC0=ZONEADR 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	2,U.S17,3	; NEJ - HENT TÆLLEVAR
	LDA	1,U.S15,3	; AC1=NUM
	SNE	2,1		; TÆLLEVAR=NUM ?
	JMP	PROC1		; JA - HOP TIL PROC1
	INC	2,2		; NEJ - TÆLLEVAR=TÆLLEVAR+1
	STA	2,U.S17,3	; GEM TÆLLEVAR I U.S17
	LDA	1,.63		; AC1=63
	LDA	0,DATA,2	; HENT INDIKATOR OM CHR(0) I AF$
	LDA	2,CUR		; AC2=CUR
	SNE	0,1		; INDIKATOR=63 ?
	JMP	PROC		; JA - HOP TIL PROC
	SUBZL	0,0		; NEJ - SEGMENT NR=1
	LDA	2,U.S17,3	; AC2=TÆLLEVAR
	LDA	1,ADR,2		; AC1=AF$-ADR FRA ADR+TÆLLEVAR
	LDA	2,CUR		; AC2=CUR
	A.GBYTE			; HENT AF$-SØGEBYTE TIL AC0
	MOV	0,0	SNR	; AF$-BYTE=CHR(0) ?
	JMP	COUNT		; JA - HOP TIL COUNT
	LDA	1,U.S16,3	; NEJ - HENT "LÆST BYTE FRA FIL" TIL AC1
	SNE	0,1		; AC$=AF$ ?
	JMP	INCRE		; NEJ - HOP TIL INCRE
	LDA	2,U.S17,3	; JA - HENT TÆLLEVAR
«ff»
PRO1:	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	BEG00		; JA - HOP TIL BEG00
	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
	STA	2,U.S03,3	; GEM NEXT BYTEADR AC$ I U.S03
	LDA	1,U.S08,3	; HENT BYTEADR AG$
	EXECUTE			; HOP TIL
	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
	RET0
CHECK:	SUBZL	0,0		; AC0=1
	LDA	2,U.S17,3	; HENT TÆLLEVAR TIL AC1
	STA	0,DATA,2	; GEM 1 I DATA+TÆLLEVAR
	LDA	2,CUR		; AC2=CUR
	JMP	PROC
DATA:	0
.BLK 20
«ff»
«ff»
«nul»