*DECK IMNS IDENT IMNS *CALL COPYRITE CDCNET - COPYRIGHT CONTROL DATA. 1992. ENTRY IMNS SYSCOM B1 TITLE IMNS - MOVE NON-OVERLAPPING STRING COMMENT IMNS - MOVE NON-OVERLAPPING STRING. COMMENT COPYRIGHT CONTROL DATA SYSTEMS INC. 1994. SPACE 4,10 ** IMNS - MOVE NON-OVERLAPPING STRING. * * MOVE DATA FROM A SOURCE BUFFER TO A DESTINATION BUFFER. * * *SYMPL* CALL. * * IMNS (NUMBITS, SRCBUF, SRCBIT, DSTBUF, DSTBIT); * * ENTRY NUMBITS = NUMBER OF BITS TO MOVE. * SRCBUF = ADDRESS OF THE SOURCE BUFFER. * SRCBIT = STARTING BIT POSITION IN THE SOURCE BUFFER * FIRST WORD. * DSTBUF = ADDRESS OF THE DESTINATION BUFFER. * DSTBIT = STARTING BIT POSITION IN THE DESTINATION * BUFFER FIRST WORD. * * EXIT SRCBUF = NEXT WORD ADDRESS OF THE SOURCE BUFFER. * SRCBIT = NEXT BIT POSITION IN THE SOURCE BUFFER. * DSTBUF = NEXT WORD ADDRESS OF THE DESTINATION BUFFER. * DSTBIT = NEXT BIT POSITION IN THE DESTINATION BUFFER * FIRST WORD. * * CALLS XMNS= * * USES A1, A2, A3, A5, A6. * B1, B2, B4. * X0, X1, X3, X4, X5, X6. * IMNS SPACE 4,10 IMNS SUBR ENTRY/EXIT SB1 1 SX6 A1 SAVE PARAMETER ARRAY ADDRESS SA6 PARRAY SA2 A1 GET NUMBER OF BITS TO MOVE SA2 X1 BX0 X2 SA2 A1+B1 GET SOURCE BUFFER ADDRESS SA3 A2+B1 GET SOURCE STARTING BIT SA2 X2 SA4 X3 SB2 X4 SA3 A3+B1 GET DESTINATION BUFFER ADDRESS SA4 X3 SA3 A3+B1 GET DESTINATION STARTING BIT SA5 X3 SB4 X5 RJ =XMNS= MOVE DATA SA1 PARRAY SX6 X2 SA3 X1+B1 SET SOURCE BUFFER NEW POSITION SA6 X3 SX6 B2 SA3 X1+2 SA6 X3 SET SOURCE NEW BIT POSITION SX6 X4 SA3 X1+3 SET DESTINATION BUFFER NEW POSITION SA6 X3 SX6 B4 SA3 X1+4 SA6 X3 SET DST BIT POSITION EQ IMNSX RETURN PARRAY BSS 1 PARAMETER ARRAY ADDRESS END *WEOR