reklama - zainteresowany?

Praktyczny kurs asemblera. Wydanie II - Helion

Praktyczny kurs asemblera. Wydanie II
ebook
Autor: Eugeniusz Wróbel
ISBN: 978-83-246-3800-0
stron: 424, Format: ebook
Data wydania: 2011-10-21
Księgarnia: Helion

Cena książki: 51,75 zł (poprzednio: 69,00 zł)
Oszczędzasz: 25% (-17,25 zł)

Dodaj do koszyka Praktyczny kurs asemblera. Wydanie II

Tagi: Asembler - Programowanie | programowanie-kupon

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.

Dodaj do koszyka Praktyczny kurs asemblera. Wydanie II

 

Osoby które kupowały "Praktyczny kurs asemblera. Wydanie II", wybierały także:

  • Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX
  • Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX
  • Asembler. Programowanie
  • Asembler dla procesorów ARM. PodrÄ™cznik programisty
  • Asembler. Leksykon kieszonkowy

Dodaj do koszyka Praktyczny kurs asemblera. Wydanie II

Spis treści

Praktyczny kurs asemblera. Wydanie II eBook -- 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)

Dodaj do koszyka Praktyczny kurs asemblera. Wydanie II

Code, Publish & WebDesing by CATALIST.com.pl



(c) 2005-2024 CATALIST agencja interaktywna, znaki firmowe należą do wydawnictwa Helion S.A.