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 [<label>] bbnz <pma>[,{ind}[,<next arp>]] http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
SYNTAX      [<LABEL>] BBNZ <pma>[,{ind}[,<next ARP>]]

OPERANDS    0 . pma . 65535; 0 . next ARP . 7.

EXECUTION   If test/control (TC) status bit = 1,
            then pma . PC; else (PC) + 2 . PC.
            Modify AR(ARP) and ARP as specified.

DESCRIPTION The current auxiliary register and ARP are modified as
            specified. Control passes to the designated program memory
            address if TC = 1;otherwise, control passes to the next
            instruction. Note that no AR or ARP modification occurs if
            nothing is specified in those fields. Pma can be either a
            symbolic or numeric address. Note that the TC bit may be
            affected by the BIT, BITT, CMPR, LST1, NORM, RTC, and STC
            instructions.

WORDS       2

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

CYCLES

            +----------------------------------------------------+
            |       Cycle Timings for a Single Instruction       |
            |----------------------------------------------------|
            |  PI/DI |  PI/DE |  PE/DI |  PE/DE  | PR/DI | PR/DE |
            |-----------------+------------------+-------+-------|
      '20   |2 (br int-to-int)| 2+p (int-to-ext) |   _   |   _   |
            | 2+p (ext-to-int)| 2+2p (ext-to-ext)|       |       |
            |----------------------------------------------------|
      'C25  | True Conditions:                                   |
            |----------------------------------------------------|
            |              Destination on-chip RAM:              |
            |----------------------------------------------------|
            |    2   |   2    |  2+2p  |  2+2p   |   2   |   2   |
            |----------------------------------------------------|
            |              Destination on-chip ROM:              |
            |----------------------------------------------------|
            |    3   |   3    |  3+2p  |  3+2p   |   3   |   3   |
            |----------------------------------------------------|
            |            Destination external memory:            |
            |----------------------------------------------------|
            |   3+p  |  3+p   |  3+3p  |  3+3p   |  3+p  |  3+p  |
            |----------------------------------------------------|
            |  False Condition:                                  |
            |----------------------------------------------------|
            |               Destination anywhere:                |
            |----------------------------------------------------|
            |    2   |    2   |  2+2p  |  2+2p   |   2   |   2   |
            |----------------------------------------------------|
            |       Cycle Timings for a Repeat Instruction       |
            |----------------------------------------------------|
      '20   |          not repeatable            |   -   |   -   |
            |----------------------------------------------------|
     'C25   |                   not repeatable                   |
            +----------------------------------------------------+



EXAMPLE     BBNZ  PRG650      If TC = 1, then 650 is loaded into the
                              program counter; otherwise, the program
                              counter is incremented by 2.

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