else RT <- (RA) + EXTS(SI)
Special Registers Altered:
+
None
# Add Immediate Shifted
else RT <- (RA) + EXTS(SI || [0]*16)
Special Registers Altered:
+
None
# Add PC Immediate Shifted
RT <- NIA + EXTS(D || [0]*16)
Special Registers Altered:
+
None
# Add
RT <- (RA) + (RB)
Special Registers Altered:
+
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- ¬(RA) + (RB) + 1
Special Registers Altered:
+
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- (RA) + EXTS(SI)
Special Registers Altered:
+
CA CA32
# Add Immediate Carrying and Record
RT <- (RA) + EXTS(SI)
Special Registers Altered:
+
CR0 CA CA32
# Subtract From Immediate Carrying
RT <- ¬(RA) + EXTS(SI) + 1
Special Registers Altered:
+
CA CA32
# Add Carrying
RT <- (RA) + (RB)
Special Registers Altered:
+
CA CA32
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- ¬(RA) + (RB) + 1
Special Registers Altered:
+
CA CA32
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- (RA) + (RB) + CA
Special Registers Altered:
+
CA CA32
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- ¬(RA) + (RB) + CA
Special Registers Altered:
+
CA CA32
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- (RA) + CA - 1
Special Registers Altered:
+
CA CA32
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- ¬(RA) + CA - 1
Special Registers Altered:
+
CA CA32
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
if CY=0 then RT <- (RA) + (RB) + OV
Special Registers Altered:
+
OV OV32 (if CY=0 )
# Subtract From Zero Extended
RT <- ¬(RA) + CA
Special Registers Altered:
+
CA CA32
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- (RA) + CA
Special Registers Altered:
+
CA CA32
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- ¬(RA) + 1
Special Registers Altered:
+
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- prod[64:127]
Special Registers Altered:
+
None
# Multiply High Word
RT[0:31] <- undefined
Special Registers Altered:
+
CR0 (bits 0:2 undefined in 64-bit mode) (if Rc=1)
# Multiply Low Word
RT <- (RA)[32:63] * (RB)[32:63]
Special Registers Altered:
+
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT[0:31] <- undefined
Special Registers Altered:
+
CR0 (bits 0:2 undefined in 64-bit mode) (if Rc=1)
# Divide Word
RT[0:31] <- undefined
Special Registers Altered:
+
CR0 (bits 0:2 undefined in 64-bit mode) (if Rc=1)
SO OV OV32 (if OE=1)
RT[0:31] <- undefined
Special Registers Altered:
+
CR0 (bits 0:2 undefined in 64-bit mode) (if Rc=1)
SO OV OV32 (if OE=1)
RT[0:31] <- undefined
Special Registers Altered:
+
CR0 (bits 0:2 undefined in 64-bit mode) (if Rc=1)
SO OV OV32 (if OE=1)
RT[0:31] <- undefined
Special Registers Altered:
+
CR0 (bits 0:2 undefined in 64-bit mode) (if Rc=1)
SO OV OV32 (if OE=1)
RT[0:31 ] <- undefined
Special Registers Altered:
+
None
# Modulo Unsigned Word
RT[0:31 ] <- undefined
Special Registers Altered:
+
None
# Deliver A Random Number
RT <- random(L)
Special Registers Altered:
+
none
# Multiply Low Doubleword
RT <- prod[64:127]
Special Registers Altered:
+
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- prod[0:63]
Special Registers Altered:
+
CR0 (if Rc=1)
# Multiply High Doubleword Unsigned
RT <- prod[0:63]
Special Registers Altered:
+
CR0 (if Rc=1)
# Multiply-Add High Doubleword VA-form
RT <- sum[0:63]
Special Registers Altered:
+
None
# Multiply-Add High Doubleword Unsigned
RT <- sum[0:63]
Special Registers Altered:
+
None
# Multiply-Add Low Doubleword
RT <- sum[64:127]
Special Registers Altered:
+
None
# Divide Doubleword
RT <- dividend / divisor
Special Registers Altered:
+
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- dividend / divisor
Special Registers Altered:
+
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- dividend / divisor
Special Registers Altered:
+
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- dividend / divisor
Special Registers Altered:
+
CR0 (if Rc=1)
SO OV OV32 (if OE=1)
RT <- dividend % divisor
Special Registers Altered:
+
None
# Modulo Unsigned Doubleword
RT <- dividend % divisor
Special Registers Altered:
+
None