11.07.2015 Views

Program Logic Manual - All about the IBM 1130 Computing System

Program Logic Manual - All about the IBM 1130 Computing System

Program Logic Manual - All about the IBM 1130 Computing System

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

SECTION 8. CORE LOAD BUILDERFLOWCHARTSPhase 1 (IN): CLBO1Phase 2 (MC): CLB02The Core Load Builder builds a specified mainlineprogram into an executable core load. The mainlineprogram, with its required subroutines (LOCALsand SOCALs included), is converted from disksystem format (DSF) to a format suitable for execution.During <strong>the</strong> conversion, <strong>the</strong> Core Load Builderalso builds <strong>the</strong> core image header record and <strong>the</strong>transfer vector. The resulting core load is suitablefor immediate execution or for storing on <strong>the</strong> disk indisk core image format (DCI) for future execution.GENERAL COMMENTSEach phase of <strong>the</strong> Core Load Builder has beenbroken up into a series of relatively small, selfcontainedsubroutines. After initialization (phase 1)control remains in <strong>the</strong> Master Control subroutine,which is a part of phase 2. (The labels in this subroutineall start with "MC". ) In o<strong>the</strong>r words, <strong>the</strong>basic control logic is found in <strong>the</strong> Master Controlsubroutine.The labels assigned to constants and work areaswithin subroutines are in <strong>the</strong> range 900-999. Whenevernoted, even-numbered labels are on evenboundaries, and odd-numbered labels are on oddboundaries. Constants and work areas in RCOM(phase 0) are mnemonic and are arranged in fourgroups, each ordered alphabetically. Double-wordcells are in one group, indexed cells are in a second;constants are in a third; and switches and work areasare in a fourth. The labels of switches are of <strong>the</strong>form "LSWx", where "x" is a number. The labelsof constants are of <strong>the</strong> form "Kx", where "x" isei<strong>the</strong>r <strong>the</strong> number, in decimal, defined in <strong>the</strong> constantor <strong>the</strong> four hexadecimal digits defined in <strong>the</strong>constant.Patch areas are usually found at <strong>the</strong> end of a phase.Each one is defined by a BSS followed by a DC.OVERLAY SCHEME AND CORE LAYOUTThe overlays (phases) of <strong>the</strong> Core Load Builder havebeen organized to allow maximum core storage for<strong>the</strong> Load Table while minimizing <strong>the</strong> flip-flopping ofphases. "Minimizing" here means that, during aone-pass building process (no LOCALs or SOCALs),<strong>the</strong> phases are executed serially from 1 through 6(excluding 5). During a two-pass building process(LOCALs and/or SOCALs required), <strong>the</strong>re is someflip-flopping of phases 3 and 5.Phase 0 is never overlaid. It contains <strong>the</strong> subroutinesthat must never be overlaid, as well aswork areas and constants required by more than onesubroutine.Phase 1 is fetched along with phase 0. The onlydifference is that phase 2 overlays phase 1 but not,of course, phase 0. Phases 3, 4, 5, 6, and 12 overlay<strong>the</strong> last part of phase 2.Phases 7-10 contain messages. They all requirethat <strong>the</strong> principal print subroutine be in <strong>the</strong> databuffer; <strong>the</strong>se phases <strong>the</strong>mselves are executed from<strong>the</strong> LET/FLET search buffer.Phase 11 prints <strong>the</strong> file map and phase 12 <strong>the</strong> coremap. Both of <strong>the</strong>se phases require that <strong>the</strong> principalprint device subroutine be in <strong>the</strong> LET/FLET searchbuffer. Phase 11 is executed from <strong>the</strong> data buffer.Figure 9, panel 1 shows <strong>the</strong> layout of <strong>the</strong> contentsof core storage after phases 0 and 1 of <strong>the</strong> Core LoadBuilder have been fetched into core storage by phase1 of <strong>the</strong> Core Image Loader or <strong>the</strong> STORE functionof DUP.Figure 9, panel 2 shows <strong>the</strong> layout of <strong>the</strong> contentsof core storage after phase 1 has fetched phase 2,overlaying itself. Phase 2 has allocated <strong>the</strong> areas for<strong>the</strong> Load Table and <strong>the</strong> disk I/O buffers.Figure 9, panel 3 shows <strong>the</strong> layout of <strong>the</strong> contentsof core storage after any one of <strong>the</strong> overlay phaseshas been fetched by phase 2.Phase 1 includes <strong>the</strong> subroutines called by <strong>the</strong> initializationsubroutine. In this way, phase 2 can overlayphase 1 completely. Phase 2 includes <strong>the</strong> subroutinescalled by <strong>the</strong> relocation subroutine, RL. Theorder of <strong>the</strong> subroutines in this phase is important.Those that are required only during <strong>the</strong> relocation of<strong>the</strong> mainline (MV, ML, CK, DC, DF, and FM) comeSection S. Core Load Builder 33

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!