DataMuseum.dk

Presents historical artifacts from the history of:

Bogika Butler

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about Bogika Butler

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - metrics - download

⟦6aa79c642⟧ TextFile

    Length: 5120 (0x1400)
    Types: TextFile
    Names: »DISK2.BAK«

Derivation

└─⟦6661ddda9⟧ Bits:30009789/_.ft.Ibm2.50007339.imd Mogens Pelles Zilog 80,000 / EOS projekt
    └─⟦this⟧ »DISK2.BAK« 

TextFile

$#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
Efter at d'herrer Christensen og Jakobsen har modereret ^-^-ambitionerne,
følger her anden del af den fortsatte beret^-ning om, hvorledes man med
et simpelt program kan sammenkæde komponenter, indtil konsekvenserne
er uoverskuelige. Vi ^-^-vender tilbage netop som vore to helte sidder og
telefonerer i henholdsvis Tåstrup og Sundby.....

"Nå, spøg til side", sagde LGJ og fortsatte:

$#sidenummer1
$#hovedav METANIC Aps
$#hovedam
$#hovedah Side #
$#hovedbv LGJ
$#hovedbm
$#hovedbh 1985.04.23
$#hovedcv
$#hovedcm
$#hovedch
$#hoveddm ______________________________________________________________

$#ny-side

I det følgende redegøres nok en gang for linkeren til ^-^-Z80.000. Det er
nu erkendt, at der er tale om et FAST OUT produkt, og at det bærende
designprincip er KISS (Keep it simple - stupid). Vi undlader derfor de
store overvejelser og laver en meget skrabet linker for at opnå erfaringer
med, hvilke faciliteter, der er behov for.

$#liste 96
$#punkt 1)
Objektfiler indskrænkes til kun at indeholde et modul.
$#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.
$#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 i brief-versionen modulers ^-^-navne, placering
og omfang, samt kommandolinien og util^-fredsstillede referencer. I
full-versionen tillige ^-^-adresser for samtlige ekspor^-terede symboler.
$#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.

$#ny-side
Objektkode format.

Metasproget er som tidligere, og notationen er stadig ^-^-uformel.

$#kopier
1 <object file> ::= <object module>
2 <object module> ::= <om-head><om-image><om-import>
                      <om-export><om-rld>
3 <om-head> ::= <format><name><size rec>
4 <format> ::= i32
4 <name> ::= <symbol>
4 <size rec> ::= <sz-head><sz-image><sz-import><sz-export>
                 <sz-rld>
5 <sz-head> ::= i32
5 <sz-image> ::= <sz-eos-head><sz-code><sz-data>
6 <sz-eos-head> ::= i32
6 <sz-code> ::= i32
6 <sz-data> ::= i32
5 <sz-import> ::= i32
5 <sz-export> ::= i32
5 <sz-rld> ::= i32
5 <sd-size> ::= i32
3 <om-image> ::= <relocation unit>*
4 <relocation unit> ::= i8
3 <om-import> ::= <#internal imported><#external imported>
                  <internal import rec>*<external import rec>*
4 <#internal imported> ::= i32
4 <#external imported> ::= i32
4 <internal import rec> ::= <internal symbol name><address>
4 <external import rec> ::= <internal symbol name><es-name>
5 <internal symbol name> ::= i32
5 <address> ::= i32
3 <om-export> ::= <#exported><esd rec>*
4 <#exported> ::= i32
4 <esd rec> ::= <es-kind><es-item><es-name>
5 <es-kind> ::= absolute ! relocatable
5 <es-item> ::= i32
5 <es-name> ::= <symbol>
3 <om-rld> ::= <relocation indicator>*
4 <relocation indicator> ::= absolute ! eos-head ! code ! data
6 <symbol> ::= string

$#formatter

$#ny-side
Kommandosprog.

$#kopier
<command> ::= <option list><file list>
<option list> ::= <map option>@ <target option>@
<map option> ::= /MAP <file name spec>@ <map extent>@
<file name spec> ::= =<file name>
<file name> ::= string
<map extent> ::= /BRIEF ! /FULL
<target option> ::= /OBJ <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. I stedet for de
anførte kan man f.eks. vælge at benytte UNIX's(R) "incomprehensible style".

Kort om semantikken:
     Som "default" for alle uddatafilnavne benyttes ^-^-navnet på første inddatafil.
Angives variantkoden /MAP dannes en "memory map"-udskrift i filen med
det angivne navn. "Default extension" er map. /BRIEF og /FULL angiv^-er
detaillerigdommen i udskriften. "Default" er /BRIEF.
     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»