|
|
DataMuseum.dkPresents historical artifacts from the history of: Bogika Butler |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about Bogika Butler Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - download
Length: 5120 (0x1400)
Types: TextFile
Names: »DISK3.BAK«
└─⟦6661ddda9⟧ Bits:30009789/_.ft.Ibm2.50007339.imd Mogens Pelles Zilog 80,000 / EOS projekt
└─⟦this⟧ »DISK3.BAK«
$#venstre240
$#højre1680
$#indryk120
$#linieafstand10
$#h/f-venstre216
$#h/f-højre1704
$#h/f-linieafstand10
$#hoved-højde60
$#fod-højde40
$#lige-margen0
$#sidenummer1
$#formatter
$#sidenummer1
$#hovedav METANIC Aps
$#hovedam
$#hovedah Side #
$#hovedbv LGJ
$#hovedbm
$#hovedbh 1985.06.26
$#hovedcv V 3.0
$#hovedcm
$#hovedch
$#hoveddm ______________________________________________________________
Nedenfor redegøres igen for objektkodeformatet med de sene^-ste ændringer.
$#liste 96
$#punkt 2)
Objektmoduler indskrænkes til netop at indeholde 3 seg^-men^-ter:
EOS-hoved, kodesegment, og datasegment. Et seg^-ment for uinitialiserede
data udelades. Alle data ini^-tialiseres - evt. til nul.
EOS-hoved-segmentet kan evt. være tomt. På grund af kolde fødder
parametriseres seg^-mentantallet dog alligevel, så dette kan fortrydes.
$#punkt 3)
Hvert seg^-ment omfatter som før netop en sektion.
$#punkt 4)
Eksterne symboler kan KUN have en udstrækning på 32 bit.
$#punkt 5)
Til samtlige im^-porterede symboler skal kunne adderes en 32 bit
2-komplement konstant.
$#punkt 6)
Der dannes aldrig loadmoduler og altid objektmooduler. Programmet
EOS-link udformes til at danne loadmoduler fra objekt^-moduler.
$#punkt 7)
relokeringsenheden sættes til 8 bit, men stør^-relsen pa^-rametriseres,
således at den nemt kan ændres.
$#punkt 8)
MAP-udskriften om^-fatter modulers ^-^-navne, placering
og omfang, samt kommandolinien og util^-fredsstillede refe^-rencer. Desuden
medtages endelige adresser for samtlige eksporterede symbol^-er. Der
fremstilles kun een type map-udskrift, men denne er dog valgfri. Egentlige
^-^-fejlmeldinger/advarsler vises altid på konsollen.
$#punkt 9)
Underforstået relokeringsbasis er altid segmentstart.
$#punkt 10)
Administrativt flødeskum fjernes fra head^-eren.
$#punkt 11)
Relokeriingsinformationen skal naturligvis angive en basis.
$#punkt 12)
Sektioner starter altid på en dobbeltordgrænse. ("long word alignment").
$#punkt 13)
Eksportlisterne akkumuleres, medens importlisterne re^-duceres efterhånden
som referencerne afklares.
$#punkt 14)
Moduler medtages uanset om de refereres. SDG!
$#punkt 15)
Intern importliste kræves sorteret stigende efter (seg^-ment, adresse).
$#liste 0
$#ny-side
Objektkode format.
Metasproget er som tidligere, og notationen er stadig ^-^-uformel.
$#kopier
1 <object file> ::= <of-format><object module>+
2 <of-format> ::= i32
2 <object module> ::= <om-head><om-export><om-ext-import><om-segments>
3 <om-head> ::= <om-format><size rec><module name>
4 <om-format> ::= i32 (* =0. not used.
reserved for future expansion*)
4 <size rec> ::= <sz-module><sz-head><sz-export>
<sz-ext-import><sz-image>
<#exported><#external imported>
<#segments><seg.desc.>*
5 <sz-module> ::= i32 (* redundant *)
5 <sz-head> ::= i32
5 <sz-export> ::= i32
5 <sz-ext-import> ::= i32
5 <sz-image> ::= i32 (* redundant *)
5 <#exported> ::= i32
5 <#external imported> ::= i32
5 <#segments> ::= i32 (* =3. *)
5 <seg.desc.> ::= <sz-seg-image><sz-seg-rld>
<sz-seg-int-import><#internal imported>
6 <sz-seg-image> ::= i32
6 <sz-seg-rld> ::= i32
6 <sz-seg-int-import> ::= i32
6 <#internal imported> ::= i32
4 <module name> ::= <symbol>
3 <om-export> ::= <export rec>*
4 <export rec> ::= <relocation indicator><es-item><es-name>
5 <es-item> ::= i32
5 <es-name> ::= <symbol>
3 <om-ext-import> ::= <es-name>*
3 <om-segments> ::= <section>*
4 <section> ::= <relocation unit>*<rld><int-import>
5 <relocation unit> ::= i8
5 <rld> ::= <relocation indicator>*
5 <int-import> ::= <internal import rec>*
4 <internal import rec> ::= <address><internal symbol name>
5 <address> ::= i32
5 <internal symbol name> ::= i16
6 <symbol> ::= string
6 <relocation indicator> ::= absolute ! <segment#>
7 <segment#> ::= i2
$#formatter
$#ny-side
Kommandosprog.
$#kopier
<command> ::= <option list><file list>
<option list> ::= <map option>@ <target option>@
<map option> ::= /M <file name spec>@
<file name spec> ::= =<file name>
<file name> ::= string
<target option> ::= /O <file name spec>
<file list> ::= <file name><file list tail>*
<file list tail> ::= , <file name>
$#formatter
I denne forbindelse er det ligegyldigt, om kommandoen skri^-^-ves på samme
linie som kommandoen, der aktiverer linkeren eller den næste. Det er også
ligegyldigt, ^-^-hvilke symboler der benyttes som terminaler. Her benyttes
UNIX's(R) "incomprehensible style".
Kort om semantikken:
Som "default" for alle uddatafilnavne benyttes ^-^-navnet på første inddatafil.
Angives variantkoden /M dannes en ^-^-"memory map"-udskrift i filen med
det angivne navn. "Default extension" er map.
Angives variantkoden /OBJ dannes en objektfil med det angivne navn.
"Default extension" er obj.
Fillisten <file list> angiver navnene på de objekt^-filer, hvis indhold
ønskes sammenkædet.
«eof»