inter-dependence.
It is however important to note that the rationale for these instructions
-comes from a more general-purpose moderen computing paradigm that is
+comes from a more general-purpose modern computing paradigm that is
outside of IBM's much more focussed and specialist traditional customer
base. We deeply respect IBM's curator role of the Power ISA of the past 25
years as much as we appreciate their courage in transferring that role
a1 = a1 & mask
a2 = a2 & mask
mode3 = (bm >> 3) & 0b11
- if mode3 == 0: RT = a1 | a2
- if mode3 == 1: RT = a1 & a2
- if mode3 == 2: RT = a1 ^ a2
- if mode3 == 3: RT = 0 # UNDEFINED
- RT &= mask
+ if mode3 == 0: RS = a1 | a2
+ if mode3 == 1: RS = a1 & a2
+ if mode3 == 2: RS = a1 ^ a2
+ if mode3 == 3: RS = 0 # RESERVED
+ RS &= mask
if not zero:
- RT |= RA & ~mask
- return RT
+ # put back masked-out bits of RA
+ RS |= RA & ~mask
+ return RS
SBF = 0b01010 # set before first
SOF = 0b01001 # set only first