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

Linking Program Modules on a Stack Microprocessor

IP.com Disclosure Number: IPCOM000088198D
Original Publication Date: 1977-May-01
Included in the Prior Art Database: 2005-Mar-04
Document File: 1 page(s) / 12K

Publishing Venue

IBM

Related People

Lang, DJ: AUTHOR [+4]

Abstract

When a stream of instructions in a central processing unit (CPU) undergoes execution and involves transfers from one block of code (a "module") to another, it is desirable to verify whether a target address contains an instruction which defines an entry point and contains suitable parameters to properly effect transfer of control. One prior art solution was to imbed a Fetch and Test sequence prior to a Branch and Link, a procedure which was both time consuming (especially in a virtual storage system) and relied on programming initiative. The improved solution provides for overlapping the Branch and Link with a Test operation.

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

Page 1 of 1

Linking Program Modules on a Stack Microprocessor

When a stream of instructions in a central processing unit (CPU) undergoes execution and involves transfers from one block of code (a "module") to another, it is desirable to verify whether a target address contains an instruction which defines an entry point and contains suitable parameters to properly effect transfer of control. One prior art solution was to imbed a Fetch and Test sequence prior to a Branch and Link, a procedure which was both time consuming (especially in a virtual storage system) and relied on programming initiative. The improved solution provides for overlapping the Branch and Link with a Test operation.

This method may be implemented on microprocessors which execute structured programming-type sequences. The microcode instructions are grouped into a block termed "Object Modules", where a characteristic attribute is that an Object Module encompasses approximately 100 instructions. Related Object Modules are linked together to form Load Modules. During the linking of Object Modules into Load Modules, the generalized "Call" created by the Assembler (source to Object Modules) is replaced by a "Call Direct" if the target Object Module is within the current Load Module, or is replaced by a "Call Indirect" if the editor determines that the referenced Object Module is not within the Load Module. The execution of any task involves passing of control from one Object Module to another, often creating m...