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>] pshd <dma> http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
SYNTAX      DIRECT   [<LABEL>] PSHD <dma>
            INDIRECT [<LABEL>] PSHD {ind}[,<next ARP>]

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

EXECUTION   (dma) . TOS
            (PC) + 1 . PC
            Push all stack locations down one level.

DESCRIPTION The value from the data memory location specified by the
            instruction is transferred to the top of the stack. The values
            are also pushed down in the lower three (TMS32020) or seven
            (TMS320C25) locations of the stack. The lowest stack location
            is lost.

            The hardware stack is a last-in, first-out stack with four
            (TMS32020) or eight (TMS320C25) locations. If any more than
            four/eight pushes (due to CALA, CALL, PSHD, PUSH, or TRAP
            instructions) occur before a pop, the first data values
            written will be lost in each succeeding push.

WORDS       1

ENCODING    15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
            +-----------------------------------------------+
            |0  1  0  1  0  1  0  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  1  0  1  0  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   |   2   |  2+d  |  2+p  | 2+d+p  |   -   |   -   |
            |-------+-------+-------+--------+-------+-------|
     'C25   |   1   |  1+d  |  1+p  | 2+d+p  |   1   |  1+d  |
            |------------------------------------------------|
            |    Cycle Timings for a Repeat Instruction      |
            |------------------------------------------------|
      '20   |  2n   | 2n+nd | 2n+p  | 2n+nd+p|   -   |   -   |
            |-------+-------+-------+--------+-------+-------|
     'C25   |   n   |  n+nd |  n+p  |1+n+nd+p|   n   |1+n+nd |
            +------------------------------------------------+



EXAMPLE     PSHD  DAT127      (DP = 3)
            or
            PSHD  *           If current auxiliary register contains 511.


               BEFORE             AFTER

            dm511 >65         dm511 >65

            STACK  >2         STACK >65
             '20  >33          '20   >2
                  >78               >33
                  >99               >78

            STACK  >2         STACK >65
            'C25  >33         'C25   >2
                  >78               >33
                  >99               >78
                  >42               >99
                  >50               >42
                   >0               >50
                   >0                >0

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