Individual Instruction Descriptions

4.14.75 SHLTPLS

 

 

 

Shift Left String and Transfer PL to Accumulator

 

 

 

 

Syntax

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

[label]

 

name

dest, src

 

 

 

 

 

 

Clock, clk

Word, w

 

 

With RPT, clk

 

Class

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHLTPLS

An, {adrs}

 

 

 

 

 

 

 

 

Table 4–46

 

 

 

 

Table 4–46

 

 

1b

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHLTPLS

An[~], An[~]

 

 

 

 

 

 

 

nS+3

 

 

1

 

 

 

 

 

nR+3

 

 

 

 

3

Execution

 

PH, PL

src << SV

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

dest

PL

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

PC PC + 1

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Flags Affected

 

OF, SF, ZF, CF are set accordingly

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

src is {adrs}:

 

 

 

 

 

TAG bit is set accordingly

 

 

 

 

 

 

 

 

 

 

 

 

Opcode

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Instructions

 

 

16

15

14

 

13

 

12

 

11

 

10

9

 

8

 

7

 

6

 

5

 

4

 

3

 

2

 

1

 

0

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHLTPLS An, {adrs}

 

 

 

0

1

1

 

1

 

0

 

0

 

1

 

An

 

 

 

 

 

 

 

 

adrs

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

x

 

 

 

dma16 (for direct) or offset16 (long relative) [see section 4.13]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHLTPLS An[~], An[~]

 

 

1

1

1

 

0

 

0

 

1

 

1

 

An

 

1

 

1

 

0

 

1

 

0

 

0

 

A~

 

~A

Description

 

Shift left accumulator string or data memory string pointed at by {adrs} by nSV

 

 

 

 

bits (as specified by the SV register). The result is zero-filled on the right and

 

 

 

 

either zero-filled or sign-extended on the left (based on the setting of the

 

 

 

 

Extended Sign Mode (XM) bit in the status register). The upper 16 bits are

 

 

 

 

latched into the PH register. The result is transferred to the destination

 

 

 

 

accumulator (or its offset). This instruction propagates the shifted bits to the

 

 

 

 

next accumulator, including one accumulator past the string length (which

 

 

 

 

receives the same data as PH).

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Syntax

 

 

 

 

Description

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHLTPLS An, {adrs}

 

 

 

Shift data memory string left, transfer result to An

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

SHLTPLS An[~], An[~]

 

 

 

Shift An[~] string left, transfer result to An[~]

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

See Also

 

SHLTPL, SHLAPL, SHLAPLS, SHLSPL, SHLSPLS

 

 

 

 

 

 

 

 

 

 

Example 4.14.75.1 SHLTPLS A0, *R4++R5

Shift the string pointed by the byte address stored in R4 by nSV bits to the left, and store the result in accumulator string A0. Add R5 to R4 and store result in R4. After execution of the instruction, PH is copied to the next to the last accumulator of the string.

Example 4.14.75.2

SHLTPLS A2, *R1++

Shift the string pointed by the byte address stored in R1 by nSV bits to the left, and store the result in accumulator string A0. Increment R1 (by 2) at each execution to get the next memory value.

Example 4.14.75.3

SHLTPLS A1, A1

Shift the accumulator string A1 by nSV bits to the left.

Assembly Language Instructions

4-171

Page 257
Image 257
Texas Instruments MSP50C6xx manual Shltpls Shift Left String and Transfer PL to Accumulator, Receives the same data as PH