Google
 

Trailing-Edge - PDP-10 Archives - tops10and20_integ_tools_v9_3-aug-86 - tools/crc/browse/crmove.mac
There are no other files named crmove.mac in the archive.
	TITLE CRMOVE - MOVES N WORD FROM IA TO IB
	SEARCH CRCSYM,macsym
	ENTRY CRMOVE
	external gtadrs
;
;CALL FROM FORTRAN WITH
;      CALL CRMOVE (IA,IB,N)
;IA IS THE START OF THE SOURCE AREA, could be v7 text
;IB IS THE START OF THE DESTINATION AREA
;N IS THE NUMBER OF WORDS TO COPY ACROSS
;
;
;SET UP THE 2 START ADRESSES IN T1
;AND THE END OF THE 2ND AREA IN T2
;FOR A BLOCK TRANSFER
;
CRMOVE:	MOVE	T3,@2(CX)		;CHECK 3RD ARG >0
	CAIGE	T3,1
	 POPJ	P,			;ERROR RETURN
	MOVEI	T4,@1(CX)		;ADRS OF 2ND ARRAY TO RT 1/2
	setz	t1,			;want address of 1st arg
	call	gtadrs			;could be v7 characters, (t2 trashed)
	MOVE	T2,T4			;SAVE ADRS IN T2
	HRL	T4,T1			;ADRS OF ARRAY 1 TO LT. 1/2
	ADD	T2,T3			;ADD LEN OF ARRAY ,3RD ARG.
	SOJ	T2,			;CORRECT LAST ADRS OF 2ND ARRAY
	BLT	T4,(T2)			;BLOCK TRANSFER
	POPJ	P,			;RETURN
	END