Section 3.7

Group 7

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 zm 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 zm  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 = zm
2-address:  Jump to X if Y = 0

Some examples follow.

The instruction
70     A200       50       A7

will cause a jump to A200 if A7m = 50;  the instruction
70     A200     (A100)     A7

will cause a jump to A200 if A7m = A100m, while the instruction
70     A200     (A100)

will cause a jump if A100m = 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

  1. both [A100]m and [A7]m are zero, or

  2. if [A100]m + [A7]m = 224, 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 zm

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 > zm   (i.e. zm < 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 ¬> zm   (i.e. zm 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 < zm  (i.e. zm > 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 ¬< zm  (i.e. zm 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 07 17 034, 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.