Browse Prior Art Database

Branching Between Processor Instruction Address Spaces Using Address Key Register Table and Linkage Stack

IP.com Disclosure Number: IPCOM000040674D
Original Publication Date: 1987-Dec-01
Included in the Prior Art Database: 2005-Feb-02
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Bourke, DG: AUTHOR [+3]

Abstract

This article describes a technique which provides an efficient open subroutine linkage and return between one or more instruction address spaces, thereby allowing programs larger than 128KB of instructions. Also, an architected linkage stack allows recursive subroutine call and return. In a processor in which each extended level status block (LSB) contains an address space key and an address pointer to a stack control block, the stack control block points to a linkage which is used as a push-down (LIFO) stack for saving and restoring context for subroutine calls and return. Two non-privileged subfunctions of a SFAKT instruction (set AKR from address key table) provide the subroutine linkage and return functions that utilize the linkage stack along with the address key register (AKR) table.

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

Page 1 of 1

Branching Between Processor Instruction Address Spaces Using Address Key Register Table and Linkage Stack

This article describes a technique which provides an efficient open subroutine linkage and return between one or more instruction address spaces, thereby allowing programs larger than 128KB of instructions. Also, an architected linkage stack allows recursive subroutine call and return. In a processor in which each extended level status block (LSB) contains an address space key and an address pointer to a stack control block, the stack control block points to a linkage which is used as a push-down (LIFO) stack for saving and restoring context for subroutine calls and return. Two non-privileged subfunctions of a SFAKT instruction (set AKR from address key table) provide the subroutine linkage and return functions that utilize the linkage stack along with the address key register (AKR) table. The SFAKT AND BRANCH subfunction saves the previous AKR index and instruction address register (IAR) on the stack, sets the AKR from the AKR table, and branches to the subroutine address specified. The SFAKT Return subfunction restores the AKR to the one specified by the AKR index previously saved on the linkage stack, and sets the IAR to the instruction address previously saved on the linkage stack. The SFAKT AND BRANCH allows efficient open subroutine linkage from one instruction address space to another by changing the currently active AKR to an AKR table entry in which...