13.07.2015 Views

iAPX 286 Operating System Writers Guide 1983

iAPX 286 Operating System Writers Guide 1983

iAPX 286 Operating System Writers Guide 1983

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.

BINDING AND LOADINGPL/M-<strong>286</strong> COMPILER 960-515 date PAGE 4RESERVED2 DWORD) ;636465666768697071727374111122233321/* Table of segment names from DESNAM section of OMF */DECLARE DESNAM SEL SELECTOR,DESNAM-WIDTH LITERALLY '41',DESNAM-BASED DESNAM SEL (2) STRUCTURE (NAME (DESNAM WIDTH) BYTE ) ,DIX WORD; /* Index *//* RAM copy of DESCRP section of OMF */DECLARE DESCRP SEL SELECTOR,SEGDT BASED DESCRP SEL (2 ) STRUCTURELIMIT WORD,LO BASE WORD,HI-BASE BYTE, /* Data/code segment descr * IRIGHTS BYTE,RESERVED WORD ) ,GATET BASED DESCRP SEL (2 ) STRUCTURE (ENTRY_POINT OFFSET,SEL/* Ga te d escr iptor */) ,/* Index */WORD COUNTSELECTOR,BYTE,RIGHTS BYTE,RESERVED WORDLIX WORD;/* Template for Task State Segment for new task */DECLARE TSS STRUCTURE (BACKL SELECTOR,SP0 OFFSET, SS0 SELECTOR,SPl OFFSET, SSl SELECTOR,SP2 OFFSET, SS2 SELECTOR,IP OFFSET,FLAG WORD,(AX, CX, DX, BX, SP, BP, SI, DI,ES, CS, SS, DS, LDT_LI~K) SELECTOR );/*******************************************************//* Subroutines * /SECTION SIZE: PROCEDURE (TOCIX) DWORD;DECLARE TOCIX WORD; /* Index into Table of contents */DECLARE TOC(8) DWORD AT (@MODULE_HEADER.DESCRP_LOC),IX WORD;/* Find the size of an OMF section */DO IX=TOCIX+l TO 7;IF TOC(IX)0 /* Skip by null sections */THEN RETURN TOC(IX)-TOC(TOCIX);END;END SECTION_SIZE;/****************************,***************************/BUILD_DESNAM_TABLE: PROCEDURE (DESNAM_SIZE);752DECLARE DESNAM_SIZEDWORD;Figure 11-6. Binding Loader (Cont'd.)11-18 121960·001

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

Saved successfully!

Ooh no, something went wrong!