EXT
Extract and Sign-Extend a Bit Field
3-60
csta
x
cstb – csta
src2
dst
x x x x x x x x
1 1 0 1 x x x x x x x x x x x
x
x
0 1
0
x
1
0
1
1 0 1 0 0 1 1 0 1
1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
x x x 0 0 0 0
0
1
1
1 1
1
0
0
0
x x x x x x x x
0
0
0
0
0
0
0
0
Shifts left by 12 to produce:
Then shifts right by 23 to produce:
1)
2)
3)
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10
9
8
7
6
5
4
3
2
1
0
Execution
If the constant form is used:
if (cond)
src2 ext csta, cstb
→
dst
else
nop
If the register form is used:
if (cond)
src2 ext src1
9..5
,
src1
4..0
→
dst
else
nop
Pipeline
Stage
E1
Read
src1, src2
Written
dst
Unit in use
.S
Instruction Type
Single-cycle
Delay Slots
0
Pipeline