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 4. COLD START PROGRAMSFLOWCHARTSCold Start Loader: CSTO1Cold Start <strong>Program</strong>: CSTO2COLD START LOADERThe Cold Start Loader is <strong>the</strong> one-card bootstrap usedto initiate <strong>the</strong> operation of <strong>the</strong> Cold Start <strong>Program</strong>,which in turn initiates <strong>the</strong> operation of <strong>the</strong> monitorsystem.Since it is loaded by <strong>the</strong> IPL procedure, allinstructions in <strong>the</strong> Cold Start Loader are in IPLformat. Hence, <strong>the</strong> program must construct allIOCCs as well as any long instructions requiredby it.The first word set up after entering <strong>the</strong> programis <strong>the</strong> second word of <strong>the</strong> IOCC for reading <strong>the</strong> ConsoleEntry switches. After this is done, <strong>the</strong> numberof <strong>the</strong> physical drive to be assigned as logical drive0 is obtained from <strong>the</strong> Console Entry switches. Theprogram <strong>the</strong>n checks to see if <strong>the</strong> number obtainedis valid (0-4, inclusive). If it is not, <strong>the</strong> programcomes to a WAIT from which <strong>the</strong> user may restartby entering a valid number and pressing <strong>the</strong> STARTkey. Once a valid number has been obtained, <strong>the</strong>device code for <strong>the</strong> drive specified is constructedand saved (for use by <strong>the</strong> Cold Start <strong>Program</strong> as wellas <strong>the</strong> Cold Start Loader).After setting up <strong>the</strong> second word of <strong>the</strong> IOCC forsensing <strong>the</strong> disk (with reset), <strong>the</strong> program senses <strong>the</strong>disk. <strong>All</strong> bits except <strong>the</strong> not-ready bit (bit 2) aremasked out. If <strong>the</strong> drive is not ready, <strong>the</strong> programcomes to <strong>the</strong> same WAIT mentioned above.Four long instructions are built, and <strong>the</strong> finalsteps in <strong>the</strong> setting up of <strong>the</strong> IOCC for seeking areperformed. The word count of <strong>the</strong> Cold Start <strong>Program</strong>plus <strong>the</strong> word count of DISKZ plus 27 is storedin DZ000-29, <strong>the</strong> 27 being <strong>the</strong> number of wordsreserved in sector @MAD for parameters.After setting up <strong>the</strong> second word of <strong>the</strong> IOCCfor reading <strong>the</strong> disk, <strong>the</strong> program initiates aseek toward <strong>the</strong> home position, one cylinder at atime. When <strong>the</strong> seek is complete, sector zero on<strong>the</strong> cylinder currently under <strong>the</strong> read/write headsis read from <strong>the</strong> disk„ If no disk error occursduring this read and if <strong>the</strong> sector address is that ofsector @IDAD, <strong>the</strong>n a branch is made to $ZEND,which is <strong>the</strong> address of <strong>the</strong> first word of <strong>the</strong> ColdStart <strong>Program</strong>.If <strong>the</strong> sector address is not that of <strong>the</strong> Cold Start<strong>Program</strong>, ano<strong>the</strong>r seek toward <strong>the</strong> home position isinitiated. This seek-and-read process is repeateduntil <strong>the</strong> proper sector address is found. (Therefore,acartridge with invalid sector addresses causes<strong>the</strong> program to function improperly.) Any diskerror results in <strong>the</strong> program coming to a WAIT witha /3028 in <strong>the</strong> storage address register.COLD START PROGRAMThe Cold Start <strong>Program</strong> is fetched from <strong>the</strong> diskand given control by <strong>the</strong> Cold Start Loader.Using <strong>the</strong> same device code that was set up by<strong>the</strong> Cold Start Loader for <strong>the</strong> physical drive assignedas logical drive 0, <strong>the</strong> Cold Start <strong>Program</strong>reads <strong>the</strong> Resident Image into its normal location incore storage. Once this operation is performed,location zero is initialized with an MDX to $DUMP+1and <strong>the</strong> Auxiliary Supervisor is entered with aparameter of minus 1, causing it to place a dummyJOB monitor control record into <strong>the</strong> Supervisorbuffer and execute a CALL EXIT.CORE LAYOUTFigure 2, panel 1, shows <strong>the</strong> layout of <strong>the</strong> contentsof core storage after <strong>the</strong> Cold Start Loader has beenloaded and, in turn, has fetched sector @IDAD fromlogical drive 0 into core storage. This sector isread into core such that <strong>the</strong> DISKZ subroutineresides at DZ000, followed by <strong>the</strong> Cold Start <strong>Program</strong>.Figure 2, panel 2, shows <strong>the</strong> layout of <strong>the</strong> contentsof core storage after <strong>the</strong> Cold Start <strong>Program</strong> hasfetched <strong>the</strong> Resident Image from sector @RIADfrom logical drive 0 into core storage. TheResident Image, like DISKZ, is fetched in such afashion that all locations occupy <strong>the</strong>ir permanentpositions in core storage.Section 4. Cold Start <strong>Program</strong>s 15

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

Saved successfully!

Ooh no, something went wrong!