Facebook - konwersja
  • promocja

Praktyczny kurs asemblera. Wydanie II - ebook

Wydawnictwo:
Data wydania:
21 października 2011
Format ebooka:
EPUB
Format EPUB
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najpopularniejszych formatów e-booków na świecie. Niezwykle wygodny i przyjazny czytelnikom - w przeciwieństwie do formatu PDF umożliwia skalowanie czcionki, dzięki czemu możliwe jest dopasowanie jej wielkości do kroju i rozmiarów ekranu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, PDF
Format PDF
czytaj
na laptopie
czytaj
na tablecie
Format e-booków, który możesz odczytywać na tablecie oraz laptopie. Pliki PDF są odczytywane również przez czytniki i smartfony, jednakze względu na komfort czytania i brak możliwości skalowania czcionki, czytanie plików PDF na tych urządzeniach może być męczące dla oczu. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
, MOBI
Format MOBI
czytaj
na czytniku
czytaj
na tablecie
czytaj
na smartfonie
Jeden z najczęściej wybieranych formatów wśród czytelników e-booków. Możesz go odczytać na czytniku Kindle oraz na smartfonach i tabletach po zainstalowaniu specjalnej aplikacji. Więcej informacji znajdziesz w dziale Pomoc.
Multiformat
E-booki w Virtualo.pl dostępne są w opcji multiformatu. Oznacza to, że po dokonaniu zakupu, e-book pojawi się na Twoim koncie we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu.
(3w1)
Multiformat
E-booki sprzedawane w księgarni Virtualo.pl dostępne są w opcji multiformatu - kupujesz treść, nie format. Po dodaniu e-booka do koszyka i dokonaniu płatności, e-book pojawi się na Twoim koncie w Mojej Bibliotece we wszystkich formatach dostępnych aktualnie dla danego tytułu. Informacja o dostępności poszczególnych formatów znajduje się na karcie produktu przy okładce. Uwaga: audiobooki nie są objęte opcją multiformatu.
czytaj
na laptopie
Pliki PDF zabezpieczone watermarkiem możesz odczytać na dowolnym laptopie po zainstalowaniu czytnika dokumentów PDF. Najpowszechniejszym programem, który umożliwi odczytanie pliku PDF na laptopie, jest Adobe Reader. W zależności od potrzeb, możesz zainstalować również inny program - e-booki PDF pod względem sposobu odczytywania nie różnią niczym od powszechnie stosowanych dokumentów PDF, które odczytujemy każdego dnia.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na tablecie
Aby odczytywać e-booki na swoim tablecie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. Bluefire dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na czytniku
Czytanie na e-czytniku z ekranem e-ink jest bardzo wygodne i nie męczy wzroku. Pliki przystosowane do odczytywania na czytnikach to przede wszystkim EPUB (ten format możesz odczytać m.in. na czytnikach PocketBook) i MOBI (ten fromat możesz odczytać m.in. na czytnikach Kindle).
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.
czytaj
na smartfonie
Aby odczytywać e-booki na swoim smartfonie musisz zainstalować specjalną aplikację. W zależności od formatu e-booka oraz systemu operacyjnego, który jest zainstalowany na Twoim urządzeniu może to być np. iBooks dla EPUBa lub aplikacja Kindle dla formatu MOBI.
Informacje na temat zabezpieczenia e-booka znajdziesz na karcie produktu w "Szczegółach na temat e-booka". Więcej informacji znajdziesz w dziale Pomoc.

Praktyczny kurs asemblera. Wydanie II - ebook

Wejdź w świat programowania w języku asemblera

  • Dowiedz się, kiedy użycie asemblera jest niezbędne
  • Poznaj zasady programowania w asemblerze
  • Napisz szybkie i wydajne programy dla DOS-a i Windows
  • Zdobądź wiedzę o zasadach działania procesora i pamięci

Uważasz, że możliwości języków programowania wysokiego poziomu nie pozwalają na napisanie programu, którego potrzebujesz? Chcesz stworzyć sterownik, program rezydentny, demo lub... wirusa? Interesuje Cię, co dzieje się w komputerze podczas wykonywania programu?

Wykorzystaj potencjał asemblera!

Programowanie w języku niskiego poziomu daje niemal nieograniczoną kontrolę nad sprzętem i działaniem aplikacji. Programy napisane w języku asemblera działają szybko, są niewielkie i zajmują mało pamięci. Są bardzo wydajne i otwierają dostęp do takich obszarów komputera, do których dostęp z poziomu C++ czy Visual Basica jest niemożliwy.

Książka "Praktyczny kurs asemblera" wprowadzi Cię w świat programowania w tym języku. Dowiesz się, jak działa procesor, w jaki sposób komunikuje się z pamięcią i pozostałymi elementami komputera. Poznasz typy rozkazów procesora, tryby adresowania i zasady tworzenia programów w asemblerze. Lepiej poznasz swój komputer i dowiesz się, w jaki sposób zapamiętuje i przetwarza dane. Komputer przestanie być dla Ciebie "czarną skrzynką" wykonującą w czarodziejski sposób Twoje polecenia.

  • Podstawowe wiadomości o architekturze procesorów Intel
  • Organizacja pamięci i tryby adresowania
  • Omówienie listy rozkazów procesora
  • Narzędzia do tworzenia programów w języku asemblera
  • Struktura programu w asemblerze
  • Definiowanie zmiennych
  • Tworzenie podprogramów i makrorozkazów
  • Wykorzystanie funkcji BIOS-a oraz MS-DOS
  • Programy w asemblerze uruchamiane w systemie Windows
  • Optymalizacja kodu
  • Tworzenie modułów dla innych języków programowania

Po przeczytaniu tej książki przestaniesz postrzegać asemblera jako zbiór magicznych zaklęć, zrozumiałych jedynie dla brodatych guru pamiętających jeszcze czasy komputerów zajmujących powierzchnię sali gimnastycznej. Napiszesz programy, których uruchomienie nie będzie wymagało od użytkownika posiadania superkomputera. Poznasz wszystkie, nawet najgłębiej ukryte, możliwości komputera.

Spis treści

Ostatni wykład Eugeniusza Wróbla (7)

Wprowadzenie do drugiego wydania (9)

Rozdział 1. Wprowadzenie (11)

  • 1.1. Co to jest asembler? (11)
  • 1.2. Dlaczego programować w języku asemblera? (14)
  • 1.3. Dlaczego warto poznać język asemblera? (16)
  • 1.4. Wymagane umiejętności (16)
  • 1.5. Konwencje stosowane w książce (17)

Rozdział 2. Pierwszy program w asemblerze (21)

  • 2.1. "Hello, world!" pod kontrolą systemu operacyjnego MS DOS (22)
  • 2.2. "Hello, world!" pod kontrolą systemu operacyjnego Windows (25)

Rozdział 3. Architektura procesorów rodziny x86-32 widziana oczami programisty (33)

  • 3.1. Rejestry procesora 8086 (34)
  • 3.2. Zwiększamy rozmiar rejestrów - od procesora 80386 do Intel Core i7 (38)
  • 3.3. Zwiększamy liczbę rejestrów - od procesora i486 do Intel Core i7 (39)
  • 3.4. Segmentowa organizacja pamięci (44)
  • 3.5. Adresowanie argumentów (48)
  • 3.6. Adresowanie argumentów w pamięci operacyjnej (49)
  • 3.7. Architektura x86-32e (52)

Rozdział 4. Narzędzia (55)

  • 4.1. Asembler MASM (56)
  • 4.2. Program konsolidujący - linker (60)
  • 4.3. Programy uruchomieniowe (62)
    • Microsoft CodeView (64)
    • Microsoft WinDbg (67)
    • OllyDbg (68)
  • 4.4. Środowiska zintegrowane (70)
    • Microsoft Programmer's WorkBench (PWB) (70)
    • Środowisko zintegrowane MASM32 SDK (71)
    • Środowisko zintegrowane RadASM (74)
    • WinAsm Studio (74)
  • 4.5. Microsoft Visual Studio (75)

Rozdział 5. Lista instrukcji procesorów x86-32 (81)

  • 5.1. Instrukcje ogólne - jednostki stałoprzecinkowej (84)
  • 5.2. Koprocesor arytmetyczny - instrukcje jednostki zmiennoprzecinkowej (87)
  • 5.3. Instrukcje rozszerzenia MMX (90)
  • 5.4. Instrukcje rozszerzenia SSE (93)
  • 5.5. Instrukcje rozszerzenia SSE2 (97)
  • 5.6. Instrukcje rozszerzenia SSE3, SSSE3 oraz SSE4 (100)
  • 5.7. Instrukcje systemowe (101)
  • 5.8. Planowane rozszerzenie AVX (102)

Rozdział 6. Ogólna struktura programu asemblerowego (105)

  • 6.1. Uproszczone dyrektywy definiujące segmenty (105)
  • 6.2. Pełne dyrektywy definiowania segmentów (111)
  • 6.3. Dyrektywy pomocnicze (114)

Rozdział 7. Definiowanie i stosowanie zmiennych (123)

  • 7.1. Zmienne całkowite (124)
  • 7.2. Zmienne zmiennoprzecinkowe (127)
  • 7.3. Definiowanie tablic i łańcuchów (128)
  • 7.4. Struktury zmiennych (130)
  • 7.5. Dyrektywa definiująca pola bitowe (133)

Rozdział 8. Podprogramy (137)

  • 8.1. Stos (137)
  • 8.2. Wywołanie i organizacja prostych podprogramów (140)
  • 8.3. Dyrektywa PROC - ENDP (141)
  • 8.4. Parametry wywołania podprogramu (146)
  • 8.5. Zmienne lokalne (155)

Rozdział 9. Makroinstrukcje oraz dyrektywy asemblacji warunkowej (157)

  • 9.1. Makroinstrukcja definiowana (157)
  • 9.2. Dyrektywa LOCAL (162)
  • 9.3. Dyrektywy asemblacji warunkowej (163)
  • 9.4. Makroinstrukcje niedefiniowane (166)
  • 9.5. Makroinstrukcje tekstowe (167)
  • 9.6. Makroinstrukcje operujące na łańcuchach (na tekstach) (168)

Rozdział 10. Funkcje systemu MS DOS oraz BIOS (171)

  • 10.1. Co ma prawo przerwać wykonanie naszego programu? (171)
  • 10.2. Obsługa klawiatury oraz funkcje grafiki na poziomie BIOS (174)
  • 10.3. Wywoływanie podprogramów systemu operacyjnego MS DOS (180)

Rozdział 11. Programowanie w asemblerze w środowisku Windows (187)

  • 11.1. Systemowe programy biblioteczne (188)
  • 11.2. Pierwsze okno (191)
  • 11.3. Struktury programowe typu HLL (197)
  • 11.4. Program generatora okien Prostart (199)

Rozdział 12. Wybrane zagadnienia optymalizacji programu (207)

  • 12.1. Kiedy i co powinniśmy optymalizować w programie? (209)
  • 12.2. Optymalizujemy program przygotowany dla procesora x86-32 (211)
    • Modele pamięci - mieszanie kodów 16- i 32-bitowych (211)
    • Wyrównywanie danych (212)
    • Pamięć podręczna (213)
    • Unikanie rozgałęzień (skoków) (215)
    • Opóźnienia wynikające z pierwszego wykonania oraz rozwijanie pętli (216)
    • Opóźnienia związane z zapisywaniem i odczytywaniem (217)
  • 12.3. Wspieramy proces optymalizacji za pomocą programu Vtune (218)
  • 12.4. Na ile różnych sposobów możemy zakodować kopiowanie tablic? (219)
    • Metoda 1.: Z wykorzystaniem instrukcji MOVSB (221)
    • Metoda 2.: Z wykorzystaniem instrukcji MOVSD (221)
    • Metoda 3.: Jawna pętla z instrukcjami MOV (222)
    • Metoda 4.: Pętla z instrukcją MOV, rozwinięta (222)
    • Metoda 5.: Pętla rozwinięta, grupowanie operacji odczytu i zapisu (223)
    • Metoda 6.: Wykorzystujemy rejestry MMX (223)
    • Metoda 7.: Modyfikujemy metodę 6., stosując instrukcje MOVNTQ i SFENCE (224)
    • Metoda 8.: Na początku pętli z poprzedniej metody wprowadzamy instrukcję pobrania wstępnego do pamięci podręcznej (225)
    • Metoda 9.: Wykorzystujemy 128-bitowe rejestry rozszerzenia SSE (225)

Rozdział 13. Podział programu na moduły i łączenie modułów zakodowanych w różnych językach programowania (227)

  • 13.1. Jak realizować połączenia międzymodułowe? (228)
  • 13.2. Mieszamy moduły przygotowane w różnych językach (232)

Rozdział 14. Tworzenie projektu asemblerowego w środowisku Microsoft Visual Studio (239)

  • 14.1. Wstawki asemblerowe w programie uruchamianym w języku C++ (239)
  • 14.2. Asemblerowa biblioteka dll w środowisku Microsoft Visual Studio (245)

Rozdział 15. Przykładowe programy dla systemu operacyjnego MS DOS (251)

  • 15.1. Pierwsze kroki w prostym trybie graficznym (252)
  • 15.2. Pozorujemy głębię (255)
  • 15.3. Generowanie fraktali (258)

Rozdział 16. Przykładowe programy dla systemu operacyjnego Windows (265)

  • 16.1. Zegarek (265)
  • 16.2. Wykorzystanie biblioteki OpenGL (270)
  • 16.3. Prosty edytor graficzny (273)

Rozdział 17. Biblioteki asemblerowe w środowisku Microsoft Visual Studio (293)

  • 17.1. Tworzenie projektu asemblerowego dla środowiska Visual Studio 2008 (293)
  • 17.2. Szyfrowanie (301)
  • 17.3. Edytor graficzny (307)
  • 17.4. Steganografia (312)

Załącznik 1. Interesujące strony w internecie (317)

Załącznik 2. Lista dyrektyw i pseudoinstrukcji języka MASM (319)

  • Z2.1. Dyrektywy określające listę instrukcji procesora (319)
  • Z2.2. Organizacja segmentów (321)
  • Z2.3. Definiowanie stałych oraz dyrektywy związane z nazwami symbolicznymi (323)
  • Z2.4. Definiowanie zmiennych (324)
  • Z2.5. Dyrektywy asemblacji warunkowej (326)
  • Z2.6. Makroinstrukcje i dyrektywy z nimi związane (327)
  • Z2.7. Pseudoinstrukcje typu HLL (329)
  • Z2.8. Dyrektywy związane z podprogramami (329)
  • Z2.9. Dyrektywy wpływające na kształt listingu asemblacji (330)
  • Z2.10. Połączenia międzymodułowe (332)
  • Z2.11. Dyrektywy związane z diagnostyką procesu asemblacji (333)
  • Z2.12. Inne dyrektywy i pseudoinstrukcje (334)

Załącznik 3. Operatory stosowane w języku MASM (337)

  • Z3.1. Operatory stosowane w wyrażeniach obliczanych w czasie asemblacji (337)
  • Z3.2. Operatory stosowane w wyrażeniach obliczanych w czasie wykonywania programu (341)

Załącznik 4. Symbole predefiniowane (343)

Załącznik 5. Przegląd instrukcji procesora x86-32 (347)

  • Z5.1. Instrukcje ogólne (jednostki stałoprzecinkowej) (347)
  • Z5.2. Instrukcje jednostki zmiennoprzecinkowej (koprocesora arytmetycznego) (354)
  • Z5.3. Instrukcje rozszerzenia MMX (357)
  • Z5.4. Instrukcje rozszerzenia SSE (360)
  • Z5.5. Instrukcje rozszerzenia SSE2 (363)
  • Z5.6. Instrukcje rozszerzenia SSE3 (367)
  • Z5.7. Instrukcje systemowe (368)

Załącznik 6. Opis wybranych przerwań systemu BIOS (371)

  • Z6.1. Funkcje obsługi klawiatury wywoływane przerwaniem programowym INT 16h (371)
  • Z6.2. Funkcje obsługi karty graficznej wywoływane przerwaniem programowym INT 10h (373)

Załącznik 7. Wywołania funkcji systemu operacyjnego MS DOS (379)

  • Z7.1. Funkcje realizujące odczyt lub zapis znaku z układu wejściowego lub wyjściowego (379)
  • Z7.2. Funkcje operujące na katalogach (381)
  • Z7.3. Operacje na dysku (381)
  • Z7.4. Operacje na plikach (zbiorach) dyskowych (383)
  • Z7.5. Operacje na rekordach w pliku (385)
  • Z7.6. Zarządzanie pamięcią operacyjną (386)
  • Z7.7. Funkcje systemowe (387)
  • Z7.8. Sterowanie programem (388)
  • Z7.9. Funkcje związane z czasem i datą (389)
  • Z7.10. Inne funkcje (390)

Załącznik 8. Opis wybranych funkcji API (391)

  • Z8.1. CheckDlgButton (391)
  • Z8.2. CloseHandle (392)
  • Z8.3. CopyFile (393)
  • Z8.4. CreateFile (394)
  • Z8.5. CreateWindowEx (396)
  • Z8.6. DeleteFile (399)
  • Z8.7. ExitProcess (399)
  • Z8.8. GetFileSize (400)
  • Z8.9. MessageBox (400)
  • Z8.10. ShowWindow (403)

Załącznik 9. Tablica kodów ASCII oraz kody klawiszy (405)

  • Z9.1. Kody ASCII (405)
  • Z9.2. Kody klawiszy (405)

Załącznik 10. FTP wydawnictwa (411)

Skorowidz (413)

Kategoria: Programowanie
Zabezpieczenie: Watermark
Watermark
Watermarkowanie polega na znakowaniu plików wewnątrz treści, dzięki czemu możliwe jest rozpoznanie unikatowej licencji transakcyjnej Użytkownika. E-książki zabezpieczone watermarkiem można odczytywać na wszystkich urządzeniach odtwarzających wybrany format (czytniki, tablety, smartfony). Nie ma również ograniczeń liczby licencji oraz istnieje możliwość swobodnego przenoszenia plików między urządzeniami. Pliki z watermarkiem są kompatybilne z popularnymi programami do odczytywania ebooków, jak np. Calibre oraz aplikacjami na urządzenia mobilne na takie platformy jak iOS oraz Android.
ISBN: 978-83-246-3800-0
Rozmiar pliku: 11 MB

BESTSELLERY

Kategorie: