Browse Prior Art Database

Translate With Carryover

IP.com Disclosure Number: IPCOM000097858D
Original Publication Date: 1961-Aug-01
Included in the Prior Art Database: 2005-Mar-07
Document File: 3 page(s) / 36K

Publishing Venue

IBM

Related People

Blaauw, GA: AUTHOR

Abstract

Several byte-processing editing operations including binary-to-decimal conversion, zero elimination and punctuation insertion, and singledigit multiplication are carried out by table lookup in a specialized translation mechanism having carryover capability. The mechanism operates sequentially on individual byte pairs from a data stream of memory words until all the byte pairs of the data field are exhausted. On the first reference to the translation table, the first byte pair of a data stream addresses a byte pair in the table, producing a result byte R and a carryover byte C. On the next reference to the table, the second byte pair of the data stream and the carryover byte from the table combine by logical OR to address a new byte pair in the table.

This text was extracted from a PDF file.
At least one non-text object (such as an image or picture) has been suppressed.
This is the abbreviated version, containing approximately 52% of the total text.

Page 1 of 3

Translate With Carryover

Several byte-processing editing operations including binary-to-decimal conversion, zero elimination and punctuation insertion, and singledigit multiplication are carried out by table lookup in a specialized translation mechanism having carryover capability. The mechanism operates sequentially on individual byte pairs from a data stream of memory words until all the byte pairs of the data field are exhausted. On the first reference to the translation table, the first byte pair of a data stream addresses a byte pair in the table, producing a result byte R and a carryover byte C. On the next reference to the table, the second byte pair of the data stream and the carryover byte from the table combine by logical OR to address a new byte pair in the table. This OR combination allows some flexibility in size of C and R areas (C may be 1 to 4 bits) and allows a certain amount of sequential information to be carried over. Again a result byte R and a carryover byte C are produced. In a like manner, each succeeding byte pair of the data stream combines with the resulting carryover byte from the previous reference to reference the table until the required operation is completed. For numeric editing, a single byte in the data stream can reference a byte pair in the table. More sophisticated editing requires a byte pair to reference a bigger table.

The bit pattern of the carryover byte is monitored by the action device 2 which is under program supervision. Box device 2 is employed to cause a conditional branch when a particular carryover bit pattern (such as 1011) is detected.

In a representative computer having table lookup with carryover capability, each memory word comprises sixteen bytes numbered 0... 15. A TRANSLATE WITH LEFT CARRY (proceeding right to left) or TRANSLATE WITH RIGHT CARRY (proceeding left to right) instruction includes a data address, a table address, and a result address. These addresses are used to reference memory repetitively to obtain a data byte pair, to convert or translate this byte pair by reference to the table, and to store the result (bytes R) of the table lookup in the result stream area of memory.

The diagram charts the eight-cycle sequence. On cycle A the data byte pair address passes from the address register 4 to the memory address register MA and is incremented by the one-up device 6. MA references memory on cycle B to transfer data byte pair 0 to the memory data register MD. On cycle C the data byte pair passes to the argument register 8 where it is combined with the address for the table area and in logical OR fashion with the carryover bits. On cycle D the register 8 sets MA to reference memory on cycle E in order to read out result byte pair 0 (C+R) from the table to MD.

Result byte pair 0 passes from MD on cycle F to the byte section of register 8. Also, during cycle F the carryover byte replaces the contents of the carryover section of register 8. On cycle G the result byt...