Elektroda.pl
Elektroda.pl
X
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

Włączenie trybu chronionego w DOS

AJOT74 09 Maj 2014 00:01 948 8
  • #1 09 Maj 2014 00:01
    AJOT74
    Poziom 10  

    Kod: asm
    Zaloguj się, aby zobaczyć kod

    Jest to fragment mojego programu, niestety nie mogę sobie dać rady z przejściem w tryb chroniony gdyż restartuje mi komputer. Umie ktoś pomóc?

    0 8
  • #2 09 Maj 2014 00:18
    Darkdarkman
    Poziom 29  

    Pod jakim systemem operacyjnym to uruchamiasz?

    0
  • #3 09 Maj 2014 00:20
    AJOT74
    Poziom 10  

    DOS dla Win98. -dokładniej z dyskietki startowej.

    0
  • #4 09 Maj 2014 00:27
    Darkdarkman
    Poziom 29  

    A w którym momencie program się wykłada?

    0
  • #5 09 Maj 2014 00:30
    AJOT74
    Poziom 10  

    Z tego co zauważyłem to w momencie długiego skoku po przejściu w tryb chroniony, co śmieszne to gdybym nie wykonał długiego skoku to program się wykona, ale niestety muszę wykonać ten skok gdyż ten kod tylko maluje jeden kolor na ekranie a chcę też wyświetlać np. kursor myszy i wtedy już muszę przejść całkowicie w chroniony ze względu na fakt choćby korzystania ze stosu.

    0
  • #6 09 Maj 2014 06:22
    the_fifth_horseman
    Poziom 32  

    Cytat:
    DOS dla Win98. -dokładniej z dyskietki startowej.

    Skorzystaj z wynalazku znanego jako DOSBox, jest o wiele bardziej praktyczny. :)

    0
  • #7 09 Maj 2014 07:32
    AJOT74
    Poziom 10  

    No tylko DOSBox nie obsługuje mi SVGA w rozdzielczości 1024x768.
    Pozatym zależy mi na odpaleniu tego bez jakiegokolwiek systemu.

    0
  • #8 09 Maj 2014 18:44
    AJOT74
    Poziom 10  

    Wyodrębniłem ten fragment programu do oddzielnego pliku i teraz już jestem pewny, że problemem chyba są źle stworzone tablice deskryptorów.

    Kod: asm
    Zaloguj się, aby zobaczyć kod


    Umie ktoś pomóc mi rozwiązać ten problem?

    0
  • #9 27 Maj 2014 18:41
    AJOT74
    Poziom 10  

    Dużo szukając i czytając w końcu dowiedziałem się, że system DOS uruchomiony z dyskietki startowej Win98 tak naprawdę nie działa już w trybie rzeczywistym lecz chronionym o czym zresztą mówi funkcja ax=0x1686 przerwania 0x2f. Dlatego też próby przełączenia w tryb chroniony na dodatek na najwyższym poziomi uprzywilejowania wykłada program.

    0