Metoda z zastosowaniem tablic fixup'ow, rozumiem, ze rozwiazuje problem niemozliwosci korzystania z konstrukcji typu:
lda <adres
sta addr
lda >adres
sta addr
Fajnie, tylko dzieje sie to kosztem raczej sporego nakladu dodatkowych danych stanowiacych zawartosc tych tablic. Interesowaloby mnie na ile statystycznie mozna ocenic procentowy udzial tej tablicy w stosunku do calosci ladowanego pliku.
Na szczescie, obszar pamieci zajmowany przez te tablice po ich wykorzystaniu zostaje zwolniony, wiec jest to "problem" tylko dla pamieci zewnetrzenej.
Ale nie o tym zamierzalem pisac.
Jest jeszcze inna kwestia mocno mnie zastanawiajaca.
Wyobrazam sobie ze programy rezydentne mozna podzielic na dwa ich typy. Pierwszy to taki, ktorego zaleta jest to, ze maksymalnie powieksza bufor dla uzytkownika, ale nie ulatwia wpolistnienia innych rezydentrow w pamieci. Drugi natomiast spelnia ten dodatkowy warunek. Kryterium podzialu jest, wedlug mnie, sposob uzywania pamieci na stronie zerowej. Jesli program przywraca zawartosc zastana obszaru strony zerowej jaka dotyka, do stranu sprzed, to znaczy, ze mozna zakwalifikowac go do tej drugiej kategorii.
Tak mysle, ale sa to tylko moje teoretyczne dywagacje, a ciekaw jestem, czy istotnie programy rezydentne pisane dla SDX postepuja w wyzej opisany sposob, czy tez gospodarowanie strona zerowa jest jakos inaczej rozwiazane. A jesli program rezydentny dziala w tle na przerwaniach i korzysta ze strony zerowej, to czy zawsze powinien co ramke przywracac zawartosc uzywanych komorek?