Browse Prior Art Database

Linklist Instruction

IP.com Disclosure Number: IPCOM000049477D
Original Publication Date: 1982-Jun-01
Included in the Prior Art Database: 2005-Feb-09
Document File: 3 page(s) / 53K

Publishing Venue

IBM

Related People

Losq, JJ: AUTHOR [+2]

Abstract

In commercial job streams, one of the most frequently executed sequences of instructions is: (see original).

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

Page 1 of 3

Linklist Instruction

In commercial job streams, one of the most frequently executed sequences of instructions is: (see original).

The BCR (Branch on Condition Register) branches to the Load instruction stream: they implement going thru linked list.

In the IBM 3033, it takes 10 cycles for every iteration of the loop illustrated in Fig. 1.

A much faster execution of this loop can be obtained if one defines a new instruction, LINKLIST, in the architecture. This new instruction, LINKLIST, has an SS format: (see original).

The address specified by B1 and D1 is the address of the first link in the linked list, as illustrated in Fig. 2. The second operand address given by B2 and D2 is used as follows:

B2 indicates the register where the value of the link is placed, D2 is the displacement, with respect to this link, of the data entry to compare with the reference. (In the previous example, B2 will be Register B, and D2 will be 008.) Instruction LINKLIST and addresses

L B 0BO00 SR 1 1 (clear Reg. 1) LTR B B LINKLIST 1 0 BO00 BO08 BC 8 E0004 Replaced by BC 8 E0004 C 0 0BO08

BCR 7 F

The two R fields, R1 and R2, corresponding to the L1 and L2 fields of SS instructions, are used as follows:

R1 points to the register containing the value used to indicate the end of the linked list (in the previous example, Rl should indicate a register with a content of
0).

R2 is used to point at the register containing the reference value. This is compared to the data in the linked list (in the previous example, R2 is Reg. 0).

The condition code setting after the completion of this instruction is: CC=0 Reference match data

CC=1 End of List encountered

By using these two settings, one can dete...