Browse Prior Art Database

Move and Process (Map) Instruction

IP.com Disclosure Number: IPCOM000044432D
Original Publication Date: 1984-Dec-01
Included in the Prior Art Database: 2005-Feb-05
Document File: 4 page(s) / 68K

Publishing Venue

IBM

Related People

Brady, JT: AUTHOR

Abstract

The use of computing systems is becoming more intensive in data manipulation as interactive computing becomes more commonplace. The development of this mode of computation may be enhanced by new and different approaches to the instruction set of machines to process character-oriented data. One very useful technique used in software is the table lookup. In software the technique is tailored to solve the specific problem at hand. In hardware numerous machines have had table lookup instructions, including the Translate instruction of the IBM System/360 and System/370 families. The following instruction is useful for table lookups in that it provides the capability to change the result of a lookup based on the previous invocations of the instruction.

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 28% of the total text.

Page 1 of 4

Move and Process (Map) Instruction

The use of computing systems is becoming more intensive in data manipulation as interactive computing becomes more commonplace. The development of this mode of computation may be enhanced by new and different approaches to the instruction set of machines to process character-oriented data. One very useful technique used in software is the table lookup. In software the technique is tailored to solve the specific problem at hand. In hardware numerous machines have had table lookup instructions, including the Translate instruction of the IBM System/360 and System/370 families. The following instruction is useful for table lookups in that it provides the capability to change the result of a lookup based on the previous invocations of the instruction. The instruction can be used for single and multi-level code conversions, deletion of unwanted characters, compressions of duplicate characters, determining the number of consecutive binary ones or zeros in a string of bytes, converting from one numbering system to another, etc. The description of the instruction is as follows:

(Image Omitted)

DEFINITIONS (see Fig. 1) CURRENT BYTE - Byte from second operand in either original form or according to PROCESSING TABLE (PT) definition. ES - Specifies ending status of instruction. REGISTER BIT MEANING 0 First operand length = 0 1 Second operand length = 0 2 Request to delete beyond the bound of the second operand occurred LENGTH FIRST OPERAND - Two-part field each fourteen bits in length, described below: INITIAL LENGTH - Bits 4 to 17 of R1+1 contains byte count of first operand, provides a limit for deletions from first operand. RESIDUAL LENGTH - Bits 18 to 31 of R1+1, contains byte count remaining in first operand. Length decremented by 1 for each byte stored in first operand. Incremented by 1 for each byte deleted from first operand. If RESIDUAL LENGTH exceeds INITIAL LENGTH, instruction is terminated, condition code (CC) = 2, ending status indicated in bit 2 of R1+1, and state of instruction is equivalent to that prior to processing current byte. D - Bit indicates subsequent occurrence of REPBYTE is deleted. Turned on and off during processing. Turned on by loading register (reg) prior to executing MAP, or PROCESSING TABLE CONTROL COMPRESSION field (PTCC) = 11 for a byte being processed from the second operand. Turned off whenever a byte is not equal to the present REPBYTE. TBLW - Two-bit field specifies width of PROCESSING TABLE (PT). 00 - one byte wide; 01 - two bytes wide; 10 - four bytes wide; 11 - not defined. DS - Bit specifies setting DEFAULT SELECTOR. DIR - Two-bit field specifies direction of processing for first and second operand. First bit controls first operand, second bit second operand. 00 - processed left to right; 01 - processed right to left. For programming ease, operands are addressed as leftmost byte. Hardware implementation considerations resulting in the operand address being the first...