Benutzeranleitung / Produktwartung 121748-001 des Produzenten Intel
Zur Seite of 122
8086 RELOCATABLE OBJECT MODULE FORMATS An Intel Technical Specification Order Number: 121748-001 . Copyr;ght~1981 Intel Corporation Intel Corporation, 3065 Bowers Avenue, Santa Clara, California 95051.
ii Additional copies of this manual or other Intel literature may be obtained from: Literature Department Intel Corporation 3065 Bowers A venue Santa Clara, CA 95051 The information in this document is subject to change without notice. Intel Corporation makes no warranty of any kind with regard to this material.
8086 Object Module Formats Version 4." TABLE OF CONTENTS DOCUMENT CONTROL • • . . . . . . . · . . . . . . . 2 3 - 'fABLE OF CONTENTS INTRODUCTION • • • • • • • • • •.
8086 Object Module Formats LIBRARY DICTIONARY RECORD COMMENT RECORD • • • • • • • · . . · . . APPENDICES 1. NUMERIC LIST OF RECORD TYPES 2. TYPE REPRES ENTA'tIONS ••• · . . 3. SYNTAX DIAGRA~S • • • • • • · . . Version 4.
Sf) 86 Object i4odule Formats Version 4.rrJ INTRODUC'f ION Here are the object record formats that define the object lanquaqe for the 8686 microprocessor. The 8086 object lanquaqe is the output of all lanquaqe translators with the 8086 as the tarqet processor.
8086 Object Module Formats Version 4.0 symbols. This restriction is not reauired by R&L, and is not enforced by it. LOGICAL SEGMENT (LSEG) A contiquous reqion of memory whose contents are determin.
8086 Object Module Formats Version 4.8 In the PIC/LTL case, an LSEG is not allowed to be in more than one group (e.g. defininq two qroups such as Gr GI(A,C,B) and Gr G2(B,C,D) in the same module is not legal). Otherwise an LSEG may be in more than one group.
8086 Object Module Formats Version 4.0 COMPLET~ NAME - The ~complete name H of an LSEG is defined to be the three component identification consistinq of the Segment Name, Class Name and Overlay Name. LSEG's from different modules will be combined iff their Com~lete Names are identical.
8086 Object Module Formats Version 4.9 MODULE IDENTIFICATION In order to determin~ that a file contains an object program, a module header record will always be the first record in a module. There are three kinds of header records and each provides a module name.
808fi Object Module Formats Version 4.0 represents contiquous reqions of memory whose contents are determined at translation-time. These reqions are called LOGICAL SEGMENTS (LSEG's). A module must contain information that defines the attributes of each LSEG.
8086 Object Module Formats Version 4.0 The requirements for symbol definition records for module linkinq is satisfied by the PUBLIC NAMES DEFINITION RECORD (PUBDEF), the EXTERNAL NAMES DEFINITION RECORD (EXTDEF), and the TYPE DEFINITION RECORD (TYPDEF).
8086 Object Module Formats Version 4.~ absolute or relocatable, are found in LOGICAL DATA RECORDS. The ENUMERATED and ITERATED attributes within the classes are two ways of representinq the actual data bytes.
808~ Object Module Formats Version 4.0 CONCEPTUAL FRAMEWORK for FIXUP's A "Fixup" is some modification to object code, requested by a translator, performed by the R&L system, achievinq address bindinq.
8086 Object Module Formats version 4.0 pointer is present or not): (2) an OFFSET is merely the low order word of a pointer (and R&L doesn't care if the high order word follows or not); (3) a .
R986 Object Module Formats Version 4.9 (T6) X is an EXTERNAL INDEX. The TARGET is the byte whose address is (eventually qiven by) the External Name identified by the INDEX. (T7) X is a FRAME NUMBER. The TARGET is the byte whose 20-bit address is (X*l6).
808~ Object Module Formats Version 4.0 displacement between the LOCATION and the TARGET must be within 32K. To indicate this type of fixup, a 7th way (F6) of specifyinq a frame is introduced. Below is the descriptlon of the seven ways of specifying frames: (Fe) x is a SEGMENT INDEX.
8886 Object Module Formats Verslon 4.8 (FSd) The TARGET is specified with an explicit FRAME NUMBER: in this case the FRAME is determined as in (F3) above. (F6) No X. There is no FRAME. This is a way to indicate to R&L that an 8089 self-relative reference is to be processed.
8086 Object Module Formats Version 4.0 If the LOCATION is a BASE. POINTER. or HIBYTE. it is unclear what the translator had in mind, and the action taken by R&L is defined by LINK-86 and/or LOCATE-86 EPS·s.
808~ Object ~odule Formats Version 4.9 <---- in OATA Record ----> <--- in FIXUP Record ---> +------+ +------+------+ +n or +n <null> <--- Case 1 +------+ +-------+ .
8086 Object Module Formats Version 4.0 (1) A 5 HORT-JMP is being made to an external subroutine. In this case, the TARGET should be specified as TARGET: EI(subroutine) ,0000H The reason is that when LINK-86 learns where the subroutine is located, it will probably be a known offset (dl) within some LSEG A.
8086 Object Module Formats version 4.9 ~he followinq example (3) is a case where access verification works whether the TARGET specification is ~primary~ or ·secondary-: (3) The translator wishes to reference ·forwards~ from a REFERENT, and to ensure that the TARGET lies within the specified FRAME.
8086 Object Module Formats Version 4.0 RECORD ORDER A object code file must contain a seauence of (one or more) modules, or a library containing zero or more modules. A module is defined as a collection of object code defined by a sequence of object records.
808~ Object Module Formats Version 4.9 mod tail = [REGINT1 MODEND. libtail = LIBNAM LIBLOC LIBDIC. NOTE: The character strinqs represented by capital letters above are not literals but are identifiers that are further defined in the section defininq the Record Formats.
8086 Object Module Formats Version 4.0 !~~B~P~~TION.to. the. RECORD FO~MATS The followinq paqes schematic form. Here conventions: present diaqrams is a sample, to of Record illustrate Formats in the various SAMPLE, RECORD FORMAT .
8086 Object Module Formats Version 4.0 Any field that indicates a ~NAMEd has the followinq internal structure: the 1st byte contains a number between 0 and 40, inclusive, that indicates the number of remaininq bytes in the field.
8986 Object Module Formats T-MODULE HEADER RECORD (THEAi5R) ***********************///*********** * * * * * * REC * * TYP * * 80H * RECORD LENG'fH * T * MODULE * NAME * CHK * * SUI" * * * * * * * * ***********************///*********** version 4.
8086 Object Module Formats Lr~ODULE, HEADER RECORD (LHEADR) ***********************///*********** * * * * * * REC * RECORD * L-MODULE * CHK * * TYP * LENGTH * NAME * SU~ * * 82H * * * * * * * * * ***********************///*********** Version 4.0 Every module previously created by (cross) LINK-86 (Vl.
8~8~ Object Module Formats "er~ ion 4., ~ R-~ODULE HEADER RECORD (RHEADR) ***********************///*********///*********///*********** * * * * * * * * REC * * TYP * * 6EH * RECORD LENG'fH * R-MODULE * NAME * * R-MODULE * ATTR * * R-MOOULE * INFO * * CHK * * SUI.
8086 Object Module Formats Version 4.0 TYP is a 2-bit su~field that specifies the module type. The semantics are defined as follows: TYP=0 TYP=l TYP=2 TYP=3 The module is an absolute module. The module is a relocatable module. Fixups other than base fixups may still be present.
8086 Object Module Formats Version 4.0 DYNAMIC STORAGE is the memory space that must be allocated (for buffer, for dynamic expansion, etc ••• ) at load-time. The d&faUl· value is zero. MAXIMUM DYNAMIC STORAGE is the maximum dynamic memory that miqht be needed by the module.
8086 Object Module Formats LIST OF· NAMES. RECORD ------ (LNAMEST-' -"-' ... ***********************///*********** * * * * * * REC * RECORD * NAME * CHK * * TYP * LENGTH * * SUM * * 9~H * * * * * * * * * ***********************///*********** I 1 +----rpt----+ Version 4.
808~ Object Module formats SEG~ENT DEFINITION. RECORD (SEGDEF) Version 4.0 **********************///*****************///*******///*******///********** * * * * * * * * * * REC * RECORD * SEGMENT * SEGi.
d086 Object Module Formats version 4.0 attribute of the LSEG. The semantics are defined as follows: A=0 SEGDEF describes an absolute LSEG. A=l SEGDEF describes a relocatable, byte aliqned LSEG. A=2 SEGDEF describes a relocatable, word aliqned LSEG. A=3 SEGDEF describes a relocatable, paraqraph aligned LSEG.
8086 Object Module Formats Version 4.0 P (Paqe-Resident) is a l-bit subfield which, if 1, demands that the seqment be located in ~AS without crossinq a page boundary.
8086 Object Module Formats Version 4.8 attribute bit in the ACBP field (see above) must be used to give the segment a length of 64K. SEGMENT NAME INDEX -------. The Segment Name is a name the programmer or translator assigns to the segment. Examples: CODE, DATA, TAXDATA, MODULENAME CODE, STACK.
8086 Object Module Formats GROUP DEFINITiON RECORD .......--..-..-- (GRPDEF) ***********************///**********///************ * * * * * * * REC * RECORD * GROUP * GROUP * CHK * * TYP * LENGTH * NAM.
8186 Object Module Formats Version 4.1 ***********///*********///*********///***** * * * * * * sea * SEGMENT * CLASS • OVERLAY * * * NAME * NAME * NAME * *(FDH)* INDEX * INDEX • INDEX * * * * * * .
8086 Object Module Formats Version 4.0 A Name Index with value zero carries special siqnificance: it specifies all ~ames. (Note: Name Indices with zero value may not occur in other record types.) If the first byte of the DESCRIPTOR contains 0FBH. then the DESCRIPTOR contains 3 more fields.
80B6 Object Module Formats Version 4.0 (Examples) Assume that an LNAMES record exists such that the names "DATA", I' RAM 'I , It MYPROG" , "CODE", .. " (null), "STACK-" "CONST" and "MEMORY" are selected by Name Index values of 1, 2, 3, 4, 5, 6, 7 and 8, respectively •.
8086 Object Module Formats TYPE DEFINITION RECORD -----(TyPDEF)----- Version 4.9 ************************///*********///************ * * * * * * * REC * RECORD * NAME * EIGHT * CHK * * TY P * LENGTH *.
8086 Object Module Formats Version 4." The EN field is a byte: the 8 bits, left to riqht, indicate if the following 8 Leaves (left to riqht) are Easy (bit=0) or Nice (bit=l) • The LEAF DESCRIPTOR field.
8086 Object Module Formats Version 4.0 ******* * * * * * 133 * * * * * ******* ************* * * * * *-127 * * 134 * to * * *+127 * * * * ************* ******************* * * * * * -32K * * 135 * to * * * +32K * * * * ******************* **************************.
8086 Object Module Formats Version 4.8 'fhe sixth Repeat Leaf can last leaf of considered to considered to leaves. form, ~ sinqle byte of 133, is a Repeat Leaf. A only occur as the last leaf of a Branch. If the a branch is a Repeat Leaf then the previous leaf is repeat indefinitely.
8086 Object Module Formats Version 4." PUBLIC NAMES DEFINITION RECORD -------(PUBDEF)----- ***********************///*********///*********************///*********** * * * * * * * * * REC * RECORD.
8086 Object Module Formats Version 4.0 (Informal Discussion) The FRAME NUMBER is present iff both the SEGMENT INDEX and GROUP INDEX are zero. A non-zero GROUP INDEX selects some qroup1 this group is taken as the -frame of reference- for references to all public symbols defined in this record, e.
808~ Object Module Formats Version 4.0 TYPE INDEX The TYPE INDEX field identifies a sinqle precedinq TYPDEF (Type Definition) Record containinq a descriptor for the typ~ of entity represented by the Public Symbol.
898n Object Module Formats version 4.0 EXT~RNAL ... !AMES DEFINITION RECORD (EXTDEF) ***********************///*********///*********** * * * * * * * REC * RECORD * EXTERNAL * TYPE * C~K * * TYP * LENG.
8086 Object Module Formats T~il·E. INDEX This field identifies a Definition) Record containinq named by the External Symbol. 48 Version 4.0 sinqle precedina TYPDEF (Type a descriptor for the type of .
8086 Object Module Formats Version 4.0 LOCAL SY~BOLS. RECORD ( LOCSYl~) ***********************///*********///*********************///*********** * * * * * * * * * REC * RECORD * LOCAL * LOCAL * LOCAL.
808~ Object Module Formats Version 4.0 of the LSEG specified by the SEGMENT INDEX. (There must be no FRAME NUMBER field in this case.) If both the GROUP INDEX field and the SEGMENT INDEX field contain zero, then the next field is a FRAME NU~BER: in this case, the referent value is the location of the first byte of the specified frame.
808~ Object Module Formats Version 4.0 LINE NUMBERS RECORD (LINNUM) ***********************///*********************************** * * * * * * * * REC * RECORD * LINE * LINE * LINE * CHK * * TYP * LENG.
8986 Ob·ject Module Formats Version 4.0 ICE-86 to -GO TO LINE NUMBER 22 OF MODULE MODNAME M • ICE-8~ may respond by executinq a lonq jump to the appropriate location. This long jump will set the CS register; it is important that the CS register be set in accordance with the assumptions made while translating the code.
8086 Object Module Formats Version 4.0 BLOCK DEFINITION RECORD --------(SLKDEF'------- **********************///**********///*********///*********///*********** * * * * * * * "REC * RECORD *.
808~ Object Module Formats Version 4.0 SLOCK INFOR~ATIO~ The BLOCK INFORMATION block has the followinq format: NAME *****///***************************** * * * * * * BLOCK * BLOCK * * NAME * OFFSET * LENG'rH * * * * * * * * * *****///***************************** This field contains the name of the block.
8086 Object I~dule Formats Version 4.0 PROCEDURE INFORMATION The PROCEDURE INFOR~ATION block has the followinq format: ************************************************** * , I I I I I I * * I I I I I .
8986 Object Module Formats Version 4." BLOCK ENn RECORD (BLKEND) ************************* * * * * * REC * RECORD * CHK * * TYP * LENGTH * SUM * * 7CH * * * * * * * ************************* This record, toqether with the BLKDEF record, provides information about the scope of variables in.
808#; O,?ject Module Formats Version 4.(') DEBUG. SYMBOLS. RECORD --.---- - -{OEBSYM) ~*********************///*********///*********************///*********** * * * * * * * REC * RECORD * FRAME *.
808~ Object Module Formats Version 4.0 The B (Based) bit, if 1, means that the location in MAS defined by the FRAME INFORMATION and OFFSET fields contains a value that is the address of a symbol.
8~86 Object Module Formats Version 4.0 If FRAME ~ETHOD=2, the DATUM has the format: *****///***** * * * * * * BLOCK INDEX * * * * *****///***** FRAME METHODs of 3 to 7 are illegal. The FRA~E ~ETHOD field also specifies what kind of information is in the OFFSET field (see below).
8086 Obiect Module Formats RELOCATABLE ENUMERATED DATA RECORD -------- --- --("~ E:DATA)-------------- Version 4.0 ***********************///***************************** * * * * * * * * REC * RE.
808fi Object Module Formats Version 4.8 respect to the specifi~d FRA~E (if SEGM.ENT INDEX = 0). Successive data bytes in the OAT field occupy successively higher locations of memory. DAT If one or more FIXUPP records follow then this field provides up to 1024 consecutive bytes of load-time locatable or absolute data.
808~ Object Module Formats RELOCATABLE. ITERATED.DATA~RECORD - {RIDATA) Ve:· sion 4.0 ***********************111*********************//1**** ******* * * * * * * * * REC * RECORD * DATA * DATA * ITERA.
8086 Object Module Formats Version 4.8 S~GMENT INDEX> 0) or with respect to the specified FRAME (if SEGMENT INDEX = 0). Successive data bytes in the ITERATED DATA BLOCK field occupy successively hiqher locations of memory. ITERATED DATA BLOCK This repeated field is a structure specifyinq the repeated data bytes.
808~ Object Module Formats PHYSICAL ENUMERATED DATA RECORD (PEOATA) ************************************************* * * * * * * * * REC * RECORD * FRAME * OFF * * CHK * * TYP * LENGTH * NUMBER * SET * OAT * SUM * * 848 * * * * * * * * * * * * * ************************************************* +-rpt-+ Version 4.
808fi Object Module Formats Version 4.0 PHYSICAL ITERATED DATA RECORD ( P tDA T A,-- *****************************************///*********** * * * * * * * * REC * * TYP * * 86H * RECORD LENG'rH *.
8086 Object Module Formats LOGICAL ENUMERATED DATA,RECORD -_._. ·------(tEDATA)"---·-· _ ..... _ ... Version 4.0 ***********************///***************************** * * * * * * * * REC * R.
808fi Object Module Formats version 4.0 This field provides up to 1024 consecutive bytes of relocatahle or absolute data. ~7.
8086 Object Module Formats LOGICAL ITERATED DATA RECORD ---(LIDATA)----·- Version 4.9 ***********************///*********************///*********** * * • * • * * * REC * RECORD * SEGMENT ~ ITERATED· ITERATED * CHK • * TYP * LENGTH * INDEX * DATA * DATA * SUM • • AlH * * * OFFSET * BLOCK * * * * * * • * * *****.
8086 Object Module' Formats Version 4.8 Same as for the RIDATA record. -;9.
8e8~ Object Module Formats FIXUP RECORD . (FIXUPP) . ***********************///*********** * * * * * * REC * * TYP * * 9CH * RECORD LENG'rH' * THREAD * or * FIXUP * CHK * * SUM * * * * * * * * ***********************///*********** I I +----rpt----+ Version 4.
8080 Object Module Formats Version 4.0 The 'Z' is a one bit subfield, currently without any defined function, that is required to contain 0. The '0' subfield is one bit that specifies what type of thread is beinq specified. If 0=0 then a tarqet thread is beinq defined and if 0=1 then a frame thread is beinq defined.
808~ Object Module Formats Version 4.8 M is a one bit subfielG that sgecifies the mode of the fixUDS: self-relative (M=0) or segment relative (M=l). (~ote) Self-relative fixups may NO~ be applied to RIDATA, LICATA, or PIDATA records.
808fi Object Module Formats Version 4.8 'r is a one bit subfield that specifies whether the target specified for this fixup is defined by reference to a thread CT=l).
8086 Object Module Formats Version 4." OVERLAY DEFINITION RECORD (OVLDEFf ---- -- ***********************///*********1 1'1*********///*********** * * * * * * * * REC * * TYP * * 70H * RECORD LENG'fH * OVERLAY * NAME * .
8086 Object Module Formats Version 4.8 The SA subfield provides information for memory layout. It has the followinq format: **************************~****** * I I I I I , I * * z I Z I Z I Z I Z I Z I S I A * * I I I I , I I * ********************************* Z's indicates that these I-bit field have not been assigned a function.
808~ Object Module Formats END RECORD --(ENOREe) ******************************* * * * * * * REC * RECORD * END * CHK * * TYP * LENGTH * TYP * SUM * * 78H * * * * * * * * * ******************************* Version 4." This record is used to denote the end of a set ot records such as a block.
808~ Object Module Formats REGISTER INITIALIZATION RECORD - .. ------ .. --fREGiNT,-----44----- *****************************///*********** * * * * * * * REC * RECORD * REG * REGISTER * CHK * * TYP * LENGTH * TYP * CONTENTS * SUM * * 708 * * * * * * * * * * * *****************************///*********** I I +----repeated-----+ Version 4.
8086 Object Module Formats Version 4.0 REGISTER CONTENTS The REGISTER CONTENTS field has either of the following fo rmats: First form (L=l) ***********///*********///***************** * * * * * * REG .
808~ Object Module- Formats Version 4.1 The format and the interpretation of the above REGISTER BASE field is identical to the LOCAL SY~BOL BASE described in the LOCSYM record.
8g8~ Object Module Formats MODULE ~ND RECORD ----(MODEND) *****************************///*********** * * * * • * * REC * RECORD * MOD * START * CHK • * TYP * LENGTH * TYP * ADDRS * SUM * * 8AH * • * * * * * * * * * *****************************///*********** .
8086 Object Module Formats Version 4.8 'rhe START ADDRS field (present only if MATTR is 1 or 3) has either of the following formats: ***********///*********///***************** * * * * * * END * .
8~8~ Object Module Formats LIBRARY HEADER RECORD -------fCfSHED)------ Version 4.0 ************************************************************* * * * * * * * * REC * RECORD * MODULg * BLOCK * BYTE * CHK * * TYP * LENGTH * COUNT .
8086 Object Module Formats LIBRARY. MODULE NAMES RECORD (LiSNAM) ***********************///*********** * * * * * * REC * * TYP * * A6H * * * RECORD LENGTH * * * * MODULE NAME * CHK * * SUM * * * * * ***********************///*********** I I +-repeated--+ Version 4.
808~ Object Module Formats LIBRARY MODULE LOCATIONS RECORD ------~-.- (LIBLOC) ************************************************* * * * * * * * REC * RECORD * BLOCK * BYTE * CHK * * TYP * LENGTH * NUMBER * NUI~BER * SUI., .. * ASH * * * * * * * * * * * ************************************************* +--------reoeated-------+ Version 4.
8086 Object Module" Formats version 4.8 LIBRARY DICTIONARY R~CORD -- ..... .-.- (LIBDIC) ***********************///***************** * * * * * * * REC * RECORD * PUBLIC * * CHK * * TYP * LENGTH *.
8086 Object Module Formats Version 4.0 COMMENT RECORD (COMENTf--- ***********************************///*********** * * * * * * * REC * RECORD * COM~ENT * * CHK * * TYP * LENGTH * TYPE * COM~ENT * SUM * * 8SH * * * * * * * * * * * ***********************************///*********** This record allows information in object text.
8086 Object Module Formats Version 4.8 COM(t1ENT This field provides the commentary information. P7.
SgS6 Object Module Formats APPENDIX 1 NUMERIC LIST OF RECORD TYPES ae ~E RHEADR 70 REGINT 72 REDATA 74 RIDATA 76 OVLDEF 78 ENOREC 7A BLKOEF 7C BLKEND 7E DEBSY~ 80 THEADR 82 LHEADR 84 PEOATA 86 PIDATA .
8086 Object Module Formats Version 4.8 APPENDIX 2 TYPE REPRESENTATIONS The leaves in the following diagrams may be Numeric Leaves without relations, Strinq Leaves, Index Leaves or Null Leaves.
8086 Object Module Formats Version 4. +----~------+-~-----+ I PARAMETER I ~type I +--~-~------+-----+-------+-~-~~-----+---~--~~~~---------~----+-------+ I PROCEDURE I nil I ~type I (return) , (number.
8086 Object Module Formats version 4.e APPENDIX 3 SYNTAX DIAGRAMS +------------+ --+-->1 sequence 1 I +----------+ I . I +---------+ 1-->1 library 1 +---------+ sequence +-- .
tmod -->( Imod 8086 Object Module Formats Version 4"" +---~~---- ... ---+ +------------+ THEADR ) -> I sqr table ,-+---~~--~---+--+---~~-------~---+->I modtail 1-- +-----------+ +~ .. ---.----~ ... +-------------+ 1 1<-+ +-1 component +------------+ +---------+ +--~- .
808~ Object Module Formats sqr _table +-------~-+ -->1 seq qrp 1--+---------------+--> + ____ ~_~ __ + I ________ A +-->( REGINT )--+ sgor _table +----~ .... ---+ -->1 seq qrp 1--+---------------+--+---------------+--> +----~----+ ~ ----~--- I f ~~-~~--~ ~ +--( OVLDEF )<--+ +-->( REGINT )--+ ----- .
8986 Object ~odule Pormats o _component --~-+---------~~--+--+-~-----------~------+-->( ENOREe )--> ~ +--~---+ , - +-~--~--------+ I -----~-- +--1 data 1<--+ +--1 t_component 1<--+ +~---~~+ +------~------+ t. _component -->( 'fHEADR )--+------------------+--> A +_ .
8e8~ Object Module Formats iata +---------------+ --+-->1 content deE 1---+--> I + ____ ~ ___ = ____ + A I +------------+ I +-->1 thread def 1--->+ I +----~--.:----+ I I -------- I +---->( TYPDEF )----->+ t -------- I , -------- I +---->( PUBDEF )----->+ I --~----~ I I -----~-- I +---->( EXTDEF )----->+ .
88.8~ Obj ect Mod ule Pormats content def --+-->( LIDATA )---+--+---------------+--> I ---~-~-- - A ~--~~--- I I -------- I +--( FIXUPP )<--+ +--> ( LEDATA ) -->+ ------- I ---~-~-- I I.
808~ Object Module Formats Version 4.9 APPENDIX 4 EXAMPLES OF FIXU~S This appendix was originally written in November 1977, and supplemented a paper, now obsolete, called "Overview of Proposed 8086 Fixupsd.
868~ Object ~odule Formats Version 4.a PART 1. SELF-RELATIVE REFERE~CES PPPPPPPPPPPPPPPPPPPPPP <- PSEG -> P P p- - - - - - - - - - p <- PP p p P P p p p +------~------+ P <- PT P TARGET P P +-----~ .. - ... -- .. -+ P P P P P p P P P p P p +--~.
909~ Object Module Formats Version 4.0 1 Self-Relative Intraseq~ent References LLLLLLLLLLLLLLLLLLLLLLLLLLLLLLL L L L L L L L +--------------+ L L TARGET L L +----~----~---~+ L L L L L L L L L L L L L .
808~ Object Module Formats 1.2 Self-Relative Interseqment References Example: Self-relative jump or call to another segment. A LLLLLLLLLLLLLL <- pp B LLLLLLLLLLLLLL L L L L L +--_ ...... _--+ L L L L LOC ,-----~------- L L L +--.-------+ L I L +--------+ L L L ---------->1 TARGET I L L L L +~----- .
8086 Object Module Formats Version 4.' ~OCA'rE OPERATION: At LOCATE time these various sample possibilities can be detec,ted': L. PPPPPPPPPPPPPPPPPP 2. PPPPPPPPPPPPPPPPPP 3. PPPPPPPPPPPPPPPPPP P P P P P P P LLLLLLLLLLLLLL P <- pp P LLLLLLLLLLLLLL P <- pp.
808~ Object Module Formats Version 4.~ Oiaqrams land 2 show valid fixups. In diaqram 3, the TARGET is not in the defined PSEG. A warning will be qiven by LOCATE.
8086 Object Module Formats Version 4.8 3 Self-Relative Reference To An EXTERNAL Symbol A LLLLLLLLLLLLLL (- PP ? •••••••••••••• L L • • L +--------+ L •••••••••••• L I LOC 1-------------------->.
S886 Object Module Formats Version 4. CASE 1: EX'fERNAL symbol (SYM) is found (by LINK) to be in the same LSEG as the reference. The followin1 four cases exist. Assume that PSEG is sgecified as .. PSeG: LOCATION". PPPPPPPPPPPPPPPPPP PPPPPPPPPPPPPPPPPP P P P P p P P P P P P P P LLLLLLLLLLLLLL P P LLLLLLLLLLLLLL P P L + .
8~86 Object Module Formats Version 4.1 CASE 2: EXTERNAL symbol (SYM) is found to be in a different LSEG, B. The followinq diaqram then applies and LINK converts the fixup to: A LOCATION: (no change) PSEG: (no chanqe) TARGET: SI(8) ,dl or SI(8) where dl is app~ied to LOCATION depending on original TARGET specification.
8086 Object Module Formats Version 4.1 CASE 3: EXTERNAL symbol (SYM) is found (by LINK) to be absolute. LINK will chanqe the fixup to the followinq: LOCATION: same PSEG: same TARGET: pi (SYM) ,d(SYM) where pI and d are from a PUBLIC DECLARATIONS record or pt(SYM), and d(SYM) is applied to LOCATION.
8086 Object Module Formats l.4 (8089) Self-Relative Reference To An EXTERNAL Symbol A LLLLLLLLLLLLLL <- PP ? •••••••••••••• L L • • L +--------+ L •••••••••••• L I LOC 1-------------------->.
808~ Object Module Formats Version 4, CASE 1: EXTERNAL symbol (SYM) is found (by LINK) to be in a different LSEG, B. LINK OPERATION: LINK will change the above fixup to the fo110win~: LOCATION: (no change) PSEG: (no change) TARGET: SI(8) ,d1 wheredl is equal to the sum of d (if any) and the symbol offset.
8086 Object Module Formats Version 4.0 Diaqrams land 2 show two commom cases. R&L attempts to inform the user of any erroneous self-relative references (TARGET not within 32K from LaC).
8986 Object Module Formats Version 4.t? CAse 2: EXTERNAL symbol (Sy~) is found (by LINK) to be absolute. LINK~OPERA;rION LINK will chanqe the fixup to the following: LOCATION: (no chanqe) PSEG: (no chanqe) TARGET: pI (SYM) ,o(SYM) + d where pi and 0 are from a PUBLIC DECLARATIONS record and the sum is performed as in Case 1.
8086 Obj ect Mod ule Fo rmats Version 4.0 PART 2. SEGMENT RELATIVE REFERENCES MMMMMMMMIMMMMMMMMMMMM~MMMMMMMMMMMMM 090008 ~ I M M I M M I M M , M M I-F8VAL ~ 11 I M M V f't1 M PPPPPPPPPPPIPPPPPPPP <- canonic PSEG of L M P I p M M P , P !'1 M P LLLLLLLLILLLLL P <- PP .
8086 Object Module Formats Version 4.' 2.1 Seqment-Relative Pointer Reference (lonq call) With ~o GroupinQ and 80th LSEG's Created In Same Translation A LLLLLLLLLLLLLL B LLLLLLLLLLLLLL L L L L L L L L L L L L L +---------+ L L +------.---+ L L LOC I--~---------------->I TARGET I L L +--------+ L.
8086 Object Module Formats Version 4.0 LOCATE OPERATION: At LOCATE time: 1. The BASE (FBVALl is determined by the PSEG directive as the canonic PSEG defined by PP. 2. The offset is a positive value, less than or equal to ~4K, from the determined PSEG.
8086 Object Module Formats Version 4.9 2.2 Seqment-Relative Pointer Reference (lonq call) wil.h No Groupinq Where Reference is to an EXTERNAL Symbol A LLLLLLLLLLLLLL ? · . . . . . . . . . . . . . L L L +---.---~-+ L • . . . . . . . . . . · L LOe ,---~----.
898~ Object ~odule Formats Version 4.0 CASE 1: EXTERNAL symbol (SYM) is found (by LINK) to be in the same LSEG as the reference. An example would be a reference to data (ROM DATA) stored in CODE seqment A. The PSEG is then determined by LINK to be SI(A) as the default, since no groupinq is specified.
808~ Object Module Formats Version 4.8 CASE 2: EXTERNAL symbol (SYM) is found (by LINK) to be in a different LSEG, B. This case becomes the same fixup described in (2.1) • CASE 3: Ex·rERNAL symbol (SYM) is found (by LINK) to be absol ute. The PUBLIC declaration record for SYM will define an absolute address of the form PSEG, OFFSET.
808~ Object Moduie Formats Version 4.8 2.3 Seqment-Relative Pointer Reference (lonq call) With Groupinq This fixup is' much the same as the fixups described in (2.1) and (2.2). The only difference is that the PSEG is always specified to be a qroup base.
8086 Object Module Formats Version 4.!.J 2.4 Seqment-R~lative Offset Reference (data reference) With No Groupinq And Both LSEG's Created In The Same Translation Diagram in (2.
8086 Object Module Formats 2.5 Segment Relative Base Reference (used for initial ization) seqment Version 4." reqister This fixup is much the same as the Seqment-Relative Pointer Reference described in (2.1). The only difference is that the offset part, FOVAL, of the fixup is not required.
.
.
INTEL CORPORATION, 3065 Bowers Avenue, Santa Clara, California 95051 (408) 987-8080 Printed in U.S.A..
Ein wichtiger Punkt beim Kauf des Geräts Intel 121748-001 (oder sogar vor seinem Kauf) ist das durchlesen seiner Bedienungsanleitung. Dies sollten wir wegen ein paar einfacher Gründe machen:
Wenn Sie Intel 121748-001 noch nicht gekauft haben, ist jetzt ein guter Moment, um sich mit den grundliegenden Daten des Produkts bekannt zu machen. Schauen Sie zuerst die ersten Seiten der Anleitung durch, die Sie oben finden. Dort finden Sie die wichtigsten technischen Daten für Intel 121748-001 - auf diese Weise prüfen Sie, ob das Gerät Ihren Wünschen entspricht. Wenn Sie tiefer in die Benutzeranleitung von Intel 121748-001 reinschauen, lernen Sie alle zugänglichen Produktfunktionen kennen, sowie erhalten Informationen über die Nutzung. Die Informationen, die Sie über Intel 121748-001 erhalten, werden Ihnen bestimmt bei der Kaufentscheidung helfen.
Wenn Sie aber schon Intel 121748-001 besitzen, und noch keine Gelegenheit dazu hatten, die Bedienungsanleitung zu lesen, sollten Sie es aufgrund der oben beschriebenen Gründe machen. Sie erfahren dann, ob Sie die zugänglichen Funktionen richtig genutzt haben, aber auch, ob Sie keine Fehler begangen haben, die den Nutzungszeitraum von Intel 121748-001 verkürzen könnten.
Jedoch ist die eine der wichtigsten Rollen, die eine Bedienungsanleitung für den Nutzer spielt, die Hilfe bei der Lösung von Problemen mit Intel 121748-001. Sie finden dort fast immer Troubleshooting, also die am häufigsten auftauchenden Störungen und Mängel bei Intel 121748-001 gemeinsam mit Hinweisen bezüglich der Arten ihrer Lösung. Sogar wenn es Ihnen nicht gelingen sollte das Problem alleine zu bewältigen, die Anleitung zeigt Ihnen die weitere Vorgehensweise – den Kontakt zur Kundenberatung oder dem naheliegenden Service.