MPE/iX Intrinsics Reference Manual (32650-90905)

98 Chapter4
Command Definitions (ABORTSESS - FCLOSE)
DMOVIN
DMOVIN
NM and CM callable.
Copies data from an extra data segment into a data area. Data segment management (DS)
capability is required.
NOTE Data segment management (DS) intrinsics are not recommended for use in
the NM programming environment; use of DS intrinsics in NM degrades an
NM program's performance.
Syntax
U16V I16V I16V U16A
DMOVIN(
index,displacement,number,location
);
Parameters
index
16-bit unsigned integer by value (required)
Specifies the index of the extra data segment, obtained from a GETDSEG
intrinsic call.
displacement
16-bit signed integer by value (required)
Specifies the displacement, in half words, of the first half word in the
string to be transferred from the first half word in the data segment. This
value must be >=0.
number
16-bit signed integer by value (required)
Specifies the size, in half words, of the data string to be transferred. This
value must be >=0.
location
16-bit unsigned integer array (required)
Contains the array (buffer) in the stack where the data string is to be
moved.
Operation Notes
When DMOVIN is called, a bounds check is initiated to ensure that the data is taken from
within the data segment boundaries and moved to an available data area. For example, in
<Undefined Cross-Reference>, to move four half words from locations 422 through 425 of
the extra data segment (whose
index
is 21) to array ARA (located in your data area), the
intrinsic call would be:
DMOVIN(21,422,4,ARA[10]);
The
index
is 21 (refer to GETDSEG);
displacement
within the data segment is 422; the
number
of half words to move into the data area is 4; and the
location
to begin