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