Browse Prior Art Database

Address Constant Instruction Generation

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

Publishing Venue

IBM

Related People

Collart, TH: AUTHOR

Abstract

In many assembler languages, the standard method for accessing a location external to a given module involves loading the external address through the use of an address constant. The register thus loaded is used within the accessing instruction as a base register. If multiple external locations are to be accessed, each address is loaded before the location is referenced. This method requires one extra instruction and address constant storage for each external reference.

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

Page 1 of 1

Address Constant Instruction Generation

In many assembler languages, the standard method for accessing a location external to a given module involves loading the external address through the use of an address constant. The register thus loaded is used within the accessing instruction as a base register. If multiple external locations are to be accessed, each address is loaded before the location is referenced. This method requires one extra instruction and address constant storage for each external reference.

It is possible to avoid this overhead of time and storage by using Address Constant Instruction Generation. When multiple external locations are to be accessed, only one address need be loaded for each section of storage addressable by an instruction displacement. The starting address of this section of storage is used as a base point for all references within it. A register must be loaded with the base address.

Instructions which are to reference the external locations are then generated with a relocatable address constant. The bit pattern for the instruction can be defined by a constant and the necessary displacement from the base point is the difference of two external symbols. The first being the external symbol to be referenced and the second defining the base point. The operation code and base register can be defined by a constant. The remaining portion of the instruction is completed when the program is loaded and the value inserted for the address co...