The instructions of this group, except 13 and 14, perform some arithmetical or logical operation between two operands, one of which is the 48-bit word x (a signed number in functions 10, 11 and 12, and a logical quantity in functions 15, 16 and 17). The other operand is the 15-bit representation of Y itself: in fact, by modification and/or replacement, Y may be a 24-bit quantity. The functions 13 and 14 use only the operand Y. In 3-address form the result is written into accumulator Z and in 2-address form it is written into register X.

The operand Y can be regarded as a 48-bit word in which the m.s. 33 or 24 bits are all 0's and the l.s. 15 or 24 bits are the binary representation of Y.

If Y is written as a Basic or a Symbolic Address, the Y-operand is the corresponding 15-bit machine address.

Y
is essentially unsigned in the instructions of group 1. For convenience in writing and punching programs it can be
written as a negative integer. It
is then stored and used as the 15-bit representation of this negative integer.
Thus if Y is written as -10 it is stored and used as the 15-bit
representation of -10 with the effective value of 32768-10 = 32758.
If a Y-operand is written as a negative integer and is then modified, the
effective Y is the 24-bit sum of the 24-bit modifier and the 15-bit unsigned
representation of the written Y- operand.

**Function number 10 [0001 000]**

(3) z' = x + Y (2) x' = x + Y

Add Y to x, writing the result into Z or X. OVR is set if the result is out of range.

A few examples follow:

(a) 10 A100 27 A3

sets (A3)_{I}^{'} = (A100)_{I} + 27
or, equally, (A3)_{F}^{'} = (A100)_{F} +(27 x 2^{-47})

(b) 10 A100 (A200) A3

sets (A3)' = (A100) + A200_{m}, i.e. the 24-bit
unsigned modifier in A200 is added to the signed 48-bit number in A100.
Note that this is not the same as

00 A100 A200 A3

in which the two signed 48-bit numbers (A100) and (A200) are added together.

(c) 10 A100 A200 A3

forms the sum of the signed 48-bit number in A100 and the machine address represented by the Basic Address A200. (The Y-address can alternatively be written as a Symbolic Address).

(d) 10 A100 0

does not change the content of any register. Such an instruction can be useful if it is desired to hold up a program until e.g. a peripheral transfer (ending at A100 in this case) has been completed satisfactorily.

(e) 10Y A100 (A200) A7

sets (A100)’ = (A100) + A200_{m}
+ A7_{m}, i.e. it forms the sum of three numbers by a single
instruction, saving one instruction and about 20 microsecs. over the pair of
00—instructions which constitute an alternative method.
It is, of course, necessary that A200_{m} and A7_{m} are
unsigned (non-negative) 24-bit numbers.

**Function number 11 [0001 001]**

(3) z' = x – Y (2) x' = x - Y

Subtract Y from x, writing the result into Z or X. OVR is set if the result is out of range.

The
examples given for the 10-instruction are equally valid for the 11-instruction
with the appropriate alterations to allow for the fact that Y is now subtracted.

**Function number 12 [0001 010]**

(3) z' = Y – x (2) x' = Y - x

From Y subtract x, writing the result into Z or X. OVR is set if the result is out of range.

A special case of a 2-address 12-instruction is, typically

12 A100 0 (A100)' = 0 - (A100) = -(A100)

which is the fastest way to overwrite a number by its own
negative. This
particular instruction will set OVR if x_{F} = -1.0.

**Function number 13 [0001 011]**

(3) z' = -Y (2) x' = -Y

Negate Y, writing the result into Z or X. OVR cannot be set by this instruction.

In 3-address form X is irrelevant and therefore it is recommended that this instruction should be used in 2-address form only.

In
2-address type, x is read from the store but is not used.
In 3-address type X is not checked for lockouts or violation of
reservations unless replaced (see 2.2.23 and
2.2.24)

**Function number 14 [0001 100]**

(3) z' = Y (2) x' = Y

Copy Y into Z or X. OVR cannot be set by this instruction.

In 3-address form X is irrelevant and therefore it is recommended that this instruction should be used in 2—address form only. In 2-address type, x is read but not used. In 3-address type X is not checked for lockouts or violation of reservations unless replaced (see 2.2.23 and 2.2.24).

Some examples follow

(a) 14 A100 27

set the integer +27 or the fraction 27 x
2^{-47} in A100.

(b) 14 A100 A200

sets, in A100, the machine address
corresponding to Basic Address A200. (If
Y = A0, then this instruction sets x_{m} = datum point).
Note that Y can also be written as a Symbolic Address.

(c) 14 A100 (A200)

copies A200_{m} into A100,
leaving Al00_{u} clear.

**Function number 15 [0001 101]**

(3) z' = x & Y (2) x' = x & Y

Perform the logical operation 'and' between x and Y, writing the result into Z or X. OVR cannot be set by this instruction.

For a further discussion of the logical operations see Section 3.2.1.

When
using this function it is necessary to compute the numerical value of the
required mask Y.

**Function number 16 [0001 110]**

(3) z' = x Ú Y (2) x' = x Ú Y

Perform the logical operation 'or' between x and Y, writing the result into Z or X. OVR cannot be set by this instruction.

When using this instruction it is usually necessary to compute the numerical value of the required mask Y.

For
a fuller discussion of the logical operations see Section
3.2.1.

**Function number 17 [0001 111]**

(3) z' = x ≢ Y (2) x' = x ≢ Y

Perform the logical operation 'not equivalent' between x and Y, writing the result into Z or X. OVR cannot be set by this instruction.

When using this instruction it is usually necessary to compute the numerical value of the required mask Y.

For a fuller discussion of the logical operations see Section 3.2.1.