LDH(U) Load Halfword From Memory With a 15-Bit Unsigned Constant Offset

 

 

 

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.

3-134

Instruction Set

SPRU733

Page 194
Image 194
Texas Instruments TMS320C67X/C67X+ DSP manual Tion operates only on the .D2 unit