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

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

EXECUTION   (PC) + 1 . PC
                             _
            (ACC) - (dma) - (C) . ACC
            Affects C and OV; affected by OVM.

DESCRIPTION The contents of the addressed data memory location and the
            value of the carry bit are subtracted from the accumulator.
            The carry bit is then affected in the normal manner. See also
            carry bit.

            The SUBB instruction can be used in performing multiple-
            precision arithmetic.

WORDS       1

ENCODING    15 14 13 12 11 10  9  8  7  6  5  4  3  2  1  0
            +-----------------------------------------------+
            |0  1  0  0  1  1  1  1| 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  1  1  1  1| 1| see indirect fields | INDIRECT
            +-----------------------------------------------+

CYCLES

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



EXAMPLE     SUBB  DAT5        (DP = 8)
            or
            SUBB  *           If current auxiliary register contains 1029.

                BEFORE                    AFTER

            dm1029  >6         dm1029       >11
             ACC 0  >6          ACC 0 >FFFFFFFF
                 C                  C


            In the example above, C is originally zeroed, presumably from
            the result of a previous subtract instruction that performed

                                                                    _
            a borrow. The effective operation performed was 6 - 6 -(0) =
            -1, generating another borrow (and resetting carry again) in
            the process.

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