Texas Instruments TMS320C67X/C67X+ DSP User Manual

Page 171

Advertising
background image

Extract and Sign-Extend a Bit Field

EXT

3-111

Instruction Set

SPRU733

Description

The field in src2, specified by csta and cstb, is extracted and sign-extended
to 32 bits. The extract is performed by a shift left followed by a signed shift right.
csta and cstb are the shift left amount and shift right amount, respectively. This
can be thought of in terms of the LSB and MSB of the field to be extracted. Then
csta = 31 − MSB of the field and cstb = csta + LSB of the field. The shift left and
shift right amounts may also be specified as the ten LSBs of the src1 register
with cstb being bits 0−4 and csta bits 5−9. In the example below, csta is 12 and
cstb is 11 + 12 = 23. Only the ten LSBs are valid for the register version of the
instruction. If any of the 22 MSBs are non-zero, the result is invalid.

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

Pipeline

Advertising