Showing changes from revision #2:
Added | Removed
Function Name
i_MoveData
Purpose
Identical to [[GEOS Programmer's Reference Guide+GEOS Kernal Routines+MoveData|MoveData]], but with inline data. Intelligent block move.
Call Address
$C187
Input
The addresses to use are provided inline in the bytes following the call:
JSR i_MoveData ;The routine call.
.word SourceAddress ;The address of the region to move.
.word DestinationAddress ;The address of the region to receive the moved data.
.word LengthofTransfer ;The length of the region to move.
NOP ;Control returns here after the JSR.
Description
This routine will perform an intelligent, nonconflicting block move of memory. If an attempt is made to move a block of memory to a destination within the block, the transfer is done from back to front so as to prevent the conflict or 'ripple effect.' This routine uses inline data to set everything up before calling [[GEOS Programmer's Reference Guide+GEOS Kernal Routines+MoveData|MoveData]]. The stack is altered so that returning from this routine skips the 6 bytes following the call. The intervening 6 bytes are used as the routine's input.


