Information Manual
April 1998
13.2 Software View
13.2.4 Extraction
In extraction, a sequence of contiguous bits from the aS accumulator is placed in the low-order bits of aD and then
sign-extended or zero-extended. The bit field in aS is defined by a 16-bit word from an immediate data or from one
of the arM registers. The upper 8 bits define the width of the field in bits, and the lower 8 bits define the location of
the LSB of the field (which is the offset of the field). Pictorially:
ACCUMULATOR
ACCUMULATOR
The instructions are as follows:
aD = extracts (aS, IM16) Get field from immediate IM16 and sign-extend. For example:
aD = extractz (aS, IM16) Get field from immediate IM16 and zero-extend.
aD = extracts (aS, arM) Get field from arM register and sign-extend.
aD = extractz (aS, arM) Get field from arM register and zero-extend.
The eight flags (described
normal definitions, except LLV is true if WIDTH = 0 or if (WIDTH + OFFSET) > 36.
Lucent Technologies Inc.
DSP1611/17/18/27/28/29 DIGITAL SIGNAL PROCESSOR
(continued)
SOURCE
DESTINATION
ZERO-EXTENDED OR
SIGN-EXTENDED
Figure 13-5. Extraction
a0 = extracts (a1, 0x0304).
Section 13.2.2, Shifting
DRAFT COPY
WIDTH
OFFSET
LSB
Operations) are set based on the value written into aD with their
Bit Manipulation Unit
SPECIFIED IN
IMMEDIATE
OR arM
5-4215
13-5