Conditional Branch

    The BCND (conditional branch) is a 2-word instruction. The conditions for the
    branch are not stable until the fourth cycle of the branch instruction pipeline
    execution, because the previous instruction must have completely executed
    for the accumulator’s status bits to be accurate. Therefore, following the
    branch, the pipeline controller stops the decode of instructions until the conditions
    are valid. If the conditions defined in the operands of the instruction are
    met, the PC is loaded with the second word and the CPU starts filling the pipeline
    with instructions at the branch address. Because the pipeline has been
    flushed, the branch instruction has an effective execution time of four cycles
    if the branch is taken. If, however, any of the conditions are not met, the pipeline
    controller allows the next instruction (already fetched) to be decoded. This
    means that if the branch is not taken, the effective execution time of the branch
    is two cycles.