beautypg.com

Ldh(u) – Texas Instruments TMS320C67X/C67X+ DSP User Manual

Page 194

background image

LDH(U)

Load Halfword From Memory With a 15-Bit Unsigned Constant Offset

3-134

Instruction Set

SPRU733

Load Halfword From Memory With a 15-Bit Unsigned Constant Offset

LDH(U)

Syntax

LDH (.unit) *+B14/B15[ucst15], dst
or
LDHU (.unit) *+B14/B15[ucst15], dst

.unit = .D2

Compatibility

C62x, C64x, C67x, and C67x+ CPU

Opcode

31

29

28

27

23

22

18

17

13

12

9

8

7

6

4

3

2

1

0

creg

z

dst

ucst15

y

op

1 1 s p

3

1

5

15

1

3

1

1

Description

Loads a halfword from memory to a general-purpose register (dst). Table 3−20
summarizes the data types supported by loads. The memory address is
formed from a base address register B14 (y = 0) or B15 (y = 1) and an offset,
which is a 15-bit unsigned constant (ucst15). The assembler selects this for-
mat only when the constant is larger than five bits in magnitude. This instruc-
tion operates only on the .D2 unit.

The offset, ucst15, is scaled by a left shift of 1 bit. After scaling, ucst15 is added
to baseR. Subtraction is not supported. The result of the calculation is the
address sent to memory. The addressing arithmetic is always performed in
linear mode.

For LDH(U), the values are loaded into the 16 LSBs of dst. For LDH, the upper
16 bits of dst are sign-extended; for LDHU, the upper 16 bits of dst are zero-
filled. The s bit determines which file dst will be loaded into: s = 0 indicates dst
will be loaded in the A register file and s = 1 indicates dst will be loaded in the
B register file.

Square brackets, [ ], indicate that the ucst15 offset is left-shifted by 1.
Parentheses, ( ), can be used to set a nonscaled, constant offset. You must
type either brackets or parentheses around the specified offset, if you use the
optional offset parameter.

Halfword addresses must be aligned on halfword (LSB is 0) boundaries.