HPlogo MPE/iX Intrinsics Reference Manual > Chapter 4 Command Definitions (ABORTSESS - FCLOSE)

DMOVIN

MPE documents

Complete PDF
Table of Contents
Index

Edition 7 E0701 ♥
Edition 7 E0300
Edition 6 E0195

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 Figure 4-1 "DMOVIN Data Movement", 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 transferring the data is the address of ARA[10]. If ARA is an array of half words, the four half words are moved to ARA[10] through ARA[13], as shown in Figure 4-1 "DMOVIN Data Movement".

Figure 4-1 DMOVIN Data Movement


     ARA[1..n]                      Extra Data Segment
   1 +--------------+             0 +--------------+
   2 |--------------|             1 |--------------|
   3 |--------------|             2 +--------------+
   4 |--------------|                      .
   5 |--------------|                      .
   6 |--------------|                      .
   7 |--------------|               +--------------+
   8 |--------------|           420 |--------------|
   9 |--------------|           421 |--------------|
  10 |--------------| <-------- 422 |--------------|
  11 |--------------| <-------- 423 |--------------|
  12 |--------------| <-------- 424 |--------------|
  13 |--------------| <-------- 425 +--------------+
  14 +--------------+
             .                             .
             .                             .
             .                             .
     +--------------+               +--------------+
   n +--------------+         12000 +--------------+

Condition Codes


CCE (2)Request granted.
CCG (0)Request denied. A bounds-check failure occurred.
CCL (1)Request denied. Illegal index or number parameter.

Related Information


Intrinsics ALTDSEG, DMOVOUT, FREEDSEG, GETDSEG, SWITCHDB
Manuals Introduction to MPE XL for MPE V Programmers




DLSIZE


DMOVOUT