Difference between revisions of "BNEQ"

From Intellivision Wiki
Jump to: navigation, search
 
m (Protected "BNEQ" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite)))
 
(2 intermediate revisions by 2 users 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/BNZ</td></tr>
+
<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 Zero (BNZ) 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/>
+
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 (Unknown if all 16 bits are significant)
+
     Format - Decle #1    Format - Word #2 (All 16 bits are significant)
 
     0000:0010:00d0:1100  aaaa:aaaa:aaaa:aaaa<br/>
 
     0000:0010:00d0:1100  aaaa:aaaa:aaaa:aaaa<br/>
 
     where:<br/>
 
     where:<br/>

Latest revision as of 07:58, 4 December 2010

Instruction NameBranch If Not Equal
Branch If Not Zero
MnemonicsBNEQ/BNZE
CP1610 Clock Cycles7 or 9
InterruptibleYes
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.