Neškodilo by trochu popsat ten linkovací script.
Co přesně znamenají tyto řádky:
code = .; _code = .; __code = .;
bss = .; _bss = .; __bss = .;
atd…Pochopitelně vím co to je code, data, bss, ale ta syntaxe s podtržítky atd. mě mate.
Intuitivně tuším o co jde, ale šlo by to nějak upřesnit?
Seriál bude asi zajímavý i když na to jde odprostřed – spíš než
teorii OS objasní nástroje, pomocí kterých se takový OS dá také začít
psát, což není málo a díky za to. Já třeba teorii znám, ale
v nástrojích zde používaných mám mezery – viz. ten můj dotaz
k linkovacímu scriptu…
Ty slova code, bss a data jsou tam jen ke zmatení nepřítele (Medvěda). Nemají žádný význam, kromě toho, že jsou to identifikátory.
Konkrétně
code = .; _code = .; __code = .;
vytvoří tři symboly (jména uhodnete), každý z nich bude na adrese „aktuálního místa“ ve výstupu, konkrétně tady na začátku kódu. K čemu se pak budou tyhle symboly používat nechci domýšlet, ale např. „end“ je značka konce jádra, takže pamět od „end“ do konce fyzické paměti je volná, což je rozhodně zajímavá informace pro správu paměti.