The xVME register class is used for single cycle VME accesses.

The register value is a data item of length (in bits) given by the -l attribute which occupies a field in the VME data word with least significant bit given by the -b attribute. Whole words can be accessed by setting the length and bit attributes to zero (the default values).

The class accepts data values in decimal, hexadecimal or binary format.

All address variables are VME addresses and are thus expressed in units of bytes (8 bits).

Register values for the xVME class are text strings.

Attributes :-

-a    VME base address

-o    offset

-w    width of VME address in bits. Options are 16; 24; 32.

-d    width of VME data access in bits. Options are 8; 16; 32.

-u    use. Options are d (data); p (program).

-m    mode. Options are n (non-privileged); s (supervisory).

-m    VME address modifier.

If a numeric value is supplied this is taken to be a VME address modifier and the -u and -w attributes are ignored. Otherwise the -m, -u and -w attributes are taken to define the VME address modifier.

-p    access permission (rw, ro, wo)

-l    length of bit field

-b    bit position

-z    data format

-i    initial value

-s    status switch

default attributes     :   -a 0x0 -o 0x0 -w 32 -d 32 -u d -m n -p rw -l 0 -b 0 -z x -s 0
The default address modifier is thus 0x09 (A32 data access non-privileged)
The default attribute value is used for any attribute not defined by a write-attributes procedure call.

data for write operations may be supplied in any format but the data format attribute (-z) will determine the format used when returning data for read operations.

The absolute VME address used is given by base address + offset.

The INITIALISE operation is permitted only for regsiters having access attribute rw or wo and will only write data to VME if an initial value has been explicitly defined by the -i attribute.