Difference between revisions of "BNEQ"
m (Protected "BNEQ" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite))) |
|||
(One intermediate revision by the same user not shown) | |||
Line 2: | Line 2: | ||
<table border> | <table border> | ||
<tr><td>Instruction Name</td><td>Branch If Not Equal<br/>Branch If Not Zero</td></tr> | <tr><td>Instruction Name</td><td>Branch If Not Equal<br/>Branch If Not Zero</td></tr> | ||
− | <tr><td>Mnemonics</td><td>BNEQ/ | + | <tr><td>Mnemonics</td><td>BNEQ/BNZE</td></tr> |
<tr><td>CP1610 Clock Cycles</td><td>7 or 9</td></tr> | <tr><td>CP1610 Clock Cycles</td><td>7 or 9</td></tr> | ||
<tr><td>Interruptible</td><td>Yes</td></tr> | <tr><td>Interruptible</td><td>Yes</td></tr> | ||
Line 8: | Line 8: | ||
</table><br/> | </table><br/> | ||
− | The Branch If Not Equal opcode (BNEQ) is a two-decle opcode that is a part of the [[Branch]] family of opcodes. It is also known by the name Branch If Not | + | The Branch If Not Equal opcode (BNEQ) is a two-decle opcode that is a part of the [[Branch]] family of opcodes. It is also known by the name Branch If Not ZEro (BNZE) because a test for inequality is functionally equivalent to a test for a non-zero result. Essentially, to test inequality, the [[CMP]] type of operations subtract operand #2 from operand #1 and if the result is non-zero, then the operands must not be equal. This instruction causes the [[CP1610]] to branch if the [[Zero Flag]] is clear to the address specified by the following parameters.<br/> |
Format - Decle #1 Format - Word #2 (All 16 bits are significant) | Format - Decle #1 Format - Word #2 (All 16 bits are significant) |
Latest revision as of 07:58, 4 December 2010
Instruction Name | Branch If Not Equal Branch If Not Zero |
Mnemonics | BNEQ/BNZE |
CP1610 Clock Cycles | 7 or 9 |
Interruptible | Yes |
Opcode Range | $020C, $022C |
The Branch If Not Equal opcode (BNEQ) is a two-decle opcode that is a part of the Branch family of opcodes. It is also known by the name Branch If Not ZEro (BNZE) because a test for inequality is functionally equivalent to a test for a non-zero result. Essentially, to test inequality, the CMP type of operations subtract operand #2 from operand #1 and if the result is non-zero, then the operands must not be equal. This instruction causes the CP1610 to branch if the Zero Flag is clear to the address specified by the following parameters.
Format - Decle #1 Format - Word #2 (All 16 bits are significant) 0000:0010:00d0:1100 aaaa:aaaa:aaaa:aaaa
where:
d indicates the direction of the branch such that: d == 0 indicates to branch in the forward direction d == 1 indicates to branch in the reverse direction
aaaaaaaaaaaaaaaa indicates the amount of offset
See the Branch opcode family documentation for more information.