Stanisław Kruk: Asembler. Podręcznik użytkownika
Stan dobry. Zauważone defekty:
- drobne przybrudzenia okładki
- drobne uszkodzenia okładki
Z okładki
„»Asembler — Podręcznik użytkownika« jest książką dla wszystkich. Można się z niej nauczyć, jak zdobywać umiejętności swoistego podróżowania po wnętrzu komputera PC. Na tę niezwykłą podróż zabierze Cię Czytelniku Asembler, który odsłoni przed Tobą tajemnice ukryte w krzemowym świecie, pełnym piękna i harmonii. Wgłębiając się w ten przewodnik poznasz też wiele pojęć, a wśród nich:
- adres
- mnemonik
- model pamięci
- offset
- pamięć
- program
- tryb adresowania
- przechowywanie odwrotne
- przerwanie
- PSP
- rejestr
- rozkaz
- segment
… a wszystko to z udziałem magicznych cyfr: 1 i 0”
„Stanisław Kruk ukończył uniwersyteckie studia fizyki oraz podyplomowe studium informatyki. Oprócz zagadnień związanych z informatyką interesuje się filozofią przyrody, astronomią oraz niektórymi gatunkami poezji. Podręcznik użytkownika Asemblera jest jedenastą książką w jego dorobku poświęconą zagadnieniom informatyki.”
Ze strony redakcyjnej
„Książka uczy posługiwania się asemblerem pozwalając czytelnikom na zapoznanie się z podróżami po wnętrzu komputera. Asembler to narzędzie, które pozwala władać komputerem na poziomie niedostępnym dla przeciętnego użytkownika.
Autor kolejno opisuje rejestry komputera oraz jego oprogramowanie systemowe. Następnie wprowadza czytelników w zasady budowy programów w języku asemblera. Oddzielne miejsce zostało przeznaczone na omówienie przerwań.
Książkę zamykają dodatki, które dotyczą między innymi arytmetyki dwójkowej i szesnastkowej oraz prezentują listę rozkazów procesora Pentium.”
Od autora
„Jest tak wiele rzeczy i zjawisk na Świecie, iż często stajemy bezradni wobec tysięcy nowych pojęć. Próba dotknięcia ich naszymi zmysłami nie zawsze bywa udana. Może robimy to zbyt po amatorsku, a może brak nam wystarczającej wiedzy do zrozumienia tego, co próbujemy badać. Napiszmy literkę czy narysujmy kreskę na papierze. Nawet nie zdajemy sobie sprawy, ile w tym czasie musiało zajść w naszym wnętrzu, by stworzona została literka czy kreska. Rozbicie całości na części, na kawałki, po to tylko, by móc zrozumieć całość. Z, pozoru przewrotna to myśl, chociaż po chwili dojdziemy do wniosku, iż tak nie jest. To jest normalne. Na pewno niejeden z nas młodych badaczy — czy dorosłych — badał świat »rozbierając go na części«, na kawałki, niezależnie od tego, czy tym »Światem« był zegarek, radioodbiornik, kalkulator, czy wreszcie, komputer. Nieważne, czego to badanie dotyczyło, ważne w tym wszystkim było to, iż uczyliśmy się dostrzegać, w jakim celu to zostało tak skonstruowane.
W komputerze naciskamy klawisz [Enter] czy klawisz myszki i od tej chwili zaczyna się coś dziać, komputer wyświetla, gra, bawi itp. Ale co takiego się stało, że tak mały impuls wywołał taką lawinę zjawisk. W fizyce opisującej zjawiska atmosferyczne efekt taki przyjęło się nazywać efektem motyla. Jeden drobny ruch skrzydeł motyla wywoła trąbę powietrzną kilkaset kilometrów dalej, zjawiska niestacjonarne, trudne do przewidzenia. W przypadku komputera może nie ma aż takich nieprzewidywalnych zjawisk, chyba ze po [Enter] zaczyna się nieoczekiwane kasowanie dysku pełnego danych. Widocznie nieuważnie przeczytaliśmy jakieś polecenie lub ktoś zrobił nam brzydką »niespodziankę« bądź też ożywiliśmy potwora z głębin pamięci. Rodem jak z Asemblera. No właśnie, Asembler, to takie tajemnicze, niebezpieczne…, ale i chyba zarazem ciekawe narzędzie. Taka czarodziejska retorta. Musi być we właściwych rękach, aby coś złego się nie stało. Nie jest to takie zwykłe narzędzie, którym większość programistów się posługuje. Przy jego użyciu obejmiesz władzę nad całym komputerem, nad jego zasobami, nad dyskiem, pamięcią, nad »najodleglejszymi« i »ciemnymi« zakątkami Twojej maszyny. I o tym będzie ta książka, książka dla wszystkich.”
Spis treści
Od Autora
1. Podstawy Asemblera
1.1. Natura języka Asembler
1.2. Architektura sprzętowa komputera
1.3. Powstawanie i rozwój języka Asembler
1.4. O użyteczności programów
1.5. Procesory, pamięć i jej adresowanie; przechowywanie odwrotne
1.6. Wejście/wyjście
1.7. Przerwania; wektory przerwań
2. Rejestry
2.1. Rejestry powszechnego zastosowania
2.2. Rejestry wskaźnikowe i indeksowe
2.3. Rejestry segmentowe
2.4. Wskaźnik rozkazów
2.5. Rejestr znaczników
3. Oprogramowanie systemowe DOS i BIOS
3.1. Funkcje BIOS
4. „Towarzysze” głównego procesora
5. Program uruchomieniowy DEBUG
5.1. Polecenia
5.2. Proste programy pod DEBUG-iem
5.3. Zalety, wady, możliwości programu DEBUG
6. Podstawy konstruowania programów w języku Asembler
6.1. Pole etykiety
6.2. Pole operacji (pole mnemonika)
6.3. Pole argumentów (operandów)
6.4. Pole komentarza
7. Tablica wektorów przerwań
8. Dwa przerwania najczęściej używane w programach asemblerowych
Dodatek A. Kod ASCII
Dodatek B. Potęgi liczby 2 i liczby 16
Dodatek C. Arytmetyka dwójkowa i szesnastkowa
C.1. Zamiana liczby dziesiętnej na dwójkową i odwrotnie
C.2. Zamiana liczby dziesiętnej na szesnastkową i odwrotnie
C.3. Dodawanie liczb dwójkowych i szesnastkowych
Dodatek D. Lista rozkazów procesora Pentium — opis ogólny
D.1. Rozkazy zaimplementowane w technologii MMX
D.2. Rozkazy koprocesora, FPU
Dodatek E. Mały słownik asemblerowy
Skorowidz