Difference between revisions of "BNEQ"

From Intellivision Wiki
Jump to: navigation, search
 
Line 10: Line 10:
 
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 (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/>
  
     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/>

Revision as of 18:50, 12 January 2005

Instruction NameBranch If Not Equal
Branch If Not Zero
MnemonicsBNEQ/BNZ
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 (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.

   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.