Branch and if

Usually the program counter increments its output from zero until a reset (or over run) of the program counter appears. JMP instruction (or RTN, NOPO, NOPF) might be used by the hardware design to resets the counter to zero.

Therefore branches in the sequence of instructions are not possible. Always the same instruction sequence appears. One exception is SKZ the skip next instruction. SKZ can skip any instruction and therefore also a JMP instruction and prevent a reset of the program counter.

There are features to disable the effects the program sequence does. The most common way is setting the OEN to zero. If OEN is zero the running instruction sequence can not modify any output or RAM. Care is only required for the RR bit that alters during such a sequence.

Obviously disabling and enabling output effects should depend on a condition. Condition how OEN can be manipulated are:

  1. Since OEN contains a IO-address, the IO-address from RAM or Input defines if the Outputs get enabled or disabled. (RR might be wired to one of the inputs)

  2. The SKZ skip next instruction can be used to skip a OEN instruction

There is also IEN that could be used for similar things. However IEN has some side effects that can manipulate the output or RAM bits. Therefore it is not recommended to be used.

Linurs Hosttech startpage