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.

IITo delete <strong>the</strong> FORTRAN Compiler, <strong>the</strong> RPGCompiler and/or <strong>the</strong> Assembler <strong>Program</strong> from asystem cartridge, all succeeding programs andspecial purpose areas on <strong>the</strong> disk are moved awayfrom Working Storage toward <strong>the</strong> voided area.Working Storage is increased by <strong>the</strong> size of <strong>the</strong>voided program(s).Once a program has been eliminated, it cannotbe restored without an initial load of <strong>the</strong> disk cartridge,including all <strong>the</strong> programs in <strong>the</strong> User orFixed Area.DEFINE determines if a system or non-systemcartridge is being processed by testing DCOM for<strong>the</strong> presence of <strong>the</strong> version and modification levelnumber, which is zero on non-system cartridges.If <strong>the</strong> FORTRAN Compiler and/or <strong>the</strong> Assembler<strong>Program</strong> or <strong>the</strong> RPG Compiler is deleted, all SLETentries for that program(s) are cleared to zero.SLET is also revised to reflect <strong>the</strong> new sector ad-•dresses of those programs that are shifted.<strong>All</strong> entries in <strong>the</strong> Reload Table indicating SLETlookups requested by <strong>the</strong> deleted program(s) areremoved and <strong>the</strong> remaining Reload Table entriesare packed toge<strong>the</strong>r. The revised Reload Table is<strong>the</strong>n reprocessed to generate new sector addresseswhere necessary in <strong>the</strong> monitor system programs.Buffers Used By DEFINELETAR -- a disk I/O buffer.SDBUF --- a disk I/O buffer.Switches and IndicatorsFORSW -- non-zero when <strong>the</strong> FORTRAN Compileris to be deleted.ASMSW -- non-zero when <strong>the</strong> Assembler <strong>Program</strong>is to be deleted.FXSW -- non-zero when <strong>the</strong> Fixed Area is to bedefined or modified.DATSW -- indicates <strong>the</strong> disk block adjustment of<strong>the</strong> Fixed Area.NEGSW -- non-zero when <strong>the</strong> Fixed Area is to bedecreased.1 RPGSW — non-zero when <strong>the</strong> RPG Compileris to be deletedErrors DetectedThe following DUP errors are detected in DEFINE:D15, D70, D80, D81, D82, D83, D84, D85, D86and D87.DEXITThis phase is brought into core storage and executedby <strong>the</strong> LEAVE subroutine in DUPCO. DEXIT performs<strong>the</strong> following functions:• Prints DUP error messages• Traps monitor control records and exits to <strong>the</strong>Supervisor• Links to <strong>the</strong> <strong>System</strong> Library program ADRWSfor DWADR• Passes control to <strong>the</strong> Core Load Builder forSTORECI• Returns control to MODIF when a modificationincludes changes to <strong>the</strong> <strong>System</strong> Library.• Exits to <strong>the</strong> Supervisor upon recognition of <strong>the</strong>INTERRUPT REQUEST key interrupt.DEXIT is called with an indirect branch viaLEAVE. Following <strong>the</strong> branch instruction is aparameter that specifies <strong>the</strong> function to be performedby DEXIT.If <strong>the</strong> parameter is a positive integer, DEXITprints a DUP error message. The message printedcorresponds to <strong>the</strong> integer parameter.If <strong>the</strong> parameter is zero, DEXIT moves a trappedmonitor control record from <strong>the</strong> buffer CRBUF to<strong>the</strong> Supervisor buffer @SBFR. $CTSW in COMMAis Set to minus one (/FFFF) to indicate to <strong>the</strong> Supervisorthat <strong>the</strong> next monitor control record has alreadybeen read.DEXIT checks to see if control should be returnedto <strong>the</strong> <strong>System</strong> Maintenance program, MODIF. If#MDF2 in DCOM is non-zero, DEXIT reads DUPphase 18 into core storage and transfers to it. Thisphase contains part of MODIF, written on this sectorwhen MODIF was last in control. In this mannerMODIF is able to use DUP to delete an old versionof a program or subroutine from <strong>the</strong> <strong>System</strong> Library,and <strong>the</strong>n use DUP to store <strong>the</strong> new version.58

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

Saved successfully!

Ooh no, something went wrong!