Interpreting System for the Minsk-1 Digital Computer
Abstract Generated abstract
The paper describes an interpretive system that enables floating point computation on the fixed point Minsk-1 digital computer by executing programs written in a pseudocommand language. It explains the representation of single-cell floating point numbers, the interpretation of arithmetic and logical pseudocodes, automatic relocation, calls to standard subroutines, loop organization, input and output conversion, and debugging facilities. The system is presented as a practical programming aid developed and used at the TPI computing laboratory, intended to simplify programming and support a broad class of computational problems on the Minsk-1.
Full Text
INTERPRETIVE SYSTEM FOR THE “MINSK-1” DIGITAL COMPUTER
V. A. MAL'TSEV, V. D. DEL'
(Presented by the scientific seminar of the computing laboratory)
The “Minsk-1” electronic digital computer is a fixed-point machine. This creates substantial difficulties in programming and often makes it necessary to introduce floating point by program means. An effective means of automating programming in floating-point mode is provided by interpretive systems designed to implement algorithms written in a pseudocommand language.
The interpretive system (IS) considered here makes it possible to simulate, on the “Minsk-1” computer, operations in floating-point mode with numbers written in a single cell. When a number is written, the sign bit and the first 22 bits are allocated to the mantissa, and the last 8 bits to the value of the exponent and its sign. The results of operations are rounded before being written; the rounding error of the mantissa does not exceed \(1.2 \cdot 10^{-7}\). The mixture of binary bits allocated to the value of the exponent makes it possible to write numbers with decimal exponents up to \(\pm 38\).
When decimal numbers are punched, the first five decimal digits are occupied by the mantissa, and the sixth and seventh by the exponent. If the exponent is negative, its modulus, increased by 20, is punched. This makes it possible to enter numbers with exponents up to \(\pm 19\). In printing, a number is output on one line; the exponent of the printed number is not limited.
INTERPRETATION OF PSEUDOCOMMANDS
The IS is switched on by two commands:
\[ \begin{gathered} \text{K }10\ \text{K }0217\\ \text{K+1 }24\ 0140\ 0140 \end{gathered} \]
After this, the pseudocommand contained in cell \(K+2\) is sent to the working cell and interpreted.
Let us introduce the following abbreviations:
\[ \begin{aligned} 4A_k &\text{— }4000\text{ has been added to address }A_k,\quad k=1,2;\\ 2A_k &\text{— }2000\text{ has been added to address }A_k;\\ K4 &\text{— in the pseudocode the second digit is greater than three;}\\ KOP &\text{— operation codes in pseudocommands.} \end{aligned} \]
According to certain attributes, pseudocommands are divided into codes and pseudocodes; the latter, in turn, into arithmetic and logical ones. The carriers of these attributes are bits 7, 8 and 19, 20 of the cell, which are not used in the machine’s commands, as well as bits 0, 1 and 4.
Before execution, a pseudocommand can be automatically relocated. If the attributes \(2A_k\) are present in the working cell, the execution addresses are formed as
\[ A_k = A_k + C, \]
where \(C\) is the accumulated relocation constant.
If the attribute \(4A_1\) is present, the pseudocommand is executed as a machine code; in this case cell 0023 plays the role of the accumulator.
By the attribute K4, logical pseudocodes are separated from arithmetic ones.
Arithmetic Pseudocodes
In pseudocodes for arithmetic operations, the machine operation codes 00, 01, 02, 03 are used. Pseudocodes 10—13 have been introduced for computing functions. With minor changes in the IS, pseudocodes 20—23 and 30—33 can also be used for computing functions.
For a function, one of the indicated OPCs is assigned; the beginning of the standard subroutine (SS) for computing the function is indicated in the cell numbered \(0240+\)OPC:
\[ 24\ \text{SS}\ 0000. \]
The SS must take the argument from cells 0020, 0021 (for a two-place function, from 0020—0023) and produce the normalized result in cells 0022, 0023. Some SSs of the library of standard subroutines must be corrected accordingly. Exit from the SS is to cell 0100 or, if it is necessary to restore (0067), to cell 0077. When arithmetic pseudocommands are executed, cells 0022, 0023 play the role of a pseudoaccumulator.
The interpretation of arithmetic pseudocodes is carried out in the following order.
-
If \(A_1 \ne 0\), then the number from cell \(A_1\) is transferred to cells 0020, 0021; if \(A_1 = 0\), then the contents of the pseudoaccumulator (0022, 0023) are transferred to cells 0020, 0021.
-
In the absence of the attribute \(4A_2\), the number from \(A_2\) is transferred to cells 0022, 0023; under the attribute \(4A_2\), the contents of the pseudoaccumulator are preserved.
-
A call is made to the SS of the corresponding arithmetic operation or function computation.
-
By the “plus” sign before the pseudocode, the result is written into cell \(A_2\).
After this, the next pseudocommand is called and interpreted.
Logical Pseudocodes
Automation of the programming of the logical part of an algorithm is more complex. To perform in the IS certain logical operations—conditional and unconditional transfer of control, organization of complex loops, calls with feedback to individual blocks, etc.—there have been compiled
logical subprograms, calls to which are organized when the corresponding pseudocodes are interpreted.
The following logical pseudocodes have been introduced:
05 000 \(A_2\) — write the contents of the pseudo-accumulator into one cell \(A_2\).
15 \(n\) \(A_2\) — conversion \(2 \to 10\) and printing of \(n\) numbers, beginning with \(A_2\).
16 \(n\) \(A_2\) — conversion \(10 \to 2\) of \(n\) numbers.
24 \(A_1\) 0000 — unconditional transfer of control.
34 and 54 — transfer of control, as in the machine codes, according to the contents of the pseudo-accumulator (cell 0023).
By the flag \(4A_1\), transfer of control is carried out with IS switched off. Upon return to cell 0137, IS is switched on and the next pseudocode is executed.
In operator programming, the following pseudoinstructions may be used for calls, with feedback, to individual blocks:
24, \(A_1A_2\) — for a block of pseudoinstructions; control is transferred to \(A_1\), with preliminary sending of the feedback instruction to cell \(A_2\).
44 \(A_1A_2\) — for a block of instructions; control is transferred to \(A_1\) with IS switched off. When control is transferred to cell 0112, IS is switched on, beginning with \(A_2\).
To organize complex loops by a counter, two logical pseudocodes have been introduced.
- 64 0000 H — an instruction for entering a loop, by which the readdressing step and the number of steps of the outer loop are stored, a new readdressing step H is assigned, and the working counter—cell 0203—is cleared. In the accompanying IS text, through readdressing is provided, whereby the total readdressing constant over all outer loops is accumulated in counter 0204. In order for readdressing to occur only over a single loop, it is sufficient to make the following changes:
0264 15 0000 0203
0275 16 0267 0206
0276 24 0277 0203
0300 24 0302 0205
0302—23 0203 0204
- 74 \(A_1 n\) — an instruction for exiting a loop, by which \(n-1\) calls to \(A_1\) are organized (the cyclic section of the program operates \(n\) times); then the readdressing step and the number of steps of the outer loop are restored. With readdressing steps up to 777, IS permits up to 4 loops nested within one another. With smaller steps, the number of loops may be increased correspondingly.
When logical pseudoinstructions are executed, the contents of the pseudo-accumulator are preserved.
Example of loop organization
Compute a polynomial of degree \(n\) for \(m\) arguments by Horner’s scheme:
\[ P_n(x)=\sum_{k=1}^{n} a_k x^k=a_0+x\bigl(a_1+\ldots+x(a_{n-1}+x\cdot a_n)\ldots\bigr). \]
Let us place the array of coefficients, beginning with the leading coefficient, from cell 1200; the array of arguments—from cell 1100; the program—from cell 0600. As working cells we use cells 0030, 0031.
0600 10 0600 0217
1 24 0140 0140 switch-on of IS
2 64 0000 0001 H=0001
*3 05 7100 0030 loading the argument
4 64 0000 0001 H=0001
5 05 5200 0031 loading a
6—03 0030 0031
7 00 3201 4031
0610 74 0606 n
11 60 4000 0000 interval
12 15 0002 0030 print x and P_n(x)
13 74 0603 m
14 37 4000 0000 stop
Debugging the Program
To debug a program consisting of pseudo-commands, one can effectively use the IS, which makes it possible, after certain changes in it, to print out specified logical or arithmetic information. For example, linear sections of a program can be traced by printing all addresses to which control is transferred:
0113) 46 0005 0134.
It is possible to print all readdressed pseudo-commands:
0222) 40 0155 0110.
For arithmetic debugging, provision is made for printing certain intermediate results. As a debugging mark, by analogy with the machine codes, a one in the 1st digit position has been chosen.
During debugging a special logical subprogram is switched on:
0135) 16 0002 0110,
which prints the contents of the pseudo-accumulator after the execution of arithmetic pseudocodes containing the debugging mark 4K (43 instead of 03, 51 instead of 11, etc.). The translation subprogram 2 → 10 preserves the contents of the pseudo-accumulator.
After the subprogram is switched off:
0135) 24 0137 0000
the debugging mark does not interfere with the operation of the program. Thus, the output of checkpoints, debugging results, and certain other results, like the main ones, can be provided for when writing the program.
It is possible to print all intermediate results:
0135) 16 0001 0110,
or to print the results written by A:
0135) 16 0003 0110
0136) 34 0255 0137.
During debugging, long cycles can be limited:
0273) 31 0015 0000, i.e. n=2.
For work at the console it is useful to have a scheme of stops inside the IS. For example, a stop at address 0140 or 0141 makes it possible to read the address and contents of the next pseudo-command; at address 0143—the contents of the pseudo-command after readdressing; a stop at address 0117 makes it possible to trace where the result is written. Similarly, one can trace all transfers of control—stop 0115, and record any logical
(stops 0230–0237) or an arithmetic pseudocode (0240–0243, 0250–0253).
With sufficient familiarity with the programming system and some experience, debugging of a program is carried out quite efficiently.
The IS under consideration was developed and is used in the computing laboratory of the TPI. The familiar form of the pseudocodes, the large number of automated logical operations, and the broad range of numbers make it simple and convenient to use and allow it to be applied quite effectively to the solution of a wide range of problems.
Operator scheme of the IS
\[ \begin{gathered} \Phi_1\quad Z_2\quad P_3\quad P_4\quad P_5\quad P_6\quad Z_7;\quad Z_8\quad P_9\quad Z_{10}\quad H_{11}\quad A_{12}\quad P_{13}\quad Z_{14}\quad P_{15}\ \uparrow;\\ \hspace{2.6cm}\downarrow\quad \downarrow\quad \downarrow\quad \downarrow\quad \downarrow \hspace{2.7cm}\downarrow \hspace{3.2cm}\downarrow \hspace{1.0cm}\downarrow\\ \hspace{2.45cm}16\quad 17\quad 18\quad 8\quad 9 \hspace{2.45cm}11 \hspace{3.0cm}15 \hspace{0.9cm}\mathrm{SP2}\to 10\\[0.7em] \Phi_{16};\quad A_{17};\quad H_{18};\quad L_{19};\quad L_{20};\quad L_{21};\quad L_{22};\quad L_{23};\quad L_{24};\quad L_{25}\uparrow.\\ \downarrow\qquad \downarrow\qquad \big|\qquad \downarrow\qquad \downarrow \hspace{4.5cm}\downarrow\qquad \downarrow\\ 4\qquad 1\qquad \big|\qquad 1\qquad 1 \hspace{4.7cm}1\qquad 21\\ \hspace{0.8cm}\overline{\hspace{5.3cm}}\\[-0.2em] \hspace{0.6cm}\downarrow\quad \downarrow\quad \downarrow\quad \downarrow\quad \downarrow\quad \downarrow\quad \downarrow\\ \hspace{0.45cm}19\quad 20\quad 21\quad 22\quad 23\quad 24\quad 25 \end{gathered} \]
\[
\Phi_1\ (0137)
\]
— readdressing of \(Z_2\).
\[
Z_2\ (0140)
\]
— sending the next pseudoinstruction to the working cell.
\[
P_3\ (0141,0142)
\]
— testing for the sign \(2A_k\).
\[
P_4\ (0143,0144)
\]
— testing for the sign \(4A_1\).
\[
P_5\ (0145,0146)
\]
— testing for the sign \(K4\).
\[
P_6\ (0147,0150)
\]
— testing whether \(A_1 \ne 0\).
\[
Z_7\ (0151,0153)
\]
— sending \((0022,0023)\to 0020,0021\).
\[
Z_8\ (0154\text{--}0163)
\]
— sending \((A_1)\to 0020,0021\).
\[
P_9\ (0164,0165)
\]
— testing for the sign \(4A_2\).
\[
Z_{10}\ (0166\text{--}0177)
\]
— sending \((A_2)\to 0022,0023\).
\[
H_{11}\ (0200\text{--}0202,\ 0240\text{--}0243,\ 0250\text{--}0253)
\]
— decoding of arithmetic pseudocodes and transfer to SP.
\[
A_{12}\ (\mathrm{SP})
\]
— execution of arithmetic operations and computation of functions.
\[
P_{13}\ (0100,0101)
\]
— testing whether \(\mathrm{PK}<0\).
\[
Z_{14}\ (0116\text{--}0134)
\]
— writing \((0022,0023)\to A_2\).
\[
P_{15}\ (0135,0136)
\]
— testing for the debugging sign \(4K\).
\[
\Phi_{16}\ (0220\text{--}0223)
\]
— readdressing of the pseudoinstruction.
\[
A_{17}\ (0110,0111)
\]
— execution of codes.
\[
H_{18}\ (0244\text{--}0247,\ 0230\text{--}0237)
\]
— decoding of logical PK and transfer to logical subroutines.
\[
L_{19}\ (0100,0101,0116\text{--}0134)
\]
— execution of 05.
\[
L_{20}\ (0210\text{--}0215)
\]
— execution of 15 and 16.
\[
L_{21}\ (0224\text{--}0227)
\]
— execution of 24.
\[
L_{22}\ (0105\text{--}0111)
\]
— execution of 34 and 54.
\[
L_{23}\ (0103\text{--}0104)
\]
— execution of 44.
\[
L_{24}\ (0260\text{--}0266)
\]
— execution of 64.
\[
L_{25}\ (0270\text{--}0305)
\]
— execution of 74.
References
-
Library of Standard Subroutines for the “Minsk-1” Digital Computer, Part 2. Minsk, 1961.
-
G. M. Gendelev et al. Programming for the “Minsk-1” Digital Computing Machine. GOSINITI, Moscow, 1963.
APPENDIX
| 0001 | 77 | 7777 | 7777 |
| 2 | 40 | 0000 | 0000 |
| 3 | −00 | 0000 | 0000 |
| 4 | 20 | 0000 | 0000 |
| 5 | 00 | 7777 | 0000 |
| 6 | 00 | 0000 | 7777 |
| 7 | −00 | 0000 | 0001 |
| 0010 | 06 | 3146 | 3146 |
| 1 | 00 | 0001 | 0000 |
| 2 | 00 | 0000 | 0001 |
| 3 | 00 | 0001 | 0001 |
| 4 | 00 | 0002 | 0000 |
| 5 | 00 | 0000 | 0002 |
| 6 | 00 | 0002 | 0002 |
| 7 | 14 | 0001 | 7761 |
| 0020 | −00 | 0000 | 0027 |
| 1 | 01 | 0011 | 0020 |
| 2 | −31 | 0026 | 0000 |
| 3 | 54 | 0020 | 0000 |
| 4 | 47 | 0027 | 0000 |
| 5 | 24 | start | 0000 |
| 6 | −00 | 2000 | 0027 |
| 7 | 00 | 0000 | 0000 |
| 0030 | 40 | 0000 | 0000 |
| 1 | 00 | 0012 | 0030 |
| 2 | 24 | 0030 | 0000 |
| 3 | 00 | 0000 | 0000 |
| 4 | 00 | 0000 | 0000 |
| 5 | 00 | 0000 | 0000 |
| 6 | 00 | 0000 | 0000 |
| 7 | 00 | 0000 | 0000 |
| 0040 | −01 | 0003 | 0021 |
| 1 | 16 | 0023 | 0021 |
| 2 | 54 | 0046 | 0046 |
| 3 | 05 | 0023 | 0000 |
| 4 | 54 | 0067 | 0067 |
| 5 | 24 | 0050 | 0022 |
| 6 | 01 | 0022 | 0020 |
| 7 | 34 | 0050 | 0055 |
| 0050 | 00 | 0020 | 0022 |
| 1 | 05 | 0021 | 0155 |
| 2 | 05 | 0023 | 0021 |
| 3 | 05 | 0155 | 0023 |
| 4 | −11 | 0003 | 0020 |
| 5 | 21 | 0012 | 0020 |
| 6 | −37 | 0056 | 0005 |
| 7 | 54 | 0000 | 0067 |
| 0060 | −07 | 0020 | 0021 |
| 1 | −17 | 0007 | 0023 |
| 2 | 20 | 0021 | 0023 |
| 3 | 05 | 0022 | 0000 |
| 4 | 20 | 0012 | 0020 |
| 5 | 15 | 0023 | 0032 |
| 6 | 00 | 0020 | 0022 |
| 7 | 24 | 0100 | 0000 |
| 0070 | 00 | 0022 | 0020 |
| 1 | 13 | 0021 | 0023 |
| 2 | 24 | 0065 | 0023 |
| 3 | −17 | 0007 | 0023 |
| 4 | 22 | 0021 | 0023 |
| 5 | 11 | 0020 | 0022 |
| 6 | 24 | 0064 | 0000 |
| 7 | 05 | 0230 | 0067 |
| 0100 | 16 | 0102 | 0110 |
| 1 | 34 | 0116 | 0135 |
| 2 | −00 | 0000 | 1777 |
| 3 | −16 | 0057 | 0110 |
| 4 | 24 | 0110 | 0110 |
| 5 | 16 | 0257 | 0134 |
| 6 | −26 | 0313 | 0110 |
| 7 | 05 | 0023 | 0000 |
| 0110 | 00 | 0000 | 0000 |
| 1 | 24 | 0137 | 0023 |
| 2 | −07 | 0141 | 0134 |
| 3 | 16 | 0005 | 0134 |
| 4 | −36 | 0311 | 0000 |
| 5 | 24 | 0140 | 0140 |
| 6 | −26 | 0254 | 0134 |
| 7 | 16 | 0317 | 0023 |
| 0120 | −31 | 0317 | 0011 |
| 1 | 54 | 0124 | 0124 |
| 2 | 00 | 0012 | 0022 |
| 3 | −07 | 0007 | 0023 |
| 4 | 16 | 0320 | 0023 |
| 5 | 30 | 0023 | 0011 |
| 6 | 26 | 0317 | 0155 |
| 7 | −17 | 0260 | 0022 |
| 0130 | 54 | 0000 | 0000 |
| 1 | 05 | 0022 | 0000 |
| 2 | 34 | 0134 | 0133 |
| 3 | −76 | 0320 | 0030 |
| 4 | 00 | 0000 | 0000 |
| 5 | 24 | 0137 | 0000 |
| 6 | 54 | 0255 | 0000 |
| 7 | 00 | 0011 | 0140 |
| 0140 | 00 | 0000 | 0000 |
| 1 | 36 | 0306 | 0014 |
| 2 | 54 | 0220 | 0220 |
| 3 | 16 | 0307 | 0110 |
| 4 | 54 | 0107 | 0000 |
| 5 | 16 | 0310 | 0110 |
| 6 | 54 | 0244 | 0000 |
| 7 | 16 | 0005 | 0110 |
| 0150 | 54 | 0154 | 0000 |
| 1 | 05 | 0022 | 0020 |
| 2 | 05 | 0023 | 0021 |
| 3 | 24 | 0164 | 0000 |
| 4 | −26 | 0312 | 0155 |
| 5 | 00 | 0000 | 0000 |
| 6 | 26 | 0317 | 0021 |
| 7 | −21 | 0134 | 0020 |
| 0160 | 36 | 0320 | 0000 |
| 1 | 54 | 0163 | 0000 |
| 2 | 24 | 0164 | 0000 |
| 3 | −01 | 0320 | 0020 |
| 4 | 16 | 0321 | 0110 |
| 5 | 54 | 0200 | 0000 |
| 6 | 16 | 0006 | 0110 |
| 7 | −37 | 0141 | 0000 |
| 0170 | −26 | 0312 | 0171 |
| 1 | 00 | 0000 | 0000 |
| 2 | 26 | 0317 | 0023 |
| 3 | −21 | 0134 | 0022 |
| 4 | 36 | 0320 | 0000 |
| 5 | 54 | 0177 | 0000 |
| 6 | 24 | 0200 | 0000 |
| 7 | −01 | 0320 | 0022 |
| 0200 | −17 | 0133 | 0110 |
| 1 | −26 | 0314 | 0202 |
| 2 | 00 | 0000 | 0000 |
| 3 | 00 | 0000 | 0000 |
| 4 | 00 | 0000 | 0000 |
| 5 | 00 | 0000 | 0000 |
| 6 | 00 | 0000 | 0000 |
| 7 | 00 | 0000 | 0000 |
| 7 | 00 | 0000 | 0000 |
| 0210 | 01 | 0006 | 0110 |
| 1 | 36 | 0005 | 0000 |
| 2 | 54 | 0166 | 0000 |
| 3 | 00 | 0006 | 0110 |
| 4 | −11 | 0216 | 0137 |
| 5 | 24 | 0137 | 0137 |
| 6 | 24 | 0201 | 0140 |
| 7 | −02 | 7776 | 0107 |
| 0220 | −37 | 0220 | 0012 |
| 1 | −23 | 0204 | 0155 |
| 2 | 10 | 0155 | 0110 |
| 3 | 24 | 0143 | 0110 |
| 4 | 16 | 0006 | 0110 |
| 5 | −26 | 0315 | 0227 |
| 6 | 10 | 0316 | 0140 |
| 7 | 00 | 0000 | 0000 |
| 0230 | 24 | 0100 | 0000 |
| 1 | 24 | 0213 | 0000 |
| 2 | 24 | 0224 | 0000 |
| 3 | 24 | 0105 | 0000 |
| 4 | 24 | 0103 | 0000 |
| 5 | 24 | 0105 | 0000 |
| 6 | 24 | 0260 | 0000 |
| 7 | 24 | 0270 | 0000 |
| 0240 | 24 | 0041 | 0000 |
| 1 | 24 | 0040 | 0000 |
| 2 | 24 | 0073 | 0000 |
| 3 | 24 | 0070 | 0000 |
| 4 | 05 | 0110 | 0134 |
| 5 | −37 | 0245 | 0017 |
| 6 | 21 | 0314 | 0247 |
| 7 | 00 | 0000 | 0000 |
| 0250 | 24 | SP | 0000 |
| 1 | 24 | SP | 0000 |
| 2 | 24 | SP | 0000 |
| 3 | 24 | SP | 0000 |
| 4 | −26 | 0155 | 0000 |
| 5 | 24 | 0322 | 0000 |
| 6 | 24 | 0411 | 0000 |
| 7 | −74 | 0000 | 0000 |
| 0260 | −17 | 0125 | 0207 |
| 1 | −26 | 0205 | 0207 |
| 2 | −17 | 0125 | 0206 |
| 3 | −26 | 0203 | 0206 |
| 4 | 05 | 0000 | 0203 |
| 5 | 16 | 0267 | 0110 |
| 6 | 24 | 0137 | 0205 |
| 7 | 00 | 0000 | 0777 |
| 0270 | 00 | 0012 | 0203 |
| 1 | 00 | 0205 | 0204 |
| 2 | 16 | 0006 | 0110 |
| 3 | −31 | 0203 | 0000 |
| 4 | 54 | 0113 | 0000 |
| 5 | −03 | 0203 | 0205 |
| 6 | 01 | 0205 | 0204 |
| 7 | 16 | 0267 | 0207 |
| 0300 | 24 | 0301 | 0205 |
| 1 | 16 | 0267 | 0206 |
| 2 | 24 | 0303 | 0203 |
| 3 | −07 | 0120 | 0207 |
| 4 | −07 | 0120 | 0206 |
| 5 | 24 | 0137 | 0000 |
| 6 | −00 | 2000 | 2000 |
| 7 | 00 | 4000 | 0000 |
| 0310 | −04 | 0000 | 0000 |
| 1 | 05 | 0000 | 0110 |
| 2 | 05 | 0000 | 0134 |
| 3 | 00 | 0113 | 0112 |
| 4 | −34 | 0230 | 0240 |
| 5 | 24 | 0113 | 0000 |
| 6 | 17 | 0000 | 7670 |
| 7 | −77 | 7777 | 7400 |
| 0320 | −00 | 0000 | 0200 |
| 1 | 00 | 0000 | 4000 |
| 2 | 15 | 0000 | 0020 |
| 3 | 05 | 0023 | 0025 |
| 4 | 54 | 0331 | 0331 |
| 5 | −01 | 0403 | 0020 |
| 6 | −01 | 0406 | 0021 |
| 7 | −46 | 0020 | 0021 |
| 0330 | 24 | 0137 | 0000 |
| 1 | 05 | 0022 | 0155 |
| 2 | 54 | 0341 | 0333 |
| 3 | 13 | 0405 | 0025 |
| 4 | 25 | 0000 | 0024 |
| 5 | 00 | 0404 | 0020 |
| 6 | 10 | 0024 | 0155 |
| 7 | 31 | 0404 | 0000 |
| 0340 | 24 | 0332 | 0155 |
| 1 | 13 | 0401 | 0025 |
| 2 | 25 | 0000 | 0024 |
| 3 | 01 | 0404 | 0020 |
| 4 | 10 | 0024 | 0155 |
| 5 | 21 | 0410 | 0155 |
| 6 | 54 | 0341 | 0347 |
| 7 | −07 | 0155 | 0025 |
| 0350 | 36 | 0317 | 0000 |
| 1 | −31 | 0317 | 0000 |
| 2 | 54 | 0355 | 0355 |
| 3 | 01 | 0404 | 0020 |
| 4 | 03 | 0010 | 0025 |
| 5 | 16 | 0402 | 0025 |
| 6 | 20 | 0025 | 0025 |
| 7 | 05 | 0257 | 0024 |
| 0360 | 03 | 0405 | 0025 |
| 1 | 26 | 0024 | 0155 |
| 2 | −26 | 0021 | 0021 |
| 3 | −07 | 0404 | 0024 |
| 4 | −01 | 0155 | 0025 |
| 5 | 30 | 0102 | 0000 |
| 6 | 54 | 0360 | 0367 |
| 7 | 12 | 0405 | 0020 |
| 0370 | 26 | 0400 | 0155 |
| 1 | 54 | 0374 | 0373 |
| 2 | 34 | 0326 | 0325 |
| 3 | −01 | 0407 | 0021 |
| 4 | 13 | 0405 | 0155 |
| 5 | 31 | 0020 | 0000 |
| 6 | −76 | 0155 | 0000 |
| 7 | 24 | 0327 | 0020 |
| 0400 | −77 | 7777 | 7700 |
| 1 | 63 | 1463 | 1463 |
| 2 | −00 | 0001 | 7777 |
| 3 | −00 | 0000 | 0100 |
| 4 | −00 | 0000 | 0004 |
| 5 | 50 | 0000 | 0000 |
| 6 | 00 | 0000 | 1200 |
| 7 | 00 | 0000 | 0400 |
| 0410 | 00 | 0000 | 0003 |
| 1 | 05 | 0001 | 0024 |
| 2 | 15 | 0000 | 0020 |
| 3 | 05 | 0001 | 0025 |
| 4 | 05 | 0022 | 0000 |
| 5 | 54 | 0427 | 0433 | 7 | 03 | 0405 | 0024 |
| 6 | 03 | 0010 | 0021 | 0430 | 01 | 0404 | 0020 |
| 7 | 16 | 0437 | 0023 | 1 | 10 | 0404 | 0022 |
| 0420 | 22 | 0440 | 0000 | 2 | 24 | 0415 | 0022 |
| 1 | 20 | 0021 | 0021 | 3 | 03 | 0401 | 0024 |
| 2 | −07 | 0404 | 0023 | 4 | 01 | 0410 | 0020 |
| 3 | −07 | 0262 | 0025 | 5 | 11 | 0404 | 0022 |
| 4 | 54 | 0416 | 0000 | 6 | 24 | 0415 | 0022 |
| 5 | 13 | 0024 | 0021 | 7 | −00 | 0003 | 6000 |
| 6 | 24 | 0065 | 0023 | 0440 | 00 | 0002 | 4000 |