Intel 121748-001 manual

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122

Ir para a página of

Bom manual de uso

As regras impõem ao revendedor a obrigação de fornecer ao comprador o manual com o produto Intel 121748-001. A falta de manual ou informações incorretas fornecidas ao consumidor são a base de uma queixa por não conformidade do produto com o contrato. De acordo com a lei, pode anexar o manual em uma outra forma de que em papel, o que é frequentemente utilizado, anexando uma forma gráfica ou manual electrónicoIntel 121748-001 vídeos instrutivos para os usuários. A condição é uma forma legível e compreensível.

O que é a instrução?

A palavra vem do latim "Instructio" ou instruir. Portanto, no manual Intel 121748-001 você pode encontrar uma descrição das fases do processo. O objetivo do manual é instruir, facilitar o arranque, a utilização do equipamento ou a execução de determinadas tarefas. O manual é uma coleção de informações sobre o objeto / serviço, um guia.

Infelizmente, pequenos usuários tomam o tempo para ler o manual Intel 121748-001, e um bom manual não só permite conhecer uma série de funcionalidades adicionais do dispositivo, mas evita a formação da maioria das falhas.

Então, o que deve conter o manual perfeito?

Primeiro, o manual Intel 121748-001 deve conte:
- dados técnicos do dispositivo Intel 121748-001
- nome do fabricante e ano de fabricação do dispositivo Intel 121748-001
- instruções de utilização, regulação e manutenção do dispositivo Intel 121748-001
- sinais de segurança e certificados que comprovam a conformidade com as normas pertinentes

Por que você não ler manuais?

Normalmente, isso é devido à falta de tempo e à certeza quanto à funcionalidade específica do dispositivo adquirido. Infelizmente, a mesma ligação e o arranque Intel 121748-001 não são suficientes. O manual contém uma série de orientações sobre funcionalidades específicas, a segurança, os métodos de manutenção (mesmo sobre produtos que devem ser usados), possíveis defeitos Intel 121748-001 e formas de resolver problemas comuns durante o uso. No final, no manual podemos encontrar as coordenadas do serviço Intel na ausência da eficácia das soluções propostas. Atualmente, muito apreciados são manuais na forma de animações interessantes e vídeos de instrução que de uma forma melhor do que o o folheto falam ao usuário. Este tipo de manual é a chance que o usuário percorrer todo o vídeo instrutivo, sem ignorar especificações e descrições técnicas complicadas Intel 121748-001, como para a versão papel.

Por que ler manuais?

Primeiro de tudo, contem a resposta sobre a construção, as possibilidades do dispositivo Intel 121748-001, uso dos acessórios individuais e uma gama de informações para desfrutar plenamente todos os recursos e facilidades.

Após a compra bem sucedida de um equipamento / dispositivo, é bom ter um momento para se familiarizar com cada parte do manual Intel 121748-001. Atualmente, são cuidadosamente preparados e traduzidos para sejam não só compreensíveis para os usuários, mas para cumprir a sua função básica de informação

Índice do manual

  • Página 1

    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[...]

  • Página 2

    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. including, but not limited to. the i[...]

  • Página 3

    8086 Object Module Formats Version 4." TABLE OF CONTENTS DOCUMENT CONTROL • • . . . . . . . · . . . . . . . 2 3 - 'fABLE OF CONTENTS INTRODUCTION • • • • • • • • • • DEFINITION OF TERMS •••••• MODULE SEMANTICS MODULE IDENTIFICATION • • • • MODULE ATTRIBUTES •••••• SEGMENT DEFINITION[...]

  • Página 4

    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.(J • • · . . . . . . . • 85 • • · . . . . . • Sf; · . . • • • • 88[...]

  • Página 5

    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. 'fhe 8086 - object lanquaqe is input and output for object languaqe processors[...]

  • Página 6

    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 determined at translation-time (except for address- binding) • Neither size nor location in MAS are necessarily determined at translation-time: size, althou[...]

  • Página 7

    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. The existence of qroups such as Gl and G2 is not sufficient to infer that A,B,C,D all lie w[...]

  • Página 8

    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. 8[...]

  • Página 9

    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. The additional functions of the header records are explained below. A module name may [...]

  • Página 10

    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. The SEG~ENT DEFINITION RECORD (SEGDEF) is the vehicle by which all LSEG information (n[...]

  • Página 11

    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). Their semantics will be explained later. The requirements for debugqinq information are satisfie[...]

  • Página 12

    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. A 8086 loader can load RDATA or PDATA Records, but will probably not be able to maintain the LSEG table information reauired for loadinq LDAT[...]

  • Página 13

    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. (see Appendix 4 for Examples) (Note) This definition of "fixup- accurately represents the viewpoint maintained by the R&[...]

  • Página 14

    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 HIBYTE is merely the hiqh order half of an OFFSET (and R&L doesn't Nare if the low order half precedes or not); (4) a LOBYTE is merely the lo[...]

  • Página 15

    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). The following nomenclature is used to describe a TARGET: TARGET: SI«seqment name» ,<displac[...]

  • Página 16

    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. The FRAME is the canonic FRAME of the LSEG defined by the INDEX. ([...]

  • Página 17

    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. A siqned displacement between the LOCATION 20-bit address and the TARGE[...]

  • Página 18

    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. SEGMENT-RELATIVE FIXUPS A seqment-relative fixup operates in the followinq way: a non- neqative l~-bit number, FBVAL, is defined as the FR[...]

  • Página 19

    808~ Object ~odule Formats Version 4.9 <---- in OATA Record ----> <--- in FIXUP Record ---> +------+ +------+------+ +n or +n <null> <--- Case 1 +------+ +-------+ ... ------+ +------+ +-~----+------+ +------+----~~+ q or q +n <--- Case 2 +------+ +------+ q or <--- Case 3 +------+ Case 1 illustrates the situation where a[...]

  • Página 20

    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. Thus, LINK-8~ will convert the above TARGET[...]

  • Página 21

    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. For example, we wish to reference the l00'th[...]

  • Página 22

    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. The followinq syntax shows the valid orderinqs of records to form a module. In addition, th[...]

  • Página 23

    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. The following rules apply: 1. A FIXUPP record always refers to the previous DATA[...]

  • Página 24

    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 ... -. -- .. ---- - . (SAMREC) ** *********************111********* II I 1*********** * * * * * * * REC * * TYP * RECORD [...]

  • Página 25

    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. The remaininq bytes are interpreted as a byte string1 each byte must represent the Ascii code of a character drawn from [...]

  • Página 26

    8986 Object Module Formats T-MODULE HEADER RECORD (THEAi5R) ***********************///*********** * * * * * * REC * * TYP * * 80H * RECORD LENG'fH * T * MODULE * NAME * CHK * * SUI" * * * * * * * * ***********************///*********** version 4.0 Every module output from a translator must have aT-MODULE HEADER RECORD. Its purpose is to p[...]

  • Página 27

    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.3 or earlier) or by LOCATE-8~ may have an L-MODUL[...]

  • Página 28

    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., * * * * * * * * * * ***********************///*********///*********///*****[...]

  • Página 29

    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. The module is a Position Independent Code module. It can be loaded anyw[...]

  • Página 30

    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. This .value must be qreater than or equal to DYNAMIC STORAGE (By[...]

  • Página 31

    8086 Object Module Formats LIST OF· NAMES. RECORD ------ (LNAMEST-' -"-' ... ***********************///*********** * * * * * * REC * RECORD * NAME * CHK * * TYP * LENGTH * * SUM * * 9~H * * * * * * * * * ***********************///*********** I 1 +----rpt----+ Version 4.0 This Record provides a list followinq SEGDEF and GRPDEF Record[...]

  • Página 32

    808~ Object Module formats SEG~ENT DEFINITION. RECORD (SEGDEF) Version 4.0 **********************///*****************///*******///*******///********** * * * * * * * * * * REC * RECORD * SEGMENT * SEGi-EN'r * SEGMEN'r * CLASS * OVERLA'l * CHK * * 'r'll' * LENG'fH * ATTR * LENG'fH "* NAME * NAME * NAME * [...]

  • Página 33

    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. A=4 SEGDEF describes a relocatable, paqe [...]

  • Página 34

    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. ·(This corresponds to the Min-paqe- relocation type of 8080 R&L.) The FRAME NUMBER and OFFSET fields (present only for absolute seqments, A-9 or A-5) specify the placement in MAS[...]

  • Página 35

    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. This field provides the Segment Name, by indexing into[...]

  • Página 36

    8086 Object Module Formats GROUP DEFINITiON RECORD .......--..-..-- (GRPDEF) ***********************///**********///************ * * * * * * * REC * RECORD * GROUP * GROUP * CHK * * TYP * LENGTH * NAME * COMPONENT * SUM * * 9AH * * INDEX * DESCRIPTOR * * * * * * * * ***********************///**********///************ I I +--repeated---+ GROUP NAME [...]

  • Página 37

    8186 Object Module Formats Version 4.1 ***********///*********///*********///***** * * * * * * sea * SEGMENT * CLASS • OVERLAY * * * NAME * NAME * NAME * *(FDH)* INDEX * INDEX • INDEX * * * * * * ***********///*********///********///****** ************************************* * * * * * • LTL * LTL * MAXIMUM * GROUP * * GRP * OAT * GROUP * LE[...]

  • Página 38

    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. which are the LTL OAT field. the maximum length of the qrou[...]

  • Página 39

    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 •. The Desc[...]

  • Página 40

    8086 Object Module Formats TYPE DEFINITION RECORD -----(TyPDEF)----- Version 4.9 ************************///*********///************ * * * * * * * REC * RECORD * NAME * EIGHT * CHK * * TY P * LENGTH * (L"INK86 * LEAF * SUM * * SEH * * USE) * DESCRIPTOR * * * * * * * * ************************///*********///************ I I +-----rpt----+ This [...]

  • Página 41

    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. which occurs between 1 and 8 times, has one of the followinq formats: ******* * * * 0 * * to * * 128 * * * ******* ******************* * * *[...]

  • Página 42

    8086 Object Module Formats Version 4.0 ******* * * * * * 133 * * * * * ******* ************* * * * * *-127 * * 134 * to * * *+127 * * * * ************* ******************* * * * * * -32K * * 135 * to * * * +32K * * * * ******************* **************************.*** * * * * * 4-byte signed * * 136 * integer * * * * * * * ************************[...]

  • Página 43

    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. Otherwise the 'Branch is end in an indefinitely lonq seq[...]

  • Página 44

    8086 Object Module Formats Version 4." PUBLIC NAMES DEFINITION RECORD -------(PUBDEF)----- ***********************///*********///*********************///*********** * * * * * * * * * REC * RECORD * PUBLIC * P~BLIC * PUBLIC * TYPE * CHK * * TYP * LENG'rH * BASE * NAME * OFFSET * INDEX * SU,4 * * 90H * * * * * * * * * * * * * * * **********[...]

  • Página 45

    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.q., LINK-86 and LOCATE-86 will perform the following a[...]

  • Página 46

    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.[...]

  • Página 47

    898n Object Module Formats version 4.0 EXT~RNAL ... !AMES DEFINITION RECORD (EXTDEF) ***********************///*********///*********** * * * * * * * REC * RECORD * EXTERNAL * TYPE * C~K * * TYP * LENGTH * NAME * INDEX * SUM * * 8CH * * * * * * * * * * * ***********************///*********///*********** , , +-------repeated--------+ This Record prov[...]

  • Página 48

    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 object[...]

  • Página 49

    8086 Object Module Formats Version 4.0 LOCAL SY~BOLS. RECORD ( LOCSYl~) ***********************///*********///*********************///*********** * * * * * * * * * REC * RECORD * LOCAL * LOCAL * LOCAL * TYPE * CHK * * TYP * LENGTH * SYMBOLS * SYMBOL * SY~BOL * INDEX * SUM * * 928 * * BASE * NAME * OFFSET * * * * * * * * * * * **********************[...]

  • Página 50

    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. If the GROUP [...]

  • Página 51

    808~ Object Module Formats Version 4.0 LINE NUMBERS RECORD (LINNUM) ***********************///*********************************** * * * * * * * * REC * RECORD * LINE * LINE * LINE * CHK * * TYP * LENGTH * NUMBER * NUMBER * NUMBER * SUM * * 94H * * BASE * * OFFSET * * * * * * * * * ***********************///*********************************** I I +-[...]

  • Página 52

    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. This is the purpose of the [...]

  • Página 53

    8086 Object Module Formats Version 4.0 BLOCK DEFINITION RECORD --------(SLKDEF'------- **********************///**********///*********///*********///*********** * * * * * * * "REC * RECORD * BLOCK * BLOCK * PROCEDURE * TYPE * CHK * TYP * LENGTH * BASE *INFORMATION*INFOR~ATION* INDEX * SUM * 7AH * * * * * * * * * * * * * * ****************[...]

  • Página 54

    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. describes an unnamed block in the sour[...]

  • Página 55

    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 I I * *PILI010101010IB* * , I I , , I I * * , I I I , I I * RETURN ADDRESS OFFSET * * * * * ************************************************** +------[...]

  • Página 56

    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. the source program. Each BLKOEF reco rd must be follow[...]

  • Página 57

    808#; O,?ject Module Formats Version 4.(') DEBUG. SYMBOLS. RECORD --.---- - -{OEBSYM) ~*********************///*********///*********************///*********** * * * * * * * REC * RECORD * FRAME * SYMBOL * * TYPE * CaK * TYP * LENGTH *INFORMATION* NAME * OFFSET * INDEX * SUM * 7 EH * * * * * * * * * * * * * * ~*********************///*********/[...]

  • Página 58

    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. The L (Long) bit tells the lenqth of this value. L=0 -) 2 bytes L=l -) 4 bytes If L=0 the frame part of the symbol address is defined to be the frame q i [...]

  • Página 59

    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). SYMBOL NAME This field provides the name of the symbol. OFFSET The OFF[...]

  • Página 60

    8086 Obiect Module Formats RELOCATABLE ENUMERATED DATA RECORD -------- --- --("~ E:DATA)-------------- Version 4.0 ***********************///***************************** * * * * * * * * REC * RECORD * DATA * DATA * OAT * CHK * * TY P * LENG'fH * RECORD * RECORD * * SUr-1 * * 72H * * BASE * OFFSE:T * * * * * * * * * * ********************[...]

  • Página 61

    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. Otherwise, the repeated field i[...]

  • Página 62

    808~ Object Module Formats RELOCATABLE. ITERATED.DATA~RECORD - {RIDATA) Ve:· sion 4.0 ***********************111*********************//1**** ******* * * * * * * * * REC * RECORD * DATA * DATA * ITERATED * CHK * * TYP * LENG'fH * RECORD * RECORD * DATA * SUM * * 748 * * BASE * OFFSET * BLOCK * * * * * * * * * ***********************111********[...]

  • Página 63

    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. It is a structure that has the fo[...]

  • Página 64

    808~ Object Module Formats PHYSICAL ENUMERATED DATA RECORD (PEOATA) ************************************************* * * * * * * * * REC * RECORD * FRAME * OFF * * CHK * * TYP * LENGTH * NUMBER * SET * OAT * SUM * * 848 * * * * * * * * * * * * * ************************************************* +-rpt-+ Version 4.9 This record provides contiquous d[...]

  • Página 65

    808fi Object Module Formats Version 4.0 PHYSICAL ITERATED DATA RECORD ( P tDA T A,-- *****************************************///*********** * * * * * * * * REC * * TYP * * 86H * RECORD LENG'rH * * * FRAME NUJ1BER * OFF * ITERATED * SET * DATA * * BLOCK * CHK * * SUM * * * * * * * * * * *****************************************///*********** [...]

  • Página 66

    8086 Object Module Formats LOGICAL ENUMERATED DATA,RECORD -_._. ·------(tEDATA)"---·-· _ ..... _ ... Version 4.0 ***********************///***************************** * * * * * * * * REC * RECORD * SEG~ENT * ENUMERATED* * CHK * * TYP * LENG'rH * INDEX * DATA * OAT * SUM * * ASH * * * OFFSET * * * * * * * * * * ***********************[...]

  • Página 67

    808fi Object Module Formats version 4.0 This field provides up to 1024 consecutive bytes of relocatahle or absolute data. ~7[...]

  • Página 68

    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 * * * * * * • * * *****.*****************///***~[...]

  • Página 69

    8086 Object Module' Formats Version 4.8 Same as for the RIDATA record. -;9[...]

  • Página 70

    8e8~ Object Module Formats FIXUP RECORD . (FIXUPP) . ***********************///*********** * * * * * * REC * * TYP * * 9CH * RECORD LENG'rH' * THREAD * or * FIXUP * CHK * * SUM * * * * * * * * ***********************///*********** I I +----rpt----+ Version 4.8 This record specifies" or more fixups. Each fixup requests a modification [...]

  • Página 71

    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. METHOD is a [...]

  • Página 72

    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. (End" of Note) S is a one bit subfield that specifies that the lenoth of the TARGET DISPLACEMENT subfield, if p[...]

  • Página 73

    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). or is aiven explicitly in the FIXUP field (T=0). P is specified specified Since a the P bit attribute a one bit subfield that indicates whether the tarqet ~ in a primary way (req[...]

  • Página 74

    8086 Object Module Formats Version 4." OVERLAY DEFINITION RECORD (OVLDEFf ---- -- ***********************///*********1 1'1*********///*********** * * * * * * * * REC * * TYP * * 70H * RECORD LENG'fH * OVERLAY * NAME * .. * * OVERLAY LOCATION * * * OVERLAY ATTR * CHK * * SUM * * * * * * * * * * ***********************///*********~ 111[...]

  • Página 75

    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. These bits [...]

  • Página 76

    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. and an overlay. END·TYP ~his field specifies the typ[...]

  • Página 77

    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.0 This recor[...]

  • Página 78

    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 * * OAT * * * FRA~E DATUM * TARGET * DATUM * * TARGET * * 015- * * PLACEMENT * * * * * ***********///*********///***************** , I I I +conditiona[...]

  • Página 79

    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. The REGISTER OFFSET field (present only if REGID <= 1) specifies an offset relative to the Seqment (if SEGMENT INDEX ) 0) or to the FRAME (if SEGCt1EN'r INDEX = 0) ?[...]

  • Página 80

    8g8~ Object Module Formats MODULE ~ND RECORD ----(MODEND) *****************************///*********** * * * * • * * REC * RECORD * MOD * START * CHK • * TYP * LENGTH * TYP * ADDRS * SUM * * 8AH * • * * * * * * * * * *****************************///*********** . 1 , +conditional+ Version 4.8 This record serves two purposes. It denotes module a[...]

  • Página 81

    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 * FRAME * TARGET * TARGET * * DAT * DATU~ * DATUM * D1S- * * * * * PLACEMENT * * * * * * ***********///*********///***************** I I I I +conditiona[...]

  • Página 82

    8~8~ Object Module Formats LIBRARY HEADER RECORD -------fCfSHED)------ Version 4.0 ************************************************************* * * * * * * * * REC * RECORD * MODULg * BLOCK * BYTE * CHK * * TYP * LENGTH * COUNT .* NUMBER * NUMBER * SUM * * A4H * * * * * * * * * * * * * ************************************************************* [...]

  • Página 83

    8086 Object Module Formats LIBRARY. MODULE NAMES RECORD (LiSNAM) ***********************///*********** * * * * * * REC * * TYP * * A6H * * * RECORD LENGTH * * * * MODULE NAME * CHK * * SUM * * * * * ***********************///*********** I I +-repeated--+ Version 4.0 This record qives the names of all the modules in the library. The names are qiven [...]

  • Página 84

    808~ Object Module Formats LIBRARY MODULE LOCATIONS RECORD ------~-.- (LIBLOC) ************************************************* * * * * * * * REC * RECORD * BLOCK * BYTE * CHK * * TYP * LENGTH * NUMBER * NUI~BER * SUI., .. * ASH * * * * * * * * * * * ************************************************* +--------reoeated-------+ Version 4."0 This[...]

  • Página 85

    8086 Object Module" Formats version 4.8 LIBRARY DICTIONARY R~CORD -- ..... .-.- (LIBDIC) ***********************///***************** * * * * * * * REC * RECORD * PUBLIC * * CHK * * TYP * LENGTH * NAME * 00H * SUM * * AAH * * * * * * * * * * * ***********************///***************** I I I +-re~eated--+ I +----repeated-----+ This record libr[...]

  • Página 86

    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. translators to include[...]

  • Página 87

    8086 Object Module Formats Version 4.8 COM(t1ENT This field provides the commentary information. P7[...]

  • Página 88

    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 88 COJ'ltENT 8A MOOEND BC EXTDEF 8E TYPDEF 9" PUBDEF 92 LOCSY~ 94 LINNUM 9t; LNAMES 98 SEGDEF 9'" GRPDEF 9C FIXUPP 9E (none) A0 LE[...]

  • Página 89

    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. Andleaves and Orleaves are not supported at this time. Types may be defined by branches of the followinq forms: +------~~+----~-----+---~~----------+ I SCALA[...]

  • Página 90

    8086 Object Module Formats Version 4. +----~------+-~-----+ I PARAMETER I ~type I +--~-~------+-----+-------+-~-~~-----+---~--~~~~---------~----+-------+ I PROCEDURE I nil I ~type I (return) , (number of parameters) I Alist I +~----~-----+--~--+-------+----------+-----------~------------+-~-----+ +-------+-----+---~------+ I LABEL I nil I (return) [...]

  • Página 91

    8086 Object Module Formats version 4.e APPENDIX 3 SYNTAX DIAGRAMS +------------+ --+-->1 sequence 1 I +----------+ I . I +---------+ 1-->1 library 1 +---------+ sequence +-- ... -----+ --+-->1 module 1--+--> A + ___ ~ ___ _+ 1 +------~--~----~+ library -~~( LIBHED )--+---------------+-->( LIBNAM )-->( LIBLOC )-->( LIBDIC )-->[...]

  • Página 92

    tmod -->( Imod 8086 Object Module Formats Version 4"" +---~~---- ... ---+ +------------+ THEADR ) -> I sqr table ,-+---~~--~---+--+---~~-------~---+->I modtail 1-- +-----------+ +~ .. ---.----~ ... +-------------+ 1 1<-+ +-1 component +------------+ +---------+ +--~- ... ----+ -->( LHEADR )->1 sgr table 1-+-----------+--[...]

  • Página 93

    808~ Object Module Formats sqr _table +-------~-+ -->1 seq qrp 1--+---------------+--> + ____ ~_~ __ + I ________ A +-->( REGINT )--+ sgor _table +----~ .... ---+ -->1 seq qrp 1--+---------------+--+---------------+--> +----~----+ ~ ----~--- I f ~~-~~--~ ~ +--( OVLDEF )<--+ +-->( REGINT )--+ ----- ...... -- I --------- I +--( L[...]

  • Página 94

    8986 Object ~odule Pormats o _component --~-+---------~~--+--+-~-----------~------+-->( ENOREe )--> ~ +--~---+ , - +-~--~--------+ I -----~-- +--1 data 1<--+ +--1 t_component 1<--+ +~---~~+ +------~------+ t. _component -->( 'fHEADR )--+------------------+--> A +_ ... _---------- 1 1<--+ +--1 compOnent +-----------+ compon[...]

  • Página 95

    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 )----->+ .. _------ --+-[...]

  • Página 96

    88.8~ Obj ect Mod ule Pormats content def --+-->( LIDATA )---+--+---------------+--> I ---~-~-- - A ~--~~--- I I -------- I +--( FIXUPP )<--+ +--> ( LEDATA ) -->+ ------- I ---~-~-- I I ---~---- I +-->( PIDATA )-->+ , ----~--- I I -------- I +-->( PEDATA )-->+ I ----~~-- I I -------- I +-->( RIDATA )-->+ I --~-~--- [...]

  • Página 97

    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. It is included here because it provides copious examples of fixups in pictorial represe~tation, and therefore is an aid to understandinq t[...]

  • Página 98

    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 +--~.----------+ p P LOCATION P P + .......... ~- .... ----- .. + P P P P P P P P P P P P P p P P [...]

  • Página 99

    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 L L L +--------~--------~-+ L L LOCATION L L +~--------~---------+ L L I L L I L L I L L I L L V L L +--------------+ L L TARGET L L +-~~~----------+ [...]

  • Página 100

    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 +~----- ... -+ L L L L L LLLLLLLLLLLLLL LLLLLLLLLLLLL[...]

  • Página 101

    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. P LLLLL'LL·LLLLLLL P (- PI P L~ L P P LA L P P'LA' L P P [...]

  • Página 102

    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. In diagram 4, if the choice for PSEG is chanqed from SICA) to SICS) then the fixup can be made, as in diagram 5, if the displacement is qreater than 32K a ·clever- fixup, shown in diaqram[...]

  • Página 103

    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-------------------->. SYM •• L +--------+ L L , L LLLI.LLLLLLLLLL FIXUP"REPRESENTATI IN: LOCATION: OFFSET or [...]

  • Página 104

    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 + .. ---~---+ L P <[...]

  • Página 105

    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. LLLLLLLLLLLLLL L L L L L L L +[...]

  • Página 106

    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. LOCATE OPERATION: At LOCATE time, LOCATE knows the[...]

  • Página 107

    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-------------------->. SYM •• L +--------+ L L L LLLLLLLLLLLLLL FIXUP REPRESENTATION: LOCATION: OFFSET . ..........[...]

  • Página 108

    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. A LLLLLLLLLLLLLL B LLLLLLLLLLLLLL L L L L I[...]

  • Página 109

    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). The 'symbol beinq referenced must be within the defined LSEG independent of the value at LOCATION to be applied: EXAMPLES: J~P SYM + 10 or JMP SYM - 2 The [...]

  • Página 110

    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. LOCATE OPERATION: At LO[...]

  • Página 111

    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 ..., .'4 P L , L P '" M P L FOVAL-I L P M M P L V L [...]

  • Página 112

    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. L +-----_.-_+ L L L L L L L L L LLLLLLL[...]

  • Página 113

    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. LOCATE includes as part of the offset, FOVAL, the difference between the absolute location of the [...]

  • Página 114

    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 ,---~----.------------>. SYM • · L +--- .. ----+ L • . . . . . . . . . . · L L LLLLLLLLLLLL[...]

  • Página 115

    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. The followinq two cases may be found: PPPPPPPPPP[...]

  • Página 116

    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. LINK chanqes[...]

  • Página 117

    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. The fixup would appear as one of the followinq (also see diaqram below): Group A LOCATION: [...]

  • Página 118

    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.1) can be used. LOCATION: OFFSET PSEG: TARGET (this is the most common choice) TARGET: SI(8) ,dl or SI(8) where dl is applied to the LOCATION Note that this fixup is exac[...]

  • Página 119

    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. FIXUP REPRESENTATION: LOCATION: BASE PSEG: TARGET TARG[...]

  • Página 120

    [...]

  • Página 121

    [...]

  • Página 122

    INTEL CORPORATION, 3065 Bowers Avenue, Santa Clara, California 95051 (408) 987-8080 Printed in U.S.A.[...]