Witam

Mam taki problem ring0 segment kodu, Baza 1MB, dlugi na 4MB, zalozmy ze w tym segmencie znajduje sie wywolanie funkcji print ktora pisze w pamieci ekranu. No wlasnie i tu zaczyna sie problem zeby pisac w paieci ekranu musze odniesc sie do innego segmenu. Niestety 32bitowe kompilatory C tworza wskazniki adresujace komorki pamieci wzgledem biezacego segmencie danych. - A w moim przypadku segment danych pokrywa sie z segmentem kodu, wiec tak czy inaczej funkcja print misi przeladowac rejestry segmenowe aby moc pisac po pamieci ekranu znajdujacej sie pod fizycznym adresem 0xb8000.

Czy jest jakis uniwersalny sposob aby w C konstruowac wskazniki wymieniajace rejestry segmentowe (selektory).
Mowiac o uniwersalnym nie chodzi mi o wstawki asemblerowe tylko raczej o cos w stylu "void far* point";
Swoja droga moze ktos wie jak to sie odbywa w jadrze linuksa tam prawdopodobnie nie sposob bylo tego uniknac, a przeciez jadro liniksa w znakomitej wiekszosci zostalo napisane w C.

Pozdrawiam