MicroBlaze Processor Reference Guide
17
UG081 (v14.7)
Instructions
TNA
PUTD Ra,Rb
010011
00000
Ra
Rb
0
N
0
TA
0
00000
FSL Rb[28:31] := Ra (data write)
MSR[C] := FSL_M_Full if
N
= 1
TNE
C
A
GETD Rd,Rb
010011
Rd
00000
Rb
0
N
1
TAE
00000
Rd := FSL Rb[28:31] (control read)
MSR[FSL] := 1 if (FSL_S_Control = 0)
MSR[C] := not FSL_S_Exists if
N
= 1
TN
C
A
PUTD Ra,Rb
010011
00000
Ra
Rb
0
N
1
TA
0
00000
FSL Rb[28:31] := Ra (control write)
MSR[C] := FSL_M_Full if
N
= 1
FADD Rd,Ra,Rb
010110
Rd
Ra
Rb
00000000000 Rd := Rb+Ra, float
1
FRSUB Rd,Ra,Rb
010110
Rd
Ra
Rb
00010000000 Rd := Rb-Ra, float
1
FMUL Rd,Ra,Rb
010110
Rd
Ra
Rb
00100000000 Rd := Rb*Ra, float
1
FDIV Rd,Ra,Rb
010110
Rd
Ra
Rb
00110000000 Rd := Rb/Ra, float
1
FCMP.UN Rd,Ra,Rb
010110
Rd
Ra
Rb
01000000000 Rd := 1 if (Rb = NaN or Ra = NaN, float
1
)
else
Rd := 0
FCMP.LT Rd,Ra,Rb
010110
Rd
Ra
Rb
01000010000 Rd := 1 if (Rb < Ra, float
1
) else
Rd := 0
FCMP.EQ Rd,Ra,Rb
010110
Rd
Ra
Rb
01000100000 Rd := 1 if (Rb = Ra, float
1
) else
Rd := 0
FCMP.LE Rd,Ra,Rb
010110
Rd
Ra
Rb
01000110000 Rd := 1 if (Rb <= Ra, float
1
) else
Rd := 0
FCMP.GT Rd,Ra,Rb
010110
Rd
Ra
Rb
01001000000 Rd := 1 if (Rb > Ra, float
1
) else
Rd := 0
FCMP.NE Rd,Ra,Rb
010110
Rd
Ra
Rb
01001010000 Rd := 1 if (Rb != Ra, float
1
) else
Rd := 0
FCMP.GE Rd,Ra,Rb
010110
Rd
Ra
Rb
01001100000 Rd := 1 if (Rb >= Ra, float
1
) else
Rd := 0
FLT Rd,Ra
010110
Rd
Ra
0
01010000000 Rd := float (Ra)
1
FINT Rd,Ra
010110
Rd
Ra
0
01100000000 Rd := int (Ra)
1
FSQRT Rd,Ra
010110
Rd
Ra
0
01110000000 Rd := sqrt (Ra)
1
TNEA
GET Rd,FSLx
011011
Rd
00000
0
N
0
TAE
000000 &
FSLx
Rd := FSLx (data read, blocking if
N
= 0)
MSR[FSL] := 1 if (FSL
x
_S_Control = 1)
MSR[C] := not FSL
x
_S_Exists if
N
= 1
TNA
PUT Ra,FSLx
011011
00000
Ra
1
N
0
TA
0000000 &
FSLx
FSLx := Ra (data write, blocking if
N
= 0)
MSR[C] := FSL
x
_M_Full if
N
= 1
TNE
C
A
GET Rd,FSLx
011011
Rd
00000
0
N
1
TAE
000000 &
FSLx
Rd := FSLx (control read, blocking if
N
= 0)
MSR[FSL] := 1 if (FSL
x
_S_Control = 0)
MSR[C] := not FSL
x
_S_Exists if
N
= 1
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