absolute a linker

Roman

absolute a linker
« kdy: 16. 05. 2011, 18:28:51 »
Ahoj, má tu niekto skúsenosti s assemblerom a linkerom ? Skúšam napísať program pre procesor intel 8080. Mám tri .asm files. Prvý obsahuje startup kód, s direktívou .area CRTSO (ABS) a .org 0H0000. Druhý obsahuje run time library s direktívou .area C8080LIB (REL,CON) a posledný je samotný program s direktívou .area MAIN (REL,CON). ABS je absolútne adresovanie, REL je relacatable, CON je concatenable. Assembler prejde bez chyby. Linker je volaný ako aslink -l -o -s main main.rel c8080lib.rel crtso.rel prejde bez chyby. http://shop-pdp.kent.edu/ashtml/asls01.htm#Invoking Vo výslednom HEX file, vidím že adresa 0000 ja dvakrát, raz obsahuje inštrukcie z hlavného programu a druhý výskyt riadku s adresou 0000 obsahuje startup kód. Správne by mala byť adresa 0000 iba raz a na nej startup kód. Inštrukcie z hlavného programu by maly byť pripojené za ňou na vyšších adresách.
http://shop-pdp.kent.edu/ashtml/asxs02.htm#area V dokumentácii je "Absolute sections are always overlayed with other sections of this program area." čo je pre mňa úplne nepochopiteľné, asi vôbec nerozumiem tomu ako by mala fungovať direktíva .org a .area (ABS)

Vie niekto poradiť ako dostať do výsledného HEX tie tri asm jeden pekne za druhým, bez toho aby boli prekryté ?