RA <- (RS) & ([0]*48 || UI)
+Special Registers Altered:
+
+ CR0
+
# OR Immediate
D-Form
RA <- (RS) | ([0]*48 || UI)
+Special Registers Altered:
+
+ None
+
# AND Immediate Shifted
D-Form
RA <- (RS) & ([0]*32 || UI || [0]*16)
+Special Registers Altered:
+
+ CR0
+
# OR Immediate Shifted
D-Form
RA <- (RS) | ([0]*32 || UI || [0]*16)
+Special Registers Altered:
+
+ None
+
# XOR Immediate Shifted
D-Form
RA <- (RS) ^ ([0]*32 || UI || [0]*16)
+Special Registers Altered:
+
+ None
+
# XOR Immediate
D-Form
RA <- (RS) XOR ([0]*48 || UI)
+Special Registers Altered:
+
+ None
+
# AND
X-Form
RA <- (RS) & (RB)
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# OR
X-Form
RA <- (RS) | (RB)
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# XOR
X-Form
RA <- (RS) ^ (RB)
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# NAND
X-Form
* nand RA,RS,RB (Rc=0)
* nand. RA,RS,RB (Rc=1)
-RA <- ¬((RS) & (RB))
+ RA <- ¬((RS) & (RB))
+
+Special Registers Altered:
+
+ CR0 (if Rc=1)
# NOR
RA <- ¬((RS) | (RB))
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# Equivalent
X-Form
RA <- (RS) => (RB)
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# AND with Complement
X-Form
RA <- (RS) & ¬(RB)
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# OR with Complement
X-Form
RA <- (RS) | ¬(RB)
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# Extend Sign Byte
X-Form
RA[56:63] <- (RS)[56:63]
RA[0:55] <- [s]*56
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# Extend Sign Halfword
X-Form
RA[48:63] <- (RS)[48:63]
RA[0:47] <- [s]*48
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# Count Leading Zeros Word
X-Form
RA <- n - 32
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# Count Trailing Zeros Word
X-Form
RA <- EXTZ64(n)
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# Compare Bytes
X-Form
else
RA[8*n:8* n+7] <- [0]*8
+Special Registers Altered:
+
+ None
+
# Population Count Bytes
X-Form
n <- n+1
RA[(i*8):(i*8)+7] <- n
+Special Registers Altered:
+
+ None
+
# Population Count Words
X-Form
n <- n+1
RA[(i*32):(i*32)+31] <- n
+Special Registers Altered:
+
+ None
+
# Parity Doubleword
X-Form
s <- s / (RS)[i%8+7]
RA <- [0] * 63 || s
+Special Registers Altered:
+
+ None
+
# Parity Word
X-Form
RA[0:31] <- [0]*31 || s
RA[32:63] <- [0]*31 || t
+Special Registers Altered:
+
+ None
+
# Extend Sign Word
X-Form
RA[32:63] <- (RS)[32:63]
RA[0:31] <- [s]*32
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# Population Count Doubleword
X-Form
n <- n+1
RA <- n
+Special Registers Altered:
+
+ None
+
# Count Leading Zeros Doubleword
X-Form
n <- n + 1
RA <- n
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# Count Trailing Zeros Doubleword
X-Form
n <- n + 1
RA <- EXTZ64(n)
+Special Registers Altered:
+
+ CR0 (if Rc=1)
+
# Bit Permute Doubleword
X-Form
perm[i] <- 0
RA <- [0]*56 || perm[0:7]
+Special Registers Altered:
+
+ None
+