Browse Prior Art Database

Self Relocating Move Loop

IP.com Disclosure Number: IPCOM000077588D
Original Publication Date: 1972-Aug-01
Included in the Prior Art Database: 2005-Feb-25
Document File: 2 page(s) / 55K

Publishing Venue

IBM

Related People

Brannon, TL: AUTHOR

Abstract

During nucleus initialization of a system with a pageable nucleus, Control Sections (CSECTs) in the nucleus must be moved about in real storage. This is necessary because the nucleus must be separated into pageable and nonpageable portions. The routine which relocates the nucleus CSECTs is itself a nucleus CSECT and must also move many times. Therefore, a self-relocating move loop, to control the movement of the CSECTs, is necessary.

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

Page 1 of 2

Self Relocating Move Loop

During nucleus initialization of a system with a pageable nucleus, Control Sections (CSECTs) in the nucleus must be moved about in real storage. This is necessary because the nucleus must be separated into pageable and nonpageable portions. The routine which relocates the nucleus CSECTs is itself a nucleus CSECT and must also move many times. Therefore, a self-relocating move loop, to control the movement of the CSECTs, is necessary.

The Initial Program Load (IPL) routine used in all IBM OS/360 systems moves a portion of itself to high-real storage after being loaded. The move is done only once, however, and the code used to execute the move does not move itself.

Some of the factors that must be considered in the implementation of the self-relocating move routine follow: Addressability - Base registers must be updated to reflect

the new location of the routine before the move is made.

Base displacement instructions may not be used after the base

register is changed and before the move is executed. Internal

Address Constant (ADCONs) must also be updated. A register is

loaded with the address at which the routine is to resume

execution at its new location, and, after the move, a branch

is executed on this register.

Overlay - The move long (MVCL) and branch register (BR)

instructions used in the routine may themselves be overlaid

during

execution of the move. This happens when the routine occupies

part of storage at its new location which o...