Branch on Auxiliary Register Not Zero
BANZ
7-41
Assembly Language Instructions
Syntax
BANZ
pma [, ind [, ARn] ]
Indirect addressing
Operands
pma:
16-bit program-memory address
n:
Value from 0 to 7 designating the next auxiliary register
ind:
Select one of the following seven options:
* *+ *– *0+ *0– *BR0+ *BR0–
BANZ
pma [, ind [,ARn] ]
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
0
0
1
1
1
1
0
1
1
1
ARU
N
NAR
pma
Note:
ARU, N, and NAR are defined in Section 6.3,
Indirect Addressing Mode (page 6-9).
Execution
If (current AR)
≠
0
Then pma
→
PC
Else (PC) + 2
→
PC
Modify (current AR) and (ARP) as specified
Status Bits
None
Description
Control is passed to the designated program-memory address (pma) if the
contents of the current auxiliary register are not zero. Otherwise, control
passes to the next instruction.The default modification to the current AR is a
decrement by one. N loop iterations can be executed by initializing an auxiliary
register (as a loop counter) to N–1 prior to loop entry. The pma can be either
a symbolic or a numeric address.
Words
2
Cycles for a Single BANZ Instruction
Condition
ROM
DARAM
SARAM
External
True
4
4
4
4+4p
False
2
2
2
2+2p
Note:
The ’C2xx performs speculative fetching by reading two additional instruction words. If
the PC discontinuity is taken, these two instruction words are discarded.
Opcode
Cycles