SPLat Logo

BranchJ [D>=16]

NOTICE: We are updating our website. For product enquiries and orders please contact us directly.
NOTICE: SPLat Controls has moved. We are now at 1/85 Brunel Rd, Seaford, 3198. map

BranchJ [D>=16]

The BranchJ instruction allows an "n-way" branch on the contents of the J register. A BranchJ instruction must always be followed by a list of one or more program labels used as arguments in Target instructions. A fatal error will occur if this instruction is executed outside of a task in the MultiTrack task queue.

Example:

          BranchJ
Target Again ;target if J=0
Target More ;target if J=1
Target Orless ;target if J=2

In the example, the program will transfer to label Again if J=0, to More if J=1 and to Orless if J=2.

For any other value of J the results are unpredictable in SPLat hardware.

The BranchJ instruction may have up to 127 Targets following it. The SPLat/PC development environment will report an error if a BranchJ is executed with a J value too large for the number of Target labels provided. (The condition can only be detected by running or stepping the program within SPLat/PC, and not during translation).

See MultiTrack tutorial

Dialect exclusions: Not available in dialects before 16.