HP 3000 Manuals

DMOVIN [ MPE/iX Intrinsics Reference Manual ] MPE/iX 5.0 Documentation


MPE/iX Intrinsics Reference Manual

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 Figure 4-1 , 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 . ___________________________________________________________ | | | | | 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 +--------------+ | | | | | ___________________________________________________________ Figure 4-1. DMOVIN Data Movement. 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)


MPE/iX 5.0 Documentation