.title Ovdat .ident *X09.02* ;+ ; TITLE: OVDAT - OVERLAY RUN-TIME SYSTEM WORK AREA ; VERSION: X09.02 ; SYSTEM: COMMON DEC ; SUBSYSTEM: SYSTEM LIBRARIES ; ENTRY POINT: OVDAT ; SOURCE FILE: OVDAT.MAC ; SOFTWARE TREE: ZSYSLB.STS ; PROGRAMMER: Wayne E. Baisley ; DATE: April 16, 1982 ; ; REVISION DATE PROGRAMMER DESCRIPTION ; -------- -------- -------------- ----------------------------- ; ; 1) 04/16/82 W. E. Baisley Original release ; ; 2) 06/11/84 W. E. Baisley New version for RSX-11M V4.1 ; and RSX-11M-Plus V2.1 ; ; 3) 11/30/84 W. E. Baisley Move the N.DTDS word to the ; Extension Area, module EXDAT. ; .page ; ; NOTES: ; ; This module defines and initializes the Autoload Overlay Work Area. That work ; area, pointed to by the location "n.ovpt", is located in the $$OVDT psect and ; is structured as follows : ; ; +-------------------------------+ ; 0 | Overlay Load LUN | .novly, n.ovly * ; +-------------------------------+ ; 2 | Address of First Segment Desc | .nstbl, n.stbl + ; +-------------------------------+ ; 4 | Overlay Load | .niost, n.iost ; +--- I/O ---+ ; 6 | Status Block | ; +-------------------------------+ ; 10 | Overlay Load Error Subroutine | .naler, n.aler + ; +---------------+---------------+ ; 12 | AST Interlock | Seg Desc Size | .nszsg, n.szsg * .nfast, n.fast @ ; +---------------+---------------+ ; 14 | Load and Map Segment Routine | .nrdsg, n.rdsg + ; +-------------------------------+ ; 16 | Unmap Segment(s) Routine | .nmrks, n.mrks + ; +-------------------------------+ ; 20 | Autoload Routine | .nauto, n.auto + ; +-------------------------------+ ; ; * - The Overlay Load LUN and the Segment Descriptor Size words are filled ; in by the Task Builder. The Segment Descriptor size is 6, 8, or 9 ; words long, depending on whether manual loading and memory-resident ; overlays are used. The Task Builder Automatically allocates a Logical ; Unit, assigns the load device to it, and fills in the number. ; ; + - The address of the first Segment Descriptor, and the addresses of ; the Overlay Load Failure, Load and Map Segment, Unmap Conflicting ; Segment(s), and Autoload Routines are filled in at assembly time ; by this module. ; ; @ - The AST Interlock flag byte is not initialized by this module. ; Consequently, interlocking is not supported. If interlocking is ; desired, see the Task-Builder Manual V4.1, Section 4.5. ; .page .enabl mcl ovddf$ ;define the work area symbols .novpt == 42 ;address of the overlay work area pointer .psect $$ovdt,ovr,d zero = . ;base address of the work area . = zero+n.ovly .novly::.blkw 1 ;Overlay load Logical Unit Number . = zero+n.stbl .nstbl::.word $$sgd0 ;Address of the Segment Descriptor Table . = zero+n.iost .niost::.blkw 2 ;Overlay load (IO.LOV) I/O Status Block . = zero+n.aler .naler::.word $alerr ;Address of the Overlay Load Error routine . = zero+n.szsg .nszsg::.blkb 1 ;Size of the Segment Descriptors, in words . = zero+n.fast .nfast::.blkb 1 ;AST Interlock Flag . = zero+n.rdsg .nrdsg::.word $rdseg ;Address of the Read Segment routine . = zero+n.mrks .nmrks::.word $marks ;Address of the Mark Segment routine . = zero+n.auto .nauto::.word $auto ;Address of the Autoload Control routine .psect $$sgd0 ovr,d ;an empty psect just ahead of $$sgd1 $$sgd0: .psect $$sgd2 ovr,d $$sgd2: .word 0 ;marker for the end of the $$sgd1 psect .psect $$rtq,ovr,ro,gbl ;force this psect into the root .psect $$rtr,ovr,ro,gbl ;force this psect into the root .psect $$rts,ovr,ro,gbl ;force this psect into the root $$rts: return ;a very short subroutine (for loading data segments) .end