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

⟦c1d41e877⟧ TextFile

    Length: 4096 (0x1000)
    Types: TextFile
    Names: »YTMOV«

Derivation

└─⟦45bd0f8dd⟧ Bits:30000464 DOMUS disk image
    └─ ⟦this⟧ »/YTMOV« 
└─⟦6dbcc9c03⟧ Bits:30000463 DOMUS disk image
    └─ ⟦this⟧ »/YTMOV« 
└─⟦a2e222af0⟧ Bits:30001626 DOMUS disk image
    └─ ⟦this⟧ »/YTMOV« 

TextFile


;		MOVING TEST FOR GENERAL PURPUOSE
;						FS 82.06.21
.TITL CMOVE
.RDX 8
.LOC 0

;******************************************************************************
;THE FOLLOING PROGRAM IS OVERWRITEN BY THE MOVELOOP

INIT:	IORST				; RESET AND (NR_OF_RUN*2)
	DICP	0	1		; SET EXT MEM FLAG
	LDA	2	ESIZE		; FIND-MEM-SIZE:
	SKPDN		1		;
	SUB	2,2			; <= 64KB
	LDA	0	TPATT		; <=128KB
	LDA	3	MSIZE		;
SA:	ADD	3,2	SZR		;
	JMP	SB			; 128KB
	SKPDN		1		;
	LDA	2	ESIZE		; 64KB
	JMP	SC			;
SB:	STA	0	0,2		;
	LDA	1	0,2		; 
	SUB#	0,1	SNR		;
	JMP	SA			;
SC:	STA	2	MSIZE		; FOUND
	DSZ		MSIZE		; MSIZE:=ACTUEL SIZE
ML:	LDA	3	LSTARTP		;
	LDA	2	LOOPLENGTH	;
	ADD	3,2			;
	STA	2	ISTARTRUN	;
	STA	3	-4,2		; LOOPP2:=STARTPOINTER;
	LDA	0	LOOPLENGTH	;
	COM	0,0			;
	STA	0	-1,2		; LOOPL:=LOOPLENGTH;
	LDA	1	MSIZE		;
	INC	1,1			;
	ADD	0,1			;
	STA	1	-2,2		; LASTA:=MEM-_SIZE-LOOPL
	INC	2,2			; AC2:=PUTPOINTER;
	LDA	1	0,3		; AC3:=GETPOINTER;
	STA	1	0,2		;
	INC	3,3			;
	INC	2,2			;
	INC	0,0	SZR		;
	JMP	.-5			;
	STA	0	INIT		; LOOPCOUNT:=0;
	STA	3	-5,3		; LOOPP1:=STARTP+LOOPL+1;
	ISZ	ISTARTRUN		;
	JMP@	ISTARTRUN		; START RUN

LOOPLENGTH	:	77		; ONLY THIS PARAMETER IS TO
					; CHANGE IF A NEW LOOP IS
					; INSTALLED. = LOOP + 34 OKT
MSIZE	:	 20000			; MEMSIZE INIT AUTOMATIC
ESIZE	:	100000			;
TPATT	:	125252			; TEST_PATTERN
LSTARTP	:	   400			; STARTPOINTER
ISTARTRUN:	     0			; START OF TMOVE


;******************************************************************************
«ff»

;TMOVE_LOOP

.NREL

ENTRY:	STA	2	LSAVE		; *** TEST_LOOP ***
	LDA	3	LMASK		;
	MOVS	2,0			;
	LDA	2	M10		; RANDOM(ADDR);
	MOVZL	0,1			;
	MOVZL	1,1			;
	INC	2,2	SZR		;
	JMP	.-2			;
	ADD	0,1			;
	MOVZL	1,1			;
	MOVZL	1,1			;
	ADD	1,0			;
	LDA	1	RCONST		;
	ADD	1,0			;
	AND	3,0			; 0-255

	LDA	2	LSAVE		;
	NEG	0,0			;
T0:	STA	0	LSAVE		;
	READS	1			;
	MOV	1,1	SZC		;
	JMP	T1			;
	NEG	0,0			;
	ISZ	LSAVE			;
	JMP	.-2			;
	JMP	BACK			;

T1:	LDA	3	LSAVE		;
	SUB#	0,3	SZR		;
	HALT				; ERROR AC0=EXPT, AC1=REC
	MOVL	1,1			;
	INC	0,0	SZR		;
	JMP	T0			;
	JMP	BACK			;

RCONST		:	33031		;
M10		:	  -10		;
LSAVE		:	    0		;
LMASK		:	  377		;
					; *** END TEST_LOOP ***



«ff»

;*******************************************************************************
;	THE FOLLOING PROGRAMM IS THE MOVE_LOOP

BACK:	LDA	2	LOOPPX		; GETPOINTER:=LOOPPOINTER;
	LDA	0	FIRSTAX		;
	DSZ		LOOPPX		; LOOPP:=LOOPP-1;
	JMP	.+1			;
	LDA	3	LOOPPX		;
	SUB#	0,3	SNR		; IF LOOPP = FIRSTA THEN
	JMP	NEWSET			; GOTO NEWSET;
WMOVE:	LDA	1	LLOOPLX		; AC1:=LOOPLENGTH;
	LDA	0	0,2		; CO(AC3):=CO(AC2);
	STA	0	0,3		;
	LDA	0	CHALTX		; CO(AC2):=HALT;
	STA	0	0,2		;
	INC	3,3			; AC3:=AC3+1;
	INC	2,2			; AC2:=AC2+1;
	INC	1,1	SZR		; UNTIL AC1 = 0;
	JMP	.-7			;
	JMP@	LOOPPX			; GOTO LOOP2;
NEWSET:	ISZ	INIT			; LOOPCOUNT=NR OF LRUNS
	JMP	.+2			;
	HALT				; RUN OUT 32767 RUNS
	LDA	3	LASTAX		;
	STA	3	LOOPPX		; LLOOPPOINTER:=LASTADDR;
	JMP	WMOVE			;

LOOPPX		:	0		; -4   LOOPPOINTER
FIRSTAX		:	0		; -3   FIRST_ADDRESS OF MEM
LASTAX		:	0		; -2   LASTADDRESS OF MEM
LLOOPLX		:	0		; -1   -LOOPLENGTH
CHALTX		:  063077		;  0   HALT_COMMAND

;*****************************************************************************


.END	INIT
«ff»
«nul»