Patent GB-1179048-A (GB)
Title: Data Processor with Improved Apparatus for Instruction Modification
IPC: G06F9/355
Filed: 1967-06-09
Abstract: 1,179,048. Computer programme control. GENERAL ELECTRIC CO. 9 June, 1967 [27 June, 1966], No. 26749/67. Addition to 1,179,047. Heading G4A. In a computer, an address portion of a first instruction word from memory is used to access an indirect instruction word, an address portion of which, modified in accordance with a tag portion of the first instruction word, is used to access an operand, the operand being operated upon in accordance with an operation code portion of the first instruction word, and the indirect instruction word being re-stored after modification of the address portion and a tally portion thereof. An instruction word includes an address, an p code and a tag portion. Two bits of the tag portion can specify one of three types of modification call R, RI and IT. In type R, the address portion is added to the contents of a register selected by other bits in the tag portion to obtain the address of an operand, the operand being operated on in accordance with the op code. In type RI, the address portion is added to the contents of a register selected by bits in the tag portion to obtain the address of another instruction word which again can call for any of the three types of modification. In type IT, the address portion is used to access an indirect instruction word from memory. This indirect instruction word has an address portion, a tally portion and a tag portion. The address portion, modified or unmodified, is used to obtain an operand which is operated on in accordance with the op code of the first instruction .word. The indirect instruction word is re-stored with its address and tally portions modified. The following variants of the IT modification are possible, one being selected by bits of the tag portion of the first instruction word: DI in which the address and tally portions of the indirect instruction word are decreased and increased by one respectively before re-storing, the modified address being used to obtain the operand. DIC is like DI except that a further instruction is obtained instead of the operand. ID in which the address and tally portions of the indirect instruction word are increased and decreased by one, respectively, before re-storing, the unmodified address being used to obtain the operand. IDC is like ID except that a further instruction is obtained instead of the operand. SD is like DI except that the address and tally portions are modified by a quantity specified by the tag portion of the indirect instruction word rather than by one. AD corresponds to ID in the same way as SD corresponds to DI. SC is like ID except that the tag portion of the indirect instruction word contains a 3-bit character address and a bit to specify the character size as being 6 or 9 bits, and each access of the indirect instruction word increases the character address portion (which specifies character position within a word) by one rather than the (word) address portion. The latter is increased when the character address goes from its maximum value to zero, the maximum value being determined by the character, size.bit.. The unmodified word address and character address portions are used to obtain a one-character operand. When the tally portion, which initially can have any selected value, reaches all zeros, a flip-flop is set to sound an alarm or produce a programme branch. Reference is made above to obtaining operands from memory but the instructions could equally be used for storing them. The address and tally portions could be changed in the same sense rather than opposite senses. The IT modifications can. be used for storing and then retrieving a series of adjacent words or characters on a first-in, last-out basis. Various registers are provided, including a two-word instruction register one half of which is selected by an instruction counter flip-flop. A common, adder is provided for all the modifications and two tag decode matrices are provided (for the tag portions of the first and indirect instructions, respectively).