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

⟦8b597ddce⟧ TextFile

    Length: 4608 (0x1200)
    Types: TextFile
    Names: »CAAF5«

Derivation

└─⟦cb4367ef8⟧ Bits:30001782 SG0002 Floppy
    └─ ⟦this⟧ »/CAAF5« 

TextFile

; CALLRUTINE FINDTEGN PL. P-H. HANS RUNE SVEND MF.  
; 10.09.81 16.40.00 
; 
PRDE1 
  
FINDT 
.TXT "FINDTEGN" 
 
; SUBRUTINETABEL


GME00				; GMEM-ADRESSE
.TXT "GMEM<0><0><0><0>"		; NAVN


KSP00
.TXT "KODESPEC"

SME00
.TXT "SMEM<0><0><0><0>"

FIX00
.TXT "FIX<0><0><0><0><0>"

FLO00
.TXT "FLOAT<0><0><0>"

0
GME00:	2
	REAL
	REAL+REFERENCE
	LDA  	2,+0,2		; AC1=A-ADRESSE
	EXECUTE
	GSM00
	RET1
	LDA	1,+0,2		; JA: AC1=INDHOLD AF ADRESSE
	BCALL FLOAT		; AC1 -> KOMMATAL
	LDA	2,U.STK,3
	LDA @	2,+1,2		; AC2=B-ADRESSE
	STA	2,GME01		; GEM B-ADRESSE
	LDA	2,CUR
	A.PDOUBLE		; GEM ADRESSEINDHOLD(A) I B
	1
GME01:	0
	RET1			; END GMEM

GSM00:	LDA 	0,+0,2		; HENT A
	LDA	1,+1,2
	BCALL FIX		; FIX A
	ADCZR	2,2		; AC2=1B0-1
	MOV	0,0,SNR		; 0<=AC1<=1B0-1
	SNG	1,2
	JMP  ERR90		; NEJ: ERROR UDSKRIV MEDD.
	MOV	1,2		; AC1-->AC2
	RET1			; RETURN

ERR90:	ERROR
	90

ERR91:	ERROR
	91
KSP00:	0
	READS	0
	STA	0,KSP01
	RET1
KSP01:	0
SME00:	2			; 2 VARIABLE
	REAL		; A (=A-ADRESSE)
	REAL		; B (=DATA)
	LDA	0,KSP01		; SE GME00
	LDA	1,KSP02
	SUB	1,0,SZR
	JMP  ERR90
	LDA 	2,+1,2		; AC2(!)=B-ADRESSE
	LDA	0,+0,2		; HENT REAL(!) B
	LDA	1,+1,2
	BCALL FIX		; FIX B
	MOV	0,0,SZR		; 0<=B<=65535 ?
	JMP  ERR91		; NEJ ERROR-RETURN
	STA	1,U.S00,3	; GEM AC1(B) I U.S00.USER
	LDA@	2,U.STK,3
	EXECUTE			; EXEC GSM00(A-ADRESSE)
	GSM00
	RET1
	LDA	1,U.S00,3	; AC1=F(UDA+U.S00)=B
	STA	1,+0,2		; AC1-->ADR.AC2
	RET1			; END STOREMEMORY
KSP02:	42798
«ff»
FIX00:	3
	REAL+REFERENCE
	REAL+REFERENCE
	REAL+REFERENCE
	SUBZL	0,0		; AC0=1
	LDA @ 	1,+0,2		; AC1=A-ADRESSE
	LDA	2,CUR		; AC2=CUR
	A.GDOUBLE		; HENT A
	STA	0,U.S00,3	; GEM ORD 1 AF A
	SUBC	0,0		; AC0=0
	BCALL FLOAT		; FLOAT ORD2 AF A
	LDA	2,CUR		; AC2=CUR
	LDA	3,U.STK,3	; AC3=F(F(USER)+U.STK)
	LDA @	3,+2,3		; AC3=C-ADRESSE
	STA	3,FIX01		; GEM C-ADRESSE
	A.PDOUBLE		; GEM FLOAT AF ORD2 AF A I B
	1
FIX01:	0
	LDA	1,U.S00,3	; HENT ORD1 AF A
	SUBC	0,0		; AC0=0
	BCALL FLOAT		; FLOAT ORD1 AF A
	LDA	2,CUR		; AC2=CUR
	LDA	3,U.STK,3	
	LDA @	3,+1,3		; AC3=B-ADRESSE
	STA	3,FIX02		; GEM B-ADRESSE
	A.PDOUBLE		; GEM FLOAT AF ORD2 AF A I C
	1
FIX02:	0
	RET1			; END FIX
FLO00:	3
	REAL
	REAL
	REAL+REFERENCE
	LDA  	2,+0,2		; AC1=A-ADRESSE
	EXECUTE			; EXEC FLO02
	FLO02
	RET0			; HVIS ERROR
	STA	1,U.S00,3	; GEM DEL 1 AF C
	LDA	2,U.STK,3
	LDA  	2,+1,2		; AC1=B-ADRESSE
	EXECUTE
	FLO02
	RET0
	LDA	0,U.S00,3	; HENT DEL 1 AF C
	LDA	2,U.STK,3
	LDA @	2,+2,2		; AC2=C-ADRESSE
	STA	2,FLO01		; GEM C-ADRESSE
	LDA	2,CUR
	A.PDOUBLE		; AC0,AC1-->C
	1
FLO01:	0
	RET1
FLO02:	LDA	0,+0,2
	LDA	1,+1,2		; ** CB RET **
	BCALL FIX		; LAV OM TIL HELTAL
	MOV	0,0,SNR		; 0=<A/B=<32K ???
	RET1			; JA: RETURN
	ERROR			; NEJ: RETURN MED ERROR 90
	90.
«ff»
 
FINDT:	 4 
	 STRING 
	 STRING 
	 REAL 
	 REAL+REFER 
	 LDA 1,4,2	 ;HENT S$ WORD ADR. 
	 MOVL 1,1	 ;BYTE ADR. 
	 LDA 2,CUR 
	 LDA 0,80 
	 A.GBYTE 
	 STA 0,U.S01,3	 ;FØRSTE CHR. AF S$ 
	 LDA 2,U.STK,3
	LDA 0,+10,2	;HENT START INDEKS 
	 LDA 1,+11,2 
	 BCALL FIX 
	 MOV 0,0,SZR 
	 JMP ERUD1	 ;NEGATIV 
	 MOV 1,0 
	 STA 1,U.S00,3	 
	 LDA 2,U.STK,3 
	 LDA 1,+7,2 
	 MOVL 1,1	 ;TXT$ (1) BYTE ADR. 
	 ADD 0,1 	 ;TXT$(INDEKS) BYTE ADR. I AC1 
 
LOP1:	 LDA 2,CUR 
	 LDA 0,U.S00,3	 ;INDEKS OVER LÆNGDE AF TXT$ 
	 SUB # 0,1,SNR 
	 JMP EJF	 ;STED IKKE FUNDET 
	 LDA 0,80 
	 A.GBYTE	 ;HENT BYTE TXT$(INDEKS) 
	 STA 1,U.S02,3	 ; GEM BYTE ADR 
	 LDA 1,U.S01,3	 ; HENT S$ 
	 SUB 0,1,SNR	 ;ENS? 
	 JMP DUMME 
	 ISZ U.S00,3	 ;FORØG INDEKS 
	 ISZ U.S02,3	 ;FORØG BYTE ADR. 
	 JMP LOP1 
  
ERUD1:	 ERROR	 ;INDEKSFEJL 
	 31 
	  
DUMME:	 	LDA 1,U.S00,3	 	 ;FUNDET 
	 SUB 0,0	; STED=INDEKS 
NNN:	  BCALL FLOAT 
	 LDA 3,U.STK,3 
	 LDA 3,+12,3 
	 STA 3,WADRS
	 LDA 2,CUR 
	 A.PDOUBLE 
	 1 
WADRS:	 0 
	 RET1 
 
	 EJF:	 ADC 1,1 
	 ADC 0,0
	 ADC 1,1 	;IKKE FUNDET STED=-1 
	 JMP NNN 
PRDE2 
«ff»
«nul»