From Intellivision Wiki
m (Protected "NOPP" ([edit=autoconfirmed] (indefinite) [move=autoconfirmed] (indefinite)))
Latest revision as of 09:01, 4 December 2010
|Instruction Name||No Operation|
|CP1610 Clock Cycles||7|
|Opcode Range||$0208, $0228|
The No Operation Branch opcode (NOPP) is a bit of an peculiarity in that it only exists for the sake of symmetry in the design of the Branch instructions. If you look through the details of the Branch family of instructions, you'll notice that there are 16 possible internal conditions on which a Branch decision can be based. The second half of those 16 are simply negated forms of the first half. However, the very first available Branch condition is to Branch unconditionally. Therefore, the only possible negation for an opcode that branches unconditionally is to have an opcode that does NOT branch unconditionally. Therefore, you have the NOPP opcode. It is the Branch instruction that never branches.
Oh, and best of all, just like all the other Branch opcodes, NOPP will even let you NOT branch in either direction. The format is below.
Format - Decle #1 Format - Word #2 (unused) 0000:0010:00d0:1000 aaaa:aaaa:aaaa:aaaa
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, unused since this opcode never really branches
See the Branch opcode family documentation for more information.