Browse Prior Art Database

Basic List Processing Op Code: Insertion/Deletion

IP.com Disclosure Number: IPCOM000075896D
Original Publication Date: 1971-Dec-01
Included in the Prior Art Database: 2005-Feb-24
Document File: 1 page(s) / 11K

Publishing Venue

IBM

Related People

Howard, CM: AUTHOR

Abstract

The op-code described performs insertion (or deletion) of an item in a list. If the operation itself is noninterruptible, several interruptible programs may safely manipulate the same list without the possibility of timing dependent failures.

This text was extracted from a PDF file.
This is the abbreviated version, containing approximately 100% of the total text.

Page 1 of 1

Basic List Processing Op Code: Insertion/Deletion

The op-code described performs insertion (or deletion) of an item in a list. If the operation itself is noninterruptible, several interruptible programs may safely manipulate the same list without the possibility of timing dependent failures.

The noninterruptibility of op-codes is common for single processors, but is mainly uncommon for several processors sharing the same memory.

Notation: R1 and R2 are registers.

"(A)" is read "the contents of A".

FUNCTIONAL DESCRIPTION of op-code ID If R2 not= 0 then Let A = (R1) + (R2) else Let A = (R1). Let B = (A). A, B, and (R1) are thought of as addresses, and (R2) a displacement from (R1).

In this case, ID R1, R2

would perform the following three steps:
a) Set (A) = (B).
b) Set (B) = A.
c) Set (R1) = B - (R2) if R2 not= 0

= B otherwise.

The operation deletes item B from the list, leaving it otherwise intact, and leaving R1 pointing to item B for further processing.

Applying the operation a second time causes item B to be reinserted in its original position in the list; the operation is its own inverse.

If the list was circular before the operation, it is still circular after the operation: the various degenerate cases need no special processing.

1