Zastanawiam sie nad zastosowaniem relokacji w programie. W TA byl publikowany kod relokatora, ktory tez w nieco bardziej rozbudowanej formie, znalazl sie wewnatrz programow rezydentnych z pakietu QA.
Wydaje mi sie, z uwagi na jego uniwersalnosc (moze zostac uzyty zarowno pod SDX jak i kazdy inny system operacyjny), ze jest to rozwiazanie najlepsze, ale chcialbym sie upewnic w tym swoim wyborze i zapytac kolegow, czy istanieja jakies istotne przeslanki do wyboru relokacji pod SDX?
Mnie przychodzi na mysl jedynie skrocenie programu o kod relokatora, ktory jest obecny w systemie SDX (nawiasem mowiac, ciekawe na ile jest on zblizony do tego z TA i czy autor QA wzorowal sie w jakims stopniu na tym z SDX).
Natomiast co do oganiczen w tworzeniu kodu relokowanego sadze, ze sprawa ma sie podobnie (jestem swiezo po lekturze artykulu Qcyka z Seriousa na ten temat). Tzn. nie mozna korzystac z wartosci bezwzglednych adresow z obszaru relokowanego w trybie natychmiastowym, bo nie sposob by je relokator wlasciwie przeliczyl na wartosci prawidlowe po relokacji. Stosuje sie wiec w relokatorze z TA w zastepstwie, ale mysle, ze podobnie jest w SDX, z odwolan do tablic adresow przeliczanych przez relokator oddzielnie od kodu programu oraz danych stalych nie podlegajacych relokacji.
Jakie sa inne oganiczenia kodu relokacyjnego i czy sa one identyczne dla obu relokatorow?
To tyle, dziekuje z gory za wszelkie odpowiedzi.
ps. w tej chwili nie mam stalego dostepu do netu, stad bede odzywal sie znacznie rzadziej.