Pseudo-code:
- if RA = 0 then RT <- EXTS(SI)
- else RT <- (RA) + EXTS(SI)
+ RT <- (RA|0) + EXTS(SI)
Special Registers Altered:
Pseudo-code:
- if RA = 0 then RT <- EXTS(SI || [0]*16)
- else RT <- (RA) + EXTS(SI || [0]*16)
+ RT <- (RA|0) + EXTS(SI || [0]*16)
Special Registers Altered:
prod[0:63] <- MULS((RA)[32:63], (RB)[32:63])
RT <- prod
- overflow <- ((prod[0:33] != 0x0_0000_0000) &
- (prod[0:33] != 0x1_ffff_ffff))
+ overflow <- ((prod[0:32] != [0]*33) &
+ (prod[0:32] != [1]*33))
Special Registers Altered:
overflow <- 1
else
result <- DIVS(dividend, divisor)
- if (result[32:63] = 0) then
- RT[32:63] <- result[0:31]
+ if (result[0:31] = 0) then
+ RT[32:63] <- result[32:63]
RT[0:31] <- undefined[0:31]
overflow <- 0
else
else
result <- dividend / divisor
if (RA) < (RB) then
- RT[32:63] <- result[0:31]
+ RT[32:63] <- result[32:63]
RT[0:31] <- undefined[0:31]
overflow <- 0
else
X-Form
-* darn RT,L
+* darn RT,L3
Pseudo-code:
- RT <- random(L)
+ RT <- random(L3)
Special Registers Altered:
prod[0:127] <- MULS((RA), (RB))
RT <- prod[64:127]
- overflow <- ((prod[0:65] != 0x0_0000_0000_0000_0000) &
- (prod[0:65] != 0x1_ffff_ffff_ffff_ffff))
+ overflow <- ((prod[0:64] != [0]*65) &
+ (prod[0:64] != [1]*65))
Special Registers Altered:
overflow <- 1
else
result <- DIVS(dividend, divisor)
- if result[64:127] = 0x0000_0000_0000_0000 then
- RT <- result[63:127]
+ if result[0:64] = 0x0000_0000_0000_0000 then
+ RT <- result[0:63]
overflow <- 0
else
overflow <- 1
else
result <- dividend / divisor
if (RA) < (RB) then
- RT <- result[63:127]
+ RT <- result[0:63]
overflow <- 0
else
overflow <- 1