VxiMove Procedure

Copies a block of data from a specified source location in any address space to a specified destination in any address space.

Syntax

[ lStatus = ] VxiMove ( lSrcMode, lSrcAddr, lDstMode, lDstAddr, lLength, lWidth )

The VxiMove procedure syntax has the following parts:

 

Name

Type

Description

lStatus

Long

Status

lSrcMode

Val Long

Source access mode

lSrcAddr

Val Long

Source address

lDstMode

Val Long

Destination access mode

lDstAddr

Val Long

Destination address

lLength

Val Long

Number of elements to transfer

lWidth

Val Long

Width in bytes of elements (1, 2 or 4)

Comments

The function may be used when a direct read and write from a VXI bus address is required.

The lSrcMode and lDstMode parameters are specified as follows:

Bits 0,1 - VXI address space:

 

1

A16

2

A24

3

A32

Bits 2,3,4 - Access Privilege:

 

0

Nonprivileged data access

1

Supervisory data access

2

Nonprivileged program access

3

Supervisory program access

4

Nonprivileged block access

5

Supervisory block access

Bit 7 - Byte Order:

 

0

Motorola (MSB first)

1

Intel (LSB first)

All other bits should be 0.

If lStatus is negative, an error has occurred. Otherwise, the function is successful.

Example

The following command moves 2KB from A24 space at 0x300000 to A16 space at 0xC800. The tranfer is word wide, nonprivileged data in Motorola byte order:

VxiMove (2, 0x300000, 1, 0xC800, 0x800, 2)

See Also

VxiIn, VxiOut