18
MicroBlaze Processor Reference Guide
UG081 (v14.7)
Chapter 2:
MicroBlaze Architecture
TN
C
A
PUT Ra,FSLx
011011
00000
Ra
1
N
1
TA
0000000 &
FSLx
FSLx := Ra (control write, blocking if
N
= 0)
MSR[C] := FSL
x
_M_Full if
N
= 1
OR Rd,Ra,Rb
100000
Rd
Ra
Rb
00000000000 Rd := Ra or Rb
AND Rd,Ra,Rb
100001
Rd
Ra
Rb
00000000000 Rd := Ra and Rb
XOR Rd,Ra,Rb
100010
Rd
Ra
Rb
00000000000 Rd := Ra xor Rb
ANDN Rd,Ra,Rb
100011
Rd
Ra
Rb
00000000000 Rd := Ra and Rb
PCMPBF Rd,Ra,Rb
100000
Rd
Ra
Rb
10000000000 Rd := 1 if (Rb[0:7] = Ra[0:7]) else
Rd := 2 if (Rb[8:15] = Ra[8:15]) else
Rd := 3 if (Rb[16:23] = Ra[16:23]) else
Rd := 4 if (Rb[24:31] = Ra[24:31]) else
Rd := 0
PCMPEQ Rd,Ra,Rb
100010
Rd
Ra
Rb
10000000000 Rd := 1 if (Rd = Ra) else
Rd := 0
PCMPNE Rd,Ra,Rb
100011
Rd
Ra
Rb
10000000000 Rd := 1 if (Rd != Ra) else
Rd := 0
SRA Rd,Ra
100100
Rd
Ra
0000000000000001
Rd := s(Ra >> 1)
C := Ra[31]
SRC Rd,Ra
100100
Rd
Ra
0000000000100001
Rd := C & (Ra >> 1)
C := Ra[31]
SRL Rd,Ra
100100
Rd
Ra
0000000001000001
Rd := 0 & (Ra >> 1)
C := Ra[31]
SEXT8 Rd,Ra
100100
Rd
Ra
0000000001100000
Rd := s(Ra[24:31])
SEXT16 Rd,Ra
100100
Rd
Ra
0000000001100001
Rd := s(Ra[16:31])
CLZ Rd, Ra
100100
Rd
Ra
0000000011100000
Rd = clz(Ra)
SWAPB Rd, Ra
100100
Rd
Ra
0000000111100000
Rd = (Ra)[24:31, 16:23, 8:15, 0:7]
SWAPH Rd, Ra
100100
Rd
Ra
0000000111100010
Rd = (Ra)[16:31, 0:15]
WIC Ra,Rb
100100
00000
Ra
Rb
00001101000 ICache_Line[Ra >> 4].Tag := 0 if
(C_ICACHE_LINE_LEN = 4)
ICache_Line[Ra >> 5].Tag := 0 if
(C_ICACHE_LINE_LEN = 8)
WDC Ra,Rb
100100
00000
Ra
Rb
00001100100 Cache line is cleared, discarding stored data.
DCache_Line[Ra >> 4].Tag := 0 if
(C_DCACHE_LINE_LEN = 4)
DCache_Line[Ra >> 5].Tag := 0 if
(C_DCACHE_LINE_LEN = 8)
Table 2-6:
MicroBlaze Instruction Set Summary
(Continued)
Type A
0-5
6-10
11-15 16-20
21-31
Semantics
Type B
0-5
6-10
11-15
16-31