HPlogo MPE/iX Intrinsics Reference Manual > Chapter 7 Command Definitions (HP32208-HPLOACNMPROC)

HPFMOVEDATA

MPE documents

Complete PDF
Table of Contents
Index

Edition 7 E0701 ♥
Edition 7 E0300
Edition 6 E0195

NM callable only.

This routine can be used to efficiently move data from a source buffer to a target buffer.

Syntax



               I64    @64         @64         I32
  HPFMOVEDATA (count, source_ptr, target_ptr, status);

Parameters


count

64-bit signed integer by reference (required)

The count parameter allows the caller to specify the number of bytes to move from the source buffer to the target buffer.

source_ptr

64-bit pointer by value (required)

The source_ptr can be a 64-bit pointer to any valid object that the calling process has access to. The buffer may be in the caller's stack, heap, or obtained by opening a file with user mapped access

target_ptr

64-bit pointer by value (required)

The target_ptr can be a 64-bi pointer to any valid object that the calling proceThis intrinsic is especially useful when the source and target buffers are overlapping. The HPFMOVEDATARTOL intrinsic is typically used when the target buffer's address is to the right (larger) of the source buffer's address. Moving the data from the right to the left ensures that the data in the source buffer is copied to the target buffer before it is overwritten itselfss has access to. The buffer may be in the caller's stack, heap, or obtained by opening a file with user mapped access.

status

32-bit signed integer by reference (optional)

Returns the status of the HPFMOVEDATA call. If no errors or warnings are encountered, status returns 32 bits of zero. If errors or warnings are encountered, status is interpretted as two 16-bit fields. Bits (0:16) comprise status.info. A negative value indicates an error condition, and a positive value indicates a warning condition. Bits (16:16) comprise status.subsys. The value represents the subsystem that set the status information.

Operation Notes


When calling the HPFMOVEDATA intrinsic it is important to ensure that the source and target buffers are not overlapping. The results of a HPFMOVEDATA call when source and target buffers are overlapping are undefined. If source and target buffers are overlapping, the HPFMOVEDATALTOR or HPFMOVEDATARTOL intrinsics should be used.

Related Information


Intrinsics HPFADDTOPOINTER, HPFFILLDATA, HPFMOVEDATALTOR, HPFMOVEDATARTOL
Manuals Accessing Files Programmer's Guide




HPFFILLDATA


HPFMOVEDATALTOR