HPlogo 900 Series HP 3000 Computer Systems: MPE/iX Intrinsics Reference Manual > Chapter 4 Command Definitions

DMOVIN

» 

Technical documentation

Complete book in PDF
» Feedback

 » Table of Contents

 » Index

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

DMOVOUT, GETDSEG

Commands

None

Manuals

Introduction to MPE XL for MPE V Programmers (30367-90005)

Feedback to webmaster