   #Start Next Contents

   Jak pisac programy w jezyku asembler?

Wstep - Dlaczego DOS?

   Niektorzy z Was moga sie dziwic, czemu napisalem kurs dla DOS-a -
   systemu, ktorego niewiele osob juz dzis uzywa, a ktorego programow nie
   mozna juz nawet bezposrednio uruchomic na wspolczesnych (64-bitowych)
   systemach.

   Powodow jest kilka i postaram sie je tutaj przedstawic.
    1. Po pierwsze, gdy pisalem kurs, program dla DOS-a mozna bylo
       spokojnie kompilowac oraz uruchamiac na (32-bitowym) Windows oraz
       na FreeDOS. Na FreeDOS dalej mozna to robic, oczywiscie.
    2. Interfejs systemowy DOS-a sklada sie z jednej instrukcji - zawsze
       jest to int 21h.
    3. Nie trzeba tlumaczyc, ze nie ma takiej instrukcji procesora jak
       invoke (wywolanie WinAPI) i ze jest to makro, ani co to jest makro
       oraz co w sobie zawiera i dlaczego akurat to.
    4. Nie potrzeba osobnych sekcji w programie na importy z DLL-i.
    5. Nie trzeba wiedziec, w ktorym DLL-u (np. kernel32.dll) dana
       funkcja sie znajduje.
    6. Czasem nie potrzeba nawet linkowania programu (w przypadku
       programow typu .com).
    7. Nie trzeba tlumaczyc aspektow trybow pracy procesora - czemu rozne
       programy "nie widza" ani kodu systemu operacyjnego, ani sie
       wzajemnie.

   To wszystko czyni programy dla DOS-a latwymi w napisaniu, kompilowaniu
   i wytlumaczeniu.

   Programy pisane pod DOS-a w dalszym ciagu mozna uruchamiac na
   wspomnianym FreeDOS-ie, ale mamy tez inne narzedzia:
     * DOSBox (sam uzywam - dziala bardzo dobrze),
     * DOSEmu / DOSEmu2,
     * Bochs, - na przyklad do zainstalowania sobie FreeDOS-a w
       wirtualnej maszynie lub testowania swoich wlasnych systemow
       operacyjnych,
     * VirtualBox - na przyklad do zainstalowania sobie FreeDOS-a w
       wirtualnej maszynie.

   Jesli moje tlumaczenia Was przekonuja, to zapraszam do rozpoczecia
   przygody z asemblerem.

   Pierwsza czesc kursu (klawisz dostepu 4)
   Spis tresci off-line (klawisz dostepu 1)
   Spis tresci on-line (klawisz dostepu 2)
   Ulatwienia dla niepelnosprawnych (klawisz dostepu 0)
