pTAL Reference Manual (H06.03+)
Built-In Routines
HP pTAL Reference Manualβ523746-005
15-66
$MOVEANDCXSUMBYTES
destaddr input,output
EXTADDR:variable
is the address to which $MOVEANDCXSUMBYTES moves data. When
$MOVEANDCXSUMBYTES completes, destaddr points to the memory
location following the last byte written.
srcaddr input,output
EXTADDR:variable
is the address from which bytes are read. When $MOVEANDCXSUMBYTES
completes, srcaddr points to the memory location following the last byte
read.
count input
uINT:value
is the number of bytes to move.
$MOVEANDCXSUMBYTES transfers count bytes from srcaddr to destaddr and
computes a checksum (bytewise exclusive βorβ) on the data moved. When
$MOVEANDCXSUMBYTES completes, srcaddr points to the immediate right of the
last byte read, destaddr points to the immediate right of the last byte written, and
checksum holds the newly computed checksum.
$MOVEANDCXSUMBYTES does not ensure that the source and destination buffers
do not overlap.
Example 15-59. $MOVEANDCXSUMBYTES Routine
INT checksum;
INT .EXT source;
INT .EXT dest;
INT(32) count;
checksum := 0;
$MOVEANDCXSUMBYTES(checksum, @dest, @source, count);










