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

Expanding a LIFO Stack Into Several Sections of Storage

IP.com Disclosure Number: IPCOM000073473D
Original Publication Date: 1970-Dec-01
Included in the Prior Art Database: 2005-Feb-22
Document File: 3 page(s) / 37K

Publishing Venue

IBM

Related People

Pepperdine, A: AUTHOR [+2]

Abstract

A LIFO (last-in-first-out) stack is made up of a number of segments of storage each addressed by a segment number decreasing from 25S (X'FF'). The segment number is contained in the high order byte of the segment address and consequently by changing this byte one address may be forced to be higher or lower than another.

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

Page 1 of 3

Expanding a LIFO Stack Into Several Sections of Storage

A LIFO (last-in-first-out) stack is made up of a number of segments of storage each addressed by a segment number decreasing from 25S (X'FF'). The segment number is contained in the high order byte of the segment address and consequently by changing this byte one address may be forced to be higher or lower than another.

When the first block of storage is obtained, a pair of pointers BOS (beginning of segment) and EOS (end of segment) are set to the beginning and the end of the segment with the high order byte set to X'FF'.

If only part of the block is required, then a pointer established a set distance from the beginning of the block is set to point at the next available byte (NAB) in the block. If the whole of the block is used then the NAB will point to the end of the block as will the EOS pointer.

In the example of the diagram, when after the first element of block A has been allocated NAB --> 10 and EOS --> 60, if then a second element of length 60 is required then current NAB (10) + length of element required (60) > EOS (60) then a routine (called the overflow routine) is called to obtain storage for the second segment.

The overflow routine is passed the length of the element required and at this time frees any segments which are no longer in use due to the previous collapse of the LIFO stack over more than one element of storage.

Storage for a further segment of the LIFO stack is obtained by any known storage allocation m...