(单词翻译:单击)
But if a simple operation like multiplying floating-point numbers would require a set of instructions,
但是,如果像浮点数乘法这样的简单操作都需要整整一套指令的话,
then a procedure of any useful scale would involve putting many such sets of instructions together.
那么任何实用的程序,都会产生一个很大规模的指令表。
He envisaged this not as a stringing together of tables, but as a hierarchy, in which subsidiary tables like MULTIP would serve a 'master' table.
因此,图灵设计的指令表并不是线性的,而是具有层次体系的,在这个模式中,像MULTIP这样的子表,将会服务于一个主表。
He gave a specific example of a master table called CALPOL which was to calculate the value of a fifteenth-order poly nominal in floating-point.
图灵给出了一个主表的例子,叫作CALPOL,它用来计算一个浮点形式的15阶多项式的值。
Every time a multiplication or addition was required, it had to call upon the services of a subsidiary table.
每次需要执行加法或乘法时,它就会调用子表,
The business of doing this calling up and sending back of subsidiary tables was something which itself required instructions, as he saw:
这种调用和返回,则是依靠机器本身内置的指令。图灵认为:
When we wish to start on a subsidiary operation we need only make a note of where we left off the major operation and then apply the first instruction of the subsidiary.
当我们需要调用子过程时,我们只需要标记一下我们离开主过程的位置,然后切到子表的第一条指令。
When the subsidiary is over we look up the note and continue with the major operation.
当子过程完成时,我们找到那个标记,返回到主过程。
Each subsidiary operation can end with instructions for the recovery of the note.
每一个子过程,都用"RET"指令作为终止。
How is the burying and disinterring of the note to be done?
那么如何做标记呢?
There are of course many ways.
办法当然有很多。
One is to keep a list of these notes in one or more standard size delay lines ...with the most recent last.
其中一个办法是,将这些标记的队列,存储在一组标准型号的延迟线上……包括当前最近的标记。
The position of the most recent of these will be kept in a fixed TS (short delay line) and this reference will be modified every time a subsidiary is started or finished.
而最近的标记,会同时保持于一条特定的短程延迟线上,每次调用或终止子过程时,都会修改这个标记。
The burying and disinterring processes are fairly elaborate, but there is fortunately no need to repeat the instructions involved each time, the burying being done through a standard instruction table BURY, and the disinterring by the table UNBURY.
这个模式稍嫌复杂,但它的好处是,不需要将需要调用的过程反复写很多遍。调用的过程由一个标准指令表BURY来实现,返回则由UNBURY来实现。