Autor: Peter Abel
ISBN: 83-7243-411-5
Ilość stron: 600
Data wydania: 2004
Książka "Asembler IBM PC programowanie" jest zarówno podręcznikiem programowania w języku asemblerowym, jak i wygodnym informatorem. Możesz uczyć się języka od podstaw, analizując przykładowe programy i przerabiając ćwiczenia, które znajdują się na końcu każdego rozdziału oraz w witrynie autora.
A jeśli już piszesz własne programy asemblerowe, możesz sięgać do tabel z wykazami kodów poszczególnych znaków i klawiszy oraz do opisów poszczególnych rozkazów, dyrektyw i operatorów, aby przypomnieć sobie ich składnię. Autor przybliża nam działanie poszczególnych podsystemów komputera i kolejno wprowadza dotyczące ich rozkazy.
Omawia działanie rejestrów, sposoby adresowania pamięci, działania arytmetyczne, format dwójkowy, ASCII i BCD, przetwarzanie ciągów, operacje ekranowe i klawiaturowe, przeszukiwanie i sortowanie tabel, posługiwanie się myszą, przetwarzanie dyskowe, drukowanie, makrorozkazy, podprogramy i nakładki.
Uczy pisać programy .EXE i .COM, asemblować je i linkować oraz śledzić ich wykonywanie za pomocą debugera. Wiele przykładowych programów i fragmentów kodu ilustruje omawiany materiał i pozwala lepiej go zrozumieć. W przykładach zostały wykorzystane podstawowe rozkazy i metody, chociaż zawodowi programiści być może zastosowaliby inne, ale mniej przejrzyste rozwiązania.
Jednak dopiero po opanowaniu tych podstaw przyjdzie czas na stosowanie technik profesjonalistów. Nauka języka asemblerowego i tworzenie programów to ekscytujące doświadczenie i spore wyzwanie. Jednak efekty warte są wysiłku włożonego w naukę i dlatego warto sięgnąć po tę książkę.
Spis treści: Wstęp
Część A. Podstawy sprzętu i oprogramowania komputera osobistego
Rozdział 1 Podstawowe cechy sprzętu komputera osobistego
- Wprowadzenie
- Bity i bajty
- System dwójkowy
- Reprezentacja szesnastkowa
- Kod ASCII
- Części komputera osobistego
- Pamięć wewnętrzna
- Segmenty i adresowanie
- Rejestry
- Rejestry wskaźnikowe
- Przerwania sprzętowe
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 2 Adresowanie i wykonywanie rozkazów
- Wprowadzenie
- System operacyjny
- Biosowa procedura rozruchowa
- Program ładujący system
- Stos
- Adresowanie rozkazów
- Argumenty rozkazu
- Tryb chroniony
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 3 Badanie pamięci komputera i wykonywanie rozkazów
- Wprowadzenie
- Posługiwanie się programem DEBUG
- Przeglądanie lokacji pamięci
- Przykład I języka maszynowego: Dane bezpośrednie
- Przykład II języka maszynowego: Zdefiniowane dane
- Program w języku asemblerowym
- Posługiwanie się rozkazem INT
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Część B. Podstawy języka asemblerowego
Rozdział 4 Zasady programowania w języku asemblerowym
- Wprowadzenie
- Elementy języka
- Klasyczne dyrektywy segmentowe
- Uproszczone dyrektywy segmentowe
- Inicjalizowanie w trybie chronionym
- Definiowanie typów danych
- Dyrektywy przyrównywania
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 5 Asemblowanie, linkowanie i wykonywanie programów
- Wprowadzenie
- Przygotowanie programu do asemblowania i wykonywania
- Dwa przebiegi asemblera
- Linkowanie programu obiektowego
- Wykonywanie programu
- Listing odwołań skrośnych
- Informacje diagnostyczne o błędach
- Licznik lokacji asemblera
- Pisanie programów .COM
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 6 Rozkazy symboliczne i adresowanie
- Wprowadzenie
- Przegląd rozkazów symbolicznych
- Rozkazy transferu danych
- Podstawowe rozkazy arytmetyczne
- Wielokrotne operacje kopiowania
- Rozkaz INT
- Tryby adresowania
- Przedrostek przesłaniający segment
- Adresy bliskie i dalekie
- Wyrównywanie adresów danych
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 7 Struktura logiczna programu i sterowanie nim
- Wprowadzenie
- Adresy krótkie, bliskie i dalekie
- Rozkaz JMP
- Rozkaz LOOP
- Rejestr Flags
- Rozkaz CMP
- Rozkazy skoków warunkowych
- Wywoływanie procedur
- Jak wykonywanie programu wpływa na stos?
- Operacje logiczne
- Przesunięcie bitów
- Obracanie bitów
- Nadawanie programowi struktury
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Część C. Operacje graficzne i klawiaturowe
Rozdział 8 Wstęp do przetwarzania danych graficznych i z klawiatury
- Wprowadzenie
- Właściwości ekranu
- Ustawianie kursora
- Czyszczenie ekranu
- Przerwanie INT 21H z funkcją 09H: Wyświetlanie na ekranie
- Przerwanie INT 21H z funkcją 0AH: Pobieranie z klawiatury
- Przerwanie INT 21H z funkcją 02H: Wyświetlanie znaku na ekranie
- Obsługa plików
- Przerwanie INT 21H z funkcją 40H: Wyświetlanie na ekranie
- Przerwanie INT 21H z funkcją 3FH: Pobieranie danych z klawiatury
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 9 Systemy wideo
- Wprowadzenie
- Elementy systemu wideo
- Tryby wideo
- Atrybuty
- Biosowe operacje INT 10H
- Wykorzystanie trybów graficznych
- Znaki ASCII w ramkach i menu
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 10 Operacje klawiaturowe
- Wprowadzenie
- Obszar danych klawiatury w BIOS-ie
- Operacje przerwania INT 21H - dane wejściowe z klawiatury
- Operacje przerwania INT 16H - dane wejściowe z klawiatury
- Rozszerzone klawisze funkcyjne i kody klawiszy
- Biosowe przerwanie INT 09H i bufor klawiatury
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Część D. Operowanie danymi
Rozdział 11 Przetwarzanie ciągów
- Wprowadzenie
- Właściwości operacji ciągowych
- MOVS: Rozkaz kopiujący ciąg
- LODS: Rozkaz ładujący ciąg
- STOS: Rozkaz zapisujący ciąg
- Program: Wykorzystanie rozkazów LODS i STOS do edytowania danych
- CMPS: Rozkaz porównujący ciągi
- SCAS: Rozkaz skanujący ciąg
- Alternatywne sposoby zapisywania rozkazów ciągowych
- Powielanie wzoru
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 12 Arytmetyka I: Przetwarzanie danych dwójkowych
- Wprowadzenie
- Przetwarzanie danych dwójkowych bez znaku i ze znakiem
- Dodawanie i odejmowanie danych dwójkowych
- Mnożenie danych dwójkowych
- Dzielenie danych dwójkowych
- Procesor danych liczbowych
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 13 Arytmetyka II: Przetwarzanie danych ASCII i BCD
- Wprowadzenie
- Dane w formacie dziesiętnym
- Przetwarzanie danych ASCII
- Konwersja z formatu ASCII do dwójkowego
- Konwersja z formatu dwójkowego do ASCII
- Przesuwanie i zaokrąglanie iloczynu
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 14 Definiowanie i przetwarzanie tablic
- Wprowadzenie
- Definiowanie tablic
- Bezpośrednie adresowanie tablicy
- Przeszukiwanie tablicy
- Rozkaz XLAT
- Sortowanie wpisów w tablicy
- Tablice adresów
- Dwuwymiarowe tablice
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Część E. Zaawansowane operacje wejścia i wyjścia
Rozdział 15 Posługiwanie się myszą
- Wprowadzenie
- Podstawowe operacje myszy
- Program: Wyświetlanie położenia myszy
- Zaawansowane operacje myszy
- Program: Wybieranie opcji menu za pomocą myszy
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 16 Dyski I: Struktura
- Wprowadzenie
- Charakterystyka urządzeń pamięciowych
- Obszar systemu i obszar danych na dysku
- Rekord startowy
- Katalog
- Tablica alokacji plików
- Przetwarzanie plików na dysku
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 17 Dyski II: Zapisywanie i odczytywanie plików
- Wprowadzenie
- Ciągi ASCIIZ
- Uchwyt pliku
- Zwracane kody błędu
- Wskaźnik pliku
- Tworzenie plików dyskowych
- Odczytywanie plików dyskowych
- Przetwarzanie swobodne
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 18 Dyski III: Funkcje przerwania INT 21H obsługujące dyski i pliki
- Wprowadzenie
- Operacje obsługujące stacje dysków
- Operacje obsługujące katalog i tablicę
- Operacje obsługujące pliki dyskowe
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 19 Dyski IV: Funkcje dyskowe przerwania INT 13H
- Wprowadzenie
- Biosowy bajt stanu
- Podstawowe operacje dyskowe przerwania INT 13H
- Inne operacje dyskowe przerwania INT 13H
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 20 Drukowanie
- Wprowadzenie
- Standardowe znaki sterujące drukarką
- Funkcja 40H przerwania INT 21H: Drukowanie znaków
- Specjalne znaki sterujące drukarką
- Funkcje drukujące biosowego przerwania INT 17H
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Część F. Zagadnienia specjalne
Rozdział 21 Definiowanie i stosowanie makr
- Wprowadzenie
- Definicje prostych makr
- Parametry makra
- Komentarze w makrach
- Makra zagnieżdżone
- Dyrektywy makr
- Dołączanie makr z biblioteki
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 22 Linkowanie podprogramów
- Wprowadzenie
- Dyrektywa SEGMENT
- Wywołania wewnątrzsegmentowe
- Wywołania międzysegmentowe
- Atrybuty EXTRN i PUBLIC
- Wykorzystanie dyrektyw EXTRN i PUBLIC jako punktu wejścia
- Definiowanie segmentu kodu jako publicznego
- Wykorzystanie uproszczonych dyrektyw segmentowych
- Przekazywanie parametrów podprogramowi
- Rozkazy ENTER i LEAVE
- Linkowanie programu w języku C/C++ z programem asemblerowym
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 23 Ładowanie programów i nakładki
- Wprowadzenie
- Przedrostek segmentowy programu
- Obszar pamięci wysokiej
- Strategia przydzielania pamięci
- Program ładujący
- Przydzielanie i zwalnianie pamięci
- Ładowanie lub wykonywanie funkcji programu
- Nakładki programu
- Programy rezydentne
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Część G. Przewodnik
Rozdział 24 Obszary danych BIOS-u, przerwania i porty
- Wprowadzenie
- Procedura rozruchowa
- Obszar danych BIOS-u
- Przerwania
- Przerwania biosowe
- Usługi przerwania INT 21H
- Porty
- Rozkazy INSn i OUTSn
- Generowanie dźwięku
- Podsumowanie
- Pytania i ćwiczenia kontrolne
Rozdział 25 Operatory i dyrektywy
- Wprowadzenie
- Specyfikatory typu
- Operatory
- Dyrektywy
Rozdział 26 Zestaw rozkazów komputera osobistego
- Wprowadzenie
- Notacja rejestrowa
- Bajt trybu adresowania
- Zestaw rozkazów
Dodatki:
Dodatek A Konwersja między systemem dziesiętnym i szesnastkowym
- Konwersja liczby szesnastkowej na dziesiętną
- Konwersja liczby dziesiętnej na szesnastkową
Dodatek B Kody znaków ASCII
Dodatek C Program DEBUG
Dodatek D Słowa zastrzeżone
Dodatek E Asemblowanie i linkowanie programów
- Microsoft MASM 6.1
- Microsoft MASM 5.1
- Borland Turbo Assembler (TASM)
- Tablice asemblera
Dodatek F Kody klawiszy i kody ASCII
Asembler IBM PC programowanie --- Pozycja niedostępna.---
|