Chapter 15
Instruction logic of the Soviet Strela (Arrow)1
John W Carr III
A typical general purpose digital computer using three-address instruction logic is the Strela (Arrow) constructed in quantity under the leadership of Iu. Ia. Basilewskii of the Soviet Academy of Sciences, and described in detail by Kitov [1956]. This computer uses a (35, 6, 0)2 binary floating point number system. Its instruction word, of 43 digits, contains a six-digit operation code, and three 12-digit addresses, with one breakpoint bit. In octal notation, two digits represent the operation, four each the addresses, and one bit the breakpoint. This machine operates with up to 2048 words of high-speed cathode ray tube storage.
Input-output is ordinarily via punched cards and punched paper tape. A "standard program library" is attached to the computer as well as magnetic tape units (termed "external accumulators" below). Note. This computer is different from both the BESM described by Lebedev [1956] and the Ural reported by Basilewskii [1957]. Apparently, it is somewhat lower in performance than BESM.
Since all arithmetic is ordinarily in floating point, "special instructions" perform fixed point computations for instruction modifications.
Ordinarily instructions are written in an octal notation, but external to the machine operation symbols are written in a mnemonic code. The two-digit numerals are the octal instruction equivalent.
Arithmetic and logical instructions
01. + a
b
g
. Algebraic addition of (a
) to (b
) with result in g
.
02. + 1 a
b
g
. Special addition, used for increasing addresses of instructions. The command (a
) or (b
) is added to the number (b
) or (a
) and the result sent to the cell with address g
.
As a rule, the address of the instruction being changed corresponds to the address g .
03. - a b g . Subtraction with signed numbers. From the number (a ) is subtracted the number (b ) and the result sent to g .
04. - 1 a b g . Difference of the absolute value of two numbers ÷ (a )÷ - ÷ (b )÷ = (g )
05. X a b g . Multiplication of two numbers (a ) and (b ) with result sent to g .
06. L a b g . Logical multiplication of two numbers in cells a and b . This instruction is used for extraction from a given number or instruction a part defined by the special number (b ).
07. V a b g . Logical addition of two numbers (a ) and (b ) and sending the result to cell g . This instruction is used for forming numbers and commands from parts.
10. Sh a b g . Shift of the contents of cell a by the number of steps equal to the exponent of the (b ). If the exponent of the (b ) is positive then the shift proceeds to the left, in the direction of increasing value; if negative, then the shift is right. In addition, the sign of the number, which is shifted out of the cell, is lost.
11. - 2 a b g . Special subtraction, used for decreasing the addresses of instructions. In the cell a is found the instruction to be transformed, and in cell b the specially selected number. Ordinarily addresses a and g are identical.
12. ¹ a b g . Comparison of two numbers (a ) and (b ) by means of digital additions of the numbers being compared modulo two. In the cell g is placed a number possessing ones in those digits in which inequivalence results in the numbers being compared.
Control instructions
13. C a b 0000. Conditional transfer of control either to instruction (a ) or to instruction (b ), depending on the results of the preceding operation. With the operations of addition, subtraction, and subtraction of absolute values, it appraises the sign
1
In E. M. Grabbe, S. Ramo, and D. E. Wooldridge (eds.), "Handbook of Automation, Computation, and Control," vol. 2, chap. 2, pp. 111-115, John Wiley & Sons, Inc., New York, 1959.213