MOVEVARADDR


9.8A

The MOVEVARADDR instruction moves the UDA memory address of the actual data for a DIM or INTEGER into a destination INTEGER by value. The intended use of this instruction is eliminate the necessity of using a MOVEA instruction to determine the memory addresses which is required when using the WINAPI instruction. The instruction uses the following format:

 

(1)

[label]

MOVEVARADDR

{source1}{sep}{dest}

 

Where:

label

Optional. A Program Execution Label.

source1

Required. A previously defined Character String Variable, or INTEGER variable whose data address is moved by value to the {dest} INTEGER variable.

sep

Required. A comma or one of the following prepositions: BY, TO, OF, FROM, USING, WITH, IN, or INTO.

dest

Required. A previously defined INTEGER Variable that has a size of 4 or 8 bytes. The UDA data address of the {source} is moved to this variable.

Flags Affected: NONE

Note the following:

  1. The UDA data address for the {source} variable points to the actual data after the header for the DIM or INTEGER variable. This memory address always points to the first byte following the header for {source} variable.

  2. The primary use of the MOVEVARADDR instruction is to eliminate the required use of the MOVEA instruction when a WINAPI 'C' structure parameter requires embedded addresses of physical data that exists in a DIM or INTEGER variable.

 

 

See Also: Example Code, System Interface Instructions

 



PL/B Language Reference MOVELV MOVEVL