IBM SA14-2339-04 Personal Computer User Manual


 
8-18 PPC405 Core User’s Manual
When DBCR1[DV
n
M] = 11, the comparison is an AND-OR (halfword) comparison. This is intended
for use when DBCR1[DV
n
BE] is set to 0011, 0111, or 1111. Other values of DBCR1[DV
n
BE] can be
compared, but the results are more easily understood using the AND and OR comparisons. In
Table 8-4, “not” is ¬, AND is , and OR is .
Table 8-5 illustrates comparisons for aligned DVC accesses, that is, words, halfwords, or bytes on
naturally aligned boundaries (all byte accesses are aligned).
For halfword accesses, the halfword value is replicated in the “empty “ halfword in the DVC register,
for example, if the low-order halfword is to be compared, its value is stored in the low-order halfword
and the high-order halfword of the register. Similarly, a byte value is replicated in each byte in the
register.
Table 8-4. Comparisons Based on DBCR1[DVnM]
DBCR1[DVnM] Setting Operation Comparison
00 Undefined
01 AND (
¬DV
n
BE
0
(DVC1[byte 0] = data[byte 0]))
(¬DV
n
BE
1
(DVC1[byte 1] = data[byte 1]))
(¬DV
n
BE
2
(DVC1[byte 2] = data[byte 2]))
(¬DV
n
BE
3
(DVC1[byte 3] = data[byte 3]))
10 OR (DV
n
BE
0
(DVC1[byte 0] = data[byte 0]))
(DV
n
BE
1
(DVC1[byte 1] = data[byte 1]))
(DV
n
BE
2
(DVC1[byte 2] = data[byte 2]))
(DV
n
BE
3
(DVC1[byte 3] = data[byte 3]))
11 AND-OR (DV
n
BE
0
(DVC1[byte 0] = data[byte 0]))
(DV
n
BE
1
(DVC1[byte 1] = data[byte 1]))
(DV
n
BE
2
(DVC1[byte 2] = data[byte 2]))
(DV
n
BE
3
(DVC1[byte 3] = data[byte 1]))
Table 8-5. Comparisons for Aligned DVC Accesses
Access DBCR1[DVnBE] Setting Value Operation
Word
All
Word value AND
Halfword (Low-Order)
All
Halfword value replicated AND-OR
Halfword (High-Order)
All
Halfword value replicated AND-OR
Byte
All
Byte value replicated OR