Small-Scale Automation on the Ural-11B Digital Computer

V. K. Kivran, V. A. Malyshev
Submitted 1974 | SovietRxiv: ru-197401.11098 | Translated from Russian

Abstract Generated abstract

This paper describes small scale automation techniques for the Ural-11B digital computer aimed at reducing routine programming work and input preparation. It proposes a relocation program that replaces conditional calls to standard library subroutines with actual calls, automatically copies the required routines from magnetic tape into assigned memory, and supports formation and replenishment of the subroutine library through an accompanying program. The paper also presents a universal input card scheme that permits heterogeneous card decks to be loaded in arbitrary quantity and order without modifying the input card structure. Appendices provide machine code listings for the relocation program, the library maintenance program, and the universal and final input cards.

Full Text

SMALL-SCALE AUTOMATION ON THE “URAL-11B” DIGITAL COMPUTER

V. K. Kivran, V. A. Malyshev

(Presented by the scientific seminar of the UVL TPI)

Automation of Calls to the Library of Standard Subroutines (BSP)

When calling an SP with the command 637A, the programmer must know the initial addresses of all subroutines used. In addition, all SPs must be copied from magnetic tape into the NF and processed with the aid of additional programs. All this consumes time unproductively, increases the probability that errors will appear in the program, and thereby increases debugging time.

In the present work it is proposed to replace calls to subroutines of the type 63MA by the command KMN, where $N$ is the number of the subroutine in the BSP, and $K$ is any free machine code, for example 27. Before the program begins operation, a special placement program RP is included; it searches the program for all calls to the BSP, copies the corresponding SP from magnetic tape into the NF according to the SP number, automatically places them one after another in the NF zone allotted by the programmer, and replaces the conditional codes for calls to the SP by codes of an actual call, of the type 63MA. In this process the SPs themselves are also processed by the same RP.

It should be noted that the RP can process programs written both in the codes of the “Ural-11B” command system and in the codes of any interpreting system that does not use the corresponding free code. Therefore, in the conditional command for calling an SP, any modifier number and any sign may appear in the high-order digits of the address part of the command.

To process the working program it is sufficient to execute the following commands:

\[ \begin{aligned} &65\ 5\ A_0\\ &25\ 5\ m\\ &65\ 6\ \alpha_0\\ &63\ 7\ \mathrm{RP}\\ &23\ 0\ \text{start}, \end{aligned} \]

where $A_0$ and $m$ are the initial address and the number of commands subject to processing, and $\alpha_0$ is the initial address for placing the SP.

It should be noted that this system does not provide for the automatic replacement of one SP by another in the course of solving a problem if the allocated zone is insufficient to accommodate all the necessary SPs. Therefore,

for an SP, a sufficient number of cells in the NF must be allocated at once.

To form and replenish the BSP, an accompanying program is proposed; for its operation the following information is specified:

00030) 25 1n+2;
00062) 25 3S;
00106) 31 2 λ N₀,

where $\lambda$ and $N_0$ indicate the cabinet and the initial zone for recording the input SPs, $S$ is the number of input SPs, and $n$ is the number of cards in an SP deck. Before each SP a “catalog line” is punched; it occupies one full cell. It specifies the length of the SP and the length of that part of it which is to be processed by the relocation program. The “catalog line” also specifies, in the 24th digit, a flag indicating whether the SP refers to other SPs. In this case the length of the SP must not exceed 3777 cells.

The accompanying program rewrites each SP, together with its “catalog line,” into the next free zone $N$, where $N_0 \leq N \leq 3777$, and prints an “information line,” in which $N$ and the “catalog line” of the SP are printed.

The zone number of the SP is also the number of the SP in the library when it is called by a conditional code in the working program.

Automation of the input of information material into the machine

The intended purpose of the Ural-11B digital computer presupposes the need to input a large quantity of diverse information. The input system of the digital computer makes this input difficult; the programmer has to prepare several more or less complex input cards. The input of material becomes cumbersome, inconvenient, and nonstandard.

In the present work a universal input card is proposed, by means of which various information material can be input in any quantity without changing the card (and without even knowing its contents). When this method is used, before the next deck of cards only an accompanying card with the following words is placed:

40 0 0100P
25 1 N;
65 2 A₀;
25 2 n;
00 0 00000,

where P is the type of recoding (from the digital-computer instruction system);

$N$ is the number of cards in the deck, not counting the accompanying card;

$A_0$ is the initial address for placing the information;

$n$ is the number of words on the card.

These card decks, with their accompanying cards, are compiled in any order and in any quantity; at the front a universal card is placed, and at the end a final card, which is also one and the same card for any input. Thus, the formed packet of cards is input into the machine without stopping by pressing the “start input” button on the Ural-11B CPU.

Appendix 1. Relocation program

03000        570        37775              03050        450        03023
   2        570        00016                  2        256        00001
Address Code Operand Address Code Operand
4 420 03025 4 716 00000
6 450 03023 6 260 03056
03010 425 00000 03060 426 00000
2 520 03226 2 454 00000
4 540 03231 4 440 03010
6 200 03164 6 450 00017
03020 654 37774 03070 426 00001
2 254 00001 2 450 00033
4 425 00001 4 450 03055
6 554 00001 6 716 00000
03030 600 03160 03100 260 03076
2 644 40004 2 646 00002
4 244 03026 4 425 00000
6 454 00001 6 520 03227
03040 450 03055 03110 530 03230
2 450 03077 2 130 00030
4 420 03023 4 054 00002
6 410 03025 6 020 00030
03120 050 00014 03170 420 03023
2 023 00000 2 450 03176
4 563 00001 4 654 37774
6 210 03144 6 254 00001
03130 140 03232 03200 424 00000
2 210 03140 2 210 03020
4 030 00030 4 440 03010
6 230 03142 6 454 00000
03140 010 00030 03210 450 00026
2 053 00000 2 024 00002
4 643 00002 4 050 00024
6 243 03122 6 230 03010
03150 420 03055 03220 644 40004
2 510 40013 2 244 03200
4 010 00030 4 237 00000
6 050 00030 6 770 00077
03160 024 00002 03230 630 00027
2 055 00000 2 000 04000
4 645 00002
6 245 03010

Appendix 2. Accompanying Program

Address Code Operand Address Code Operand
00030 251 00002 00064 652 00220
2 651 00100 6 660 00066
4 400 01001 00070 400 24003
6 660 00036 2 660 00072
00040 252 00024 4 422 00001
2 720 02000 6 410 00075
4 260 00212 00100 450 00013
6 051 00000 2 510 00001
00050 641 00002 4 450 00015
2 242 00042 6 312 00000
4 241 00036 00110 260 00106
6 400 07000 2 651 00010
00060 400 21000 4 257 00004
2 253 00000 6 420 00107
00120 637 00170 00160 210 00150
2 257 00010 2 243 00070
4 022 00000 4 400 24003
6 637 00170 6 770 00000
00130 420 00107 00170 050 00040
2 410 00103 2 510 40005
4 450 00107 4 321 23000
6 420 00013 6 641 00001
00140 410 00136 00200 020 00040
2 450 00013 2 510 00003
4 600 00150 4 247 00170
6 210 00130 6 641 00001
00150 642 00050 00210 237 00000
2 643 40050 2 777 00007
4 560 00015 4 000 00000
6 600 00162 6 000 00000

Appendix 3. Universal input card and final card

00030 400 01001 00060 720 02000
2 230 00046 2 260 00074
4 000 00000 4 052 00000
6 000 00000 6 642 00002
00040 630 00056 00070 242 00060
2 241 00036 2 230 00000
4 400 01001 4 777 00007
6 652 00030 6 777 00007
00050 252 00004
2 630 00056
4 230 00030
6 660 00056
00030 400 07000
2 770 00000
4 770 00000
6 770 00000
00040 000 00000

REFERENCES

  1. Universal Automatic Digital Computing Machines “Ural-11.” Programming Instructions. Part I. Command System. Programming. BNTI, 1965.

Submission history

Small-Scale Automation on the Ural-11B Digital Computer