Dismiss
InnovationQ will be updated on Sunday, Oct. 22, from 10am ET - noon. You may experience brief service interruptions during that time.
Browse Prior Art Database

Forward and Backward Reading of a Series of Data Elements

IP.com Disclosure Number: IPCOM000074415D
Original Publication Date: 1971-Apr-01
Included in the Prior Art Database: 2005-Feb-23
Document File: 3 page(s) / 44K

Publishing Venue

IBM

Related People

Seelhorst, G: AUTHOR

Abstract

A series of data elements can comprise single-byte data elements on the one hand, each byte of which indices the respective significance simultaneously indicating that the byte concerned is a single-byte element, and on the other multi-byte data elements consisting of a key byte a length byte and a data field. The key bytes are not reserved characters. for backward reading, the key and length bytes are repeated at the end of the multi-byte element. Thus, a multi-byte element consists of "the key, the length field, the data field, the length field, and the key". The key signifies that the element concerned is a multi-byte element, in addition to indicating the contents of the data field, whereas the contents of the length field indicate the byte number -1 of the data element. For reading, a pointer is set to the left key.

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

Page 1 of 3

Forward and Backward Reading of a Series of Data Elements

A series of data elements can comprise single-byte data elements on the one hand, each byte of which indices the respective significance simultaneously indicating that the byte concerned is a single-byte element, and on the other multi-byte data elements consisting of a key byte a length byte and a data field. The key bytes are not reserved characters. for backward reading, the key and length bytes are repeated at the end of the multi-byte element. Thus, a multi-byte element consists of "the key, the length field, the data field, the length field, and the key". The key signifies that the element concerned is a multi-byte element, in addition to indicating the contents of the data field, whereas the contents of the length field indicate the byte number -1 of the data element. For reading, a pointer is set to the left key. During the subsequent reading operation this pointer is set to the key of the next data element.

The read instructions refer to a direction indication which is available as a number. The forward direction (from left to right) is represented by +1 and the backward direction (from right to left) by -1. The program refers to the binary representation of +1 and -1 utilizing this feature to subdivide +1 into a left part of the value of 0 and a right part of the value of +1, whereas the corresponding subdivision of -1 stored in two's complement notation leads to two parts, each having a value of -1 (+1 in binary form, for example, 0001 is equivalent to 00 and 01; -1 in binary form, for example, 1111 is equivalent to 11 and 11).

The following program abstract shows the essential parts of the routine, by means of which, depending upon the direction number, forward or backward reading is carried out, using the same read instructions.

The necessary multiplications of the length value with +1 or -1 are replaced in a time-saving manner by simple logic combinations followed b~ addition or subtraction. In the following code, RPTR signifies the register containing the pointer. RB, RC, and RD are auxiliary registers. The direction indication +1 or -1 is set in storage field F (full word), whose left-half forms half-word H. The figure shows states A to E which occur when handling a series of data elements by means of the indicated program. LH RB, H Load auxiliary register RB

with 0 (forward) or -1

backward) -1 state A.

AR RPTR, RB Add this value to original

value of pointer RPTR

- state B.

CLI 0(RPTR), Test whether key byte of

BYTE1 pointer is a singly-byte

element.

BNH LONEBYTE If element is a singly byte,

go to last instruction of

routine.

L RC, F Load auxiliary register RC

with the full value from F.

SR RD, RD Set auxiliary register RD

1

Page 2 of 3

to 0.

IC RD, 0 Load length value as

(RC, KA~ represented (length -1) from

right length field (for

forward readint) or left

length field (for backward

reading) of the key

byte to which RPTR points

into the eight rightmost...