Specifications

Chapter 5: Programming the VMEbus Interface
45
Supported Address Modifiers
The table below lists supported address modifiers:
Low-Level Programming “E” Page Accesses
Two examples are given here including both a verbal description and the C source code for
performing VMEbus accesses through the “E” page.
Example #1
Example #1 performs a 16-bit read from the VMEbus A16 space.
1. Set the VME E-page enable bit in Register 8102h.
2. Determine the correct address modifier for A16 supervisory access (2Dh)
3. The unused address lines A31–A16 are driven to unspecified levels when not used.
4. Set the access mode in the VME Modifier Register (8151h) as follows:
(Note that register bits are not defined for the VMEbus address modifier lines AM3 and
AM0 since, for all defined address modifier values in the VMEbus specification, AM3 is 1
and AM0 is the inverse of AM1. Therefore these two bit values are generated by
hardware.)
Bits 7 & 6 Since the A16 space does not use VMEbus address lines A23 & A22, set these
values to 1.
VME WA 23–22 = 11
Bit 5 Set the byte order to “little endian”.
BORD = 0
Bit 4 Clear the IACK bit so this is not an interrupt acknowledge cycle.
IACK = 0
Bits 3–0 Use the address modifier (in binary form) to determine the appropriate values
Table 5-1. Supported Address Modifiers
Address modifier Description
29h A16 non-privileged
2Dh A16 supervisor
39h A24 non-privileged data
3Ah A24 non-privileged program
3Dh A24 supervisor data
3Eh A24 supervisor program
09h A32 non-privileged data
0Ah A32 non-privileged program
0Dh A32 supervisor data
0Eh A32 supervisor program
VME WA23–22 BORD IACK AM5 AM4 AM2 AM1