File information: | |
File name: | NonResident.mesa_Sep78.pdf [preview NonResident.mesa Sep78] |
Size: | 508 kB |
Extension: | |
Mfg: | xerox |
Model: | NonResident.mesa Sep78 🔎 |
Original: | NonResident.mesa Sep78 🔎 |
Descr: | xerox mesa 4.0_1978 listing Mesa_4_System NonResident.mesa_Sep78.pdf |
Group: | Electronics > Other |
Uploaded: | 22-01-2020 |
User: | Anonymous |
Multipart: | No multipart |
Information about the files in archive: | ||
Decompress result: | OK | |
Extracted files: | 1 | |
File name NonResident.mesa_Sep78.pdf NonResident.mesa 2-Sep-78 13:58:17 Page 1 -- NonResident.mesa; edited by Sandman, Jul 25, 1978 8:26 AM DIRECTORY AltoDefs: FROM "altodefs" USING [8YTE], ControlDefs: FROM "controldefs" USING [ Alloc, ControlLink, EPRange, FrameCodeBase, FrameHandle, Free, GetReturnFrame, GetReturnLink, GFT, GFTIndex, GFTItem, GlobalFrameHandle, ,InstWord, Lreg, MainBodyIndex, MaxAllocSlot, NullEpBase, NullFrame, NullGlobalFrame, Port, PortHandle, SO, StateVector], CoreSwapDefs: FROM "coreswapdefs", FrameDefs: FROM "framedefs" USING [FrameSize, SwapInCode], ImageDefs: FROM "imagedefs", InlineDefs: FROM "inlinedefs" USING [ BITAND, BITNOT, BITSHIFT, BITXOR, COPY, DIVMOD, LDIVMOD, LongCARDINAL, LongDiv, LongDivMod, LongMult], LoadStateDefs: FROM "loadstatedefs" USING [ ConfigIndex, ConfigNull, EnterGfi, InputLoadState, MapRealToConfig, ReleaseLoadState], . MiscDefs: FROM "miscdefs", Mopcodes: FROM "mopcodes" USING [zDADD, zDCOMP, zDSUB, zINC, zPORTI], NucleusDefs: FROM "nucleusdefs", ProcessDefs: FROM "processdefs" USING [DisableInterrupts, EnableInterrupts], Resident: FROM "resident" USING [ AllocTrap, Break, CodeTrap, CSPort, level, MemorySwap, Restart, Start, UnboundProcedureTrap, WBPort, WorryBreaker], SDDefs: FROM "sddefs" USING [ sAllocTrap, sAlternateBreak, sBLTE, sBLTEC, sBreak, sBYTBLTE, sBYTBLTEC, sControlFault, sCopy, sCoreSwap, SD, sDivSS, sError, sGFTLength, sIOResetBits, sLongDiv, sLongDivMod, sLongMod, sLongMul, sRestart, sStackError, sStart, sStringInit, sSwapTrap, sUnbound, sUnNew], SegmentDefs: FROM "segmentdefs" USING [ AddressFromPage, DeleteFileSegment, FileSegmentHandle, SwapError, Unlock], TrapDefs: FROM "trapdefs" USING [UnboundProcedure]; DEFINITIONS FROM ControlDefs; NonResident: PROGRAM IMPORTS FrameDefs, LoadStateDefs, ResidentPtr: Resident, SegmentDefs, TrapDefs EXPORTS FrameDefs, ImageDefs, InlineDefs, MiscDefs, NucleusDefs, TrapDefs, CoreSwapDefs SHARES ControlDefs, ImageDefs, Resident = BEGIN -- Global Frame Table management gftrover: CARDINAL ~ 0; -- okay to start at a because incremented before used NoGlobalFrameSlots: PUBLIC SIGNAL [CARDINAL] CODE; EnumerateGlobalFrames: PUBLIC PROCEDURE [ proc: PROCEDURE [GlobalFrameHandle] RETURNS [BOOLEAN]] RETURNS [GlobalFrameHandle] BEGIN i: GFTIndex; frame: GlobalFrameHandle; gft: POINTER TO ARRAY [0 .. 0) OF GFTItem ~ GFT; FOR i IN [0 .. SD[SDDefs.sGFTLength]) 00 frame ~ gft[i].frame; IF frame # NullGlobalFrame AND gft[i].epbase = a AND proc[frame] THEN RETURN[frame]; ENDLOOP; RETURN[NullGlobalFrame] END; EnterGlobalFrame: PUBLIC PROCEDURE [frame: GlobalFrameHandle. nslots: CARDINAL] RETURNS [entryindex: GFTIndexl |
Date | User | Rating | Comment |