382 AMCC Proprietary
Revision 1.02 - September 10, 2007
PPC405 Processor
Preliminary User’s Manual
rotlwi RA, RS, n Rotate left immediate.
(RA)
← ROTL((RS), n)
Extended mnemonic for
rlwinm RA,RS,n,0,31
300
rotlwi. Extended mnemonic for
rlwinm. RA,RS,n,0,31
CR[CR0]
rotrwi RA, RS, n Rotate right immediate.
(RA)
← ROTL((RS), 32−n)
Extended mnemonic for
rlwinm RA,RS,32−n,0,31
300
rotrwi. Extended mnemonic for
rlwinm. RA,RS,32−n,0,31
CR[CR0]
sc System call exception is generated.
(SRR1) ← (MSR)
(SRR0)
← (PC)
PC
← EVPR
0:15
|| x'0C00'
(MSR[WE, PR, EE, PE, DR, IR]) ← 0
303
slw RA, RS, RB Shift left (RS) by (RB)
27:31
.
n ← (RB)
27:31.
r ← ROTL((RS), n).
if (RB)
26
= 0 then m
← MASK(0, 31 – n)
else m ←
32
0.
(RA) ← r ∧ m.
304
slw. CR[CR0]
slwi RA, RS, n Shift left immediate. (n < 32)
(RA)
0:31−n
← (RS)
n:31
(RA)
32−n:31
←
n
0
Extended mnemonic for
rlwinm RA,RS,n,0,31−n
300
slwi. Extended mnemonic for
rlwinm. RA,RS,n,0,31−n
CR[CR0]
sraw RA, RS, RB Shift right algebraic (RS) by (RB)
27:31
.
n ← (RB)
27:31
.
r ← ROTL((RS), 32 – n).
if (RB)
26
= 0 then m
← MASK(n, 31)
else m ←
32
0.
s ← (RS)
0.
(RA)
← (r ∧ m) ∨ (
32
s ∧¬m).
XER[CA] ← s ∧ ((r ∧¬m) ≠ 0).
305
sraw. CR[CR0]
srawi RA, RS, SH Shift right algebraic (RS) by SH.
n ← SH.
r
← ROTL((RS), 32 – n).
m
← MASK(n, 31).
s
← (RS)
0.
(RA)
← (r ∧ m) ∨ (
32
s ∧¬m).
XER[CA]
← s ∧ ((r ∧¬m)≠0).
306
srawi. CR[CR0]
srw RA, RS, RB Shift right (RS) by (RB)
27:31
.
n
← (RB)
27:31
.
r ← ROTL((RS), 32 – n).
if (RB)
26
= 0 then m
← MASK(n, 31)
else m
←
32
0.
(RA)
← r ∧ m.
307
srw. CR[CR0]
srwi RA, RS, n Shift right immediate. (n < 32)
(RA)
n:31
← (RS)
0:31−n
(RA)
0:n−1
←
n
0
Extended mnemonic for
rlwinm RA,RS,32−n,n,31
300
srwi. Extended mnemonic for
rlwinm. RA,RS,32−n,n,31
CR[CR0]
stb RS, D(RA) Store byte (RS)
24:31
in memory at
EA = (RA|0) + EXTS(D).
308
stbu RS, D(RA) Store byte (RS)
24:31
in memory at
EA = (RA|0) + EXTS(D).
Update the base address,
(RA)
← EA.
309
Table A-1. PPC405 Instruction Syntax Summary (Continued)
Mnemonic Operands Function Other Registers Changed Page