The instructions of this group are concerned with 'jumps'^{ }in a manner similar to those of group 6. With the present group, with the exceptions of function-numbers 76 and 77, the comparison is made between the 15- or 24-bit quantity Y and the 24-bit modifier z_{m} in accumulator z (or between Y and zero if the instruction is of 2-address type).
If Y is used without replacement or modification, it is essentially the 15-bit representation of the Y-address written in the instruction (it may be written as an integer, signed or unsigned, as a Basic or a Symbolic Address or as a combination of any or all of these three) and is extended to 24-bits in the arithmetic unit by prefixing the 15-bit quantity by nine 0-bits. If, however, Y is modified and/or replaced it is a genuine 24-bit quantity. In all cases both Y and z_{m} are treated as unsigned.
Note that when a jump instruction does not cause a jump the destination address is not checked for lock-outs or for violation of reservations unless replaced.
Function number 70 [0111 000]
3-address: Jump to X if Y = z_{m }2-address: Jump to X if Y = 0
Some examples follow.
The instruction
70 A200
50 A7
will cause a jump to A200 if A7_{m} = 50;
the instruction
70 A200
(A100) A7
will cause a jump to A200 if A7_{m} = A100_{m}, while the
instruction
70 A200
(A100)
will cause a jump if A100_{m} = 0.
An
instruction such as
70Y
A200
(A100)
A7
will cause a jump if the l.s. 24-bits of [A100] + [A7] are zero. This will be so either if
both [A100]_{m} and [A7]_{m} are zero, or
if [A100]_{m} + [A7]_{m} = 2^{24}, i.e. the addition produces 24 0-bits and a carry into the 25th place, this carry bit not being recorded by the computer logic.
Note that an instruction such as
70
A200
0
causes an unconditional jump but
function-number 75 (q.v.) is to be preferred for this purpose.
Function-number 71 [0111 001]
3-address: Jump to X if Y ≠ z_{m}
2-address: Jump to X if Y ≠ 0
The
examples given for function number 70 are also applicable to function-number 71,
with the equalities replaced by inequalities.
Function number 72 [0111 010]
3-address: Jump to X if Y > z_{m} (i.e. z_{m} < Y)
2-address: Jump to X if Y > 0
Note
that since Y is treated as unsigned, the 2-address forms of the 71- and
72-instructions are equivalent in effect.
Function number 73 [0111 011]
3-address; Jump to X if Y ¬> z_{m} (i.e. z_{m} ≥ Y)
2-address; Jump to X if Y ¬> 0
Note
that since Y is treated as unsigned, the 2-address forms of the 70- and
73-instructions are equivalent in effect.
Function number 74 [0111 100]
3-address: Jump to X if Y < z_{m} (i.e. z_{m} > Y)
2-address: Jump to X if Y < 0.
Note
that since Y is treated as unsigned, a 2-address 74-instruction will never cause
a jump; it is the recommended dummy.
Function number 75 [0111 101]
3-address: Jump to X
if Y ¬< z_{m
} (i.e. z_{m}
≤
Y)
2-address: Jump to X if Y ¬<
0.
Since
Y is treated as unsigned, a 2-address 75-instruction will always cause a jump,
regardless of the actual value of Y. Therefore it is recommended as the standard
'unconditional jump'. The
Y-address field may, if desired, be used to store any 15-bit quantity.
Function number 76 [0111 110]
3-address:
Jump to X if ¬y & z = 0.
2-address: Jump to X if Y = 0 (not recommended)
With this function-number the decision whether to jump or not is made on the result of a logical operation involving two operands, z and y, of which y is usually a program constant. The 76-instruction is designed primarily for detecting field overflow. Suppose, for example that y is 0^{7} 1^{7} 0^{34}, and is stored in A100. Then the instruction
76 A200 A100 A7
will cause a jump to A200 if all of the first 7 bits and the last 34 bits in A7 are zeros, that is, if all the 1-bits in A7 are contained within the field covered by the 1-bits in A100. The mask y may contain any number of 1-bits distributed in any desired way within the word. Note that the logical negation of y occurs only in the arithmetic unit and associated circuits and the stored word y is not affected.
Function number 77 [0111 111]
3-address: Jump
to X if ¬y & z ≠
0
2-address: Jump to X if Y
≠
0 (not recommended)
This function-number is closely related to the 76-function. It will cause a jump if there is one or more 1-bit outside the field(s) covered by the 1-bits in the mask y. For other comments see function number 76.