asm: protected mode

0

Jest taka sprawa.. pisze wlasny OS w asm i mam male problemy z obsluga pamieci w protected mode:

  1. po wejsciu juz w tryb chroniony w jaki sposob i jakim kodem moge zmieniac wpisy w tablicy GDT aby dodawac lub zmieniac pozycje...

  2. czy w trybie chronionym da sie uzywac przerwan znanych z trybu rzeczywistego czyli wywolywac je poprzez :

int 13h

itp ??

Oki.. jak jeszcze sobie cos przypomne to napisze !

Pozdro 1

0
  1. czy w trybie chronionym da sie uzywac przerwan znanych z trybu rzeczywistego czyli wywolywac je poprzez :

Nie w trybie chronionym nie mozesz kokoRZystaćystać z przerwań, choc mozna to obejsc stosują tricki, ale jeśli chcesz aby twoj system był wielozadaniowy i stabilny musisz juz na dziendobry przestac korzystac z przerwac software'owych, mozesz jedynie przechwytywac przerwania hardwerowe, ale one sa specjalnie zaznaczane

0

No oki... czyli w jaki sposob moge sie dostac do np.: obslugi dysku twardego ?? Bo jezeli nie moge uzywac przerwan to chyba jedyne co mi pozostaje to odwolywac sie do portow poprzez IN i OUT co bedzie z deczka masakra :)...

0

Nie ma róży bez kolcow, jesli chcesz system niezawodny i wielozadaniowy, ktory umozliwia jednoczesne odwolywanie sie wielu programom do dysku musisz sam napisac tzw sterownik inaczej sie nie da, jesli korzystasz z tego co daje bios na dziendobry przyjmujesz ograniczenia biosa.np windowsy czy maja takowe ograniczenia ? nie one same osbsluguja dysk i niekorzystaja z przerwan w ogóle, dla nich nie istnieje cos takiego jak bios i jego przerwania.

0

Heh, oki.. to juz czaje ze bede musial przez porty wsio programowac, tylko tera podczas pisania sterownika mam kolejny problem (ahh.. bedzie ich chiba jeszcze duzo :P )

Otoz podczas pisania sterownika do HDD napotkalem nastepujacy problem: bariera pojemnosci dysku. Uporalem sie z jedna przez odwzorowanie CHS na LBA ale pozostaje nastepny. Otoz LBA adresuje do 8 GB dysku.. jak przez porty obsluzyc wiecej przestrzeni dyskowej ??

1 użytkowników online, w tym zalogowanych: 0, gości: 1