Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- TMS320C2x DSP - syntax direct [<label>] lact <dma> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
SYNTAX      DIRECT   [<LABEL>] LACT <dma>
            INDIRECT [<LABEL>] {ind}[,<next ARP>]

OPERANDS    0 . dma . 127; 0 . next ARP . 7.

EXECUTION   (PC) + 1 . PC
            (dma) * 2 ^ T register(3-0) . ACC
            If SXM = 1, then (dma) is sign-extended.
            If SXM = 0, then (dma) is not sign-extended.
            Affected by SXM.

DESCRIPTION The LACT instruction loads the accumulator with a data memory
            value that has been left-shifted. The left-shift is specified
            by the four LSB's of the T register, resulting is shift
            options from 0 to 15 bits. Using the T register's contents as
            a shift code provides a variable shift mechanism.

            LACT may be used to denormalize a floating-point number if the
            actual exponent is placed in the four LSB's of the T register
            and the mantissa is referenced by the data memory address.
            Note that this method of denormalization can only be used if
            the magnitude of the exponent is four bits or less.

WORDS       1

ENCODING    15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
            +-----------------------------------------------+
            |0  1  0  0  0  0  1  0| 0| data memory address | DIRECT
            +-----------------------------------------------+

            15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
            +-----------------------------------------------+
            |0  1  0  0  0  0  1  0| 1| see indirect fields | INDIRECT
            +-----------------------------------------------+

CYCLES

            +------------------------------------------------+
            |    Cycle Timings for a Single Instruction      |
            |------------------------------------------------|
            | PI/DI | PI/DE | PE/DI | PE/DE  | PR/DI | PR/DE |
            |-------+-------+-------+--------+-------+-------|
      '20   |   1   |  2+d  |  1+p  | 2+d+p  |   -   |   -   |
            |-------+-------+-------+--------+-------+-------|
     'C25   |   1   |  2+d  |  1+p  | 2+d+p  |   1   |  2+d  |
            |------------------------------------------------|
            |    Cycle Timings for a Repeat Instruction      |
            |------------------------------------------------|
      '20   |   n   | 2n+nd |  n+p  | 2n+nd+p|   -   |   -   |
            |-------+-------+-------+--------+-------+-------|
     'C25   |   n   | 1+n+nd|  n+p  |1+n+nd+p|   n   |1+n+nd |
            +------------------------------------------------+



EXAMPLE     LACT  DAT1        (DP = 6)
            or
            LACT  *           If current auxiliary register contains 769.

                     BEFORE          AFTER

            dm769     >1376   dm769  >1376
            ACC X >98F7EC83   ACC X >13760
                C                 C
                T     >3014       T  >3014

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson