Facebook - konwersja
Pobierz fragment

Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX - ebook

Wydawnictwo:
Tłumacz:
Data wydania:
20 listopada 2023
Format ebooka:
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.
, 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.
, 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.
Pobierz fragment
77,00

Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX - ebook

Nauka programowania w asemblerze bywa frustrująca. Język ten jest trudny i nie wybacza błędów. Jednak przebrnięcie przez te niedogodności przyniesie Ci wiele korzyści. Zdobędziesz bezcenną wiedzę o działaniu procesora, zyskasz też skuteczne narzędzie do badania złośliwego oprogramowania. Staniesz się o wiele lepszym programistą, a wiedza o instrukcjach AVX pozwoli Ci na spektakularne optymalizowanie kodu napisanego w językach wyższego poziomu.

Z tą książką stopniowo nauczysz się prostego, podstawowego kodu, a potem bardziej złożonych instrukcji AVX. Nabierzesz wprawy w czytaniu kodu asemblera i zaczniesz łączyć go z kodem w językach wyższego poziomu. Co ważniejsze, teorię ograniczono tu do niezbędnego minimum, za to dokładnie opisano dostępne narzędzia, omówiono sposób ich użytkowania i możliwe problemy. Kod natomiast został zaprezentowany w postaci kompletnych programów asemblera, co pozwoli Ci na dowolne testowanie, zmienianie i inne eksperymenty. W ten sposób przygotujesz się do samodzielnego badania różnych obszarów AVX i korzystania z oficjalnych podręczników Intela.

Dzięki książce:

  • zrozumiesz, jak działa procesor i na czym polega praca systemu operacyjnego
  • dowiesz się, jak kompilatory generują kod maszynowy
  • poznasz skuteczniejsze sposoby poprawiania swoich programów
  • nauczysz się uruchamiania programów w asemblerze
  • zaczniesz badać złośliwe oprogramowanie i podejmować niezbędne działania

Chcesz zrozumieć, jak naprawdę działa procesor? Naucz się asemblera!

Spis treści

O autorze

O recenzencie technicznym

Wprowadzenie

Zanim zaczniesz

Rozdział 1. Twój pierwszy program

  • Edycja, asemblacja, konsolidowanie i uruchamianie (lub debugowanie)
  • Struktura programu w asemblerze
    • Sekcja .data
    • Sekcja .bss
    • Sekcja .txt
  • Podsumowanie

Rozdział 2. Liczby binarne, liczby szesnastkowe i rejestry

  • Krótkie wprowadzenie do liczb binarnych
    • Liczby całkowite
    • Liczby zmiennoprzecinkowe
  • Krótkie wprowadzenie do rejestrów
    • Rejestry ogólnego przeznaczenia
    • Rejestr wskaźnika instrukcji (rip)
    • Rejestr flag
    • Rejestry xmm i ymm
  • Podsumowanie

Rozdział 3. Analizowanie programu za pomocą debugera: GDB

  • Rozpoczynanie debugowania
  • Do dzieła!
  • Kilka dodatkowych poleceń GDB
  • Nieco ulepszona wersja programu hello, world
  • Podsumowanie

Rozdział 4. Twój następny program: żyje i ma się dobrze!

  • Analiza programu
  • Wypisywanie
  • Podsumowanie

Rozdział 5. Asembler jest oparty na logice

  • NOT
  • OR
  • XOR
  • AND
  • Podsumowanie

Rozdział 6. Data Display Debugger

  • Praca z DDD
  • Podsumowanie

Rozdział 7. Skoki i pętle

  • Instalowanie SimpleASM
  • Używanie SASM
  • Podsumowanie

Rozdział 8. Pamięć

  • Eksplorowanie pamięci
  • Podsumowanie

Rozdział 9. Arytmetyka liczb całkowitych

  • Wprowadzenie do arytmetyki liczb całkowitych
  • Badanie instrukcji arytmetycznych
  • Podsumowanie

Rozdział 10. Stos

  • Jak działa stos
  • Monitorowanie stosu
  • Podsumowanie

Rozdział 11. Arytmetyka zmiennoprzecinkowa

  • Pojedyncza i podwójna precyzja
  • Kodowanie z liczbami zmiennoprzecinkowymi
  • Podsumowanie

Rozdział 12. Funkcje

  • Pisanie prostej funkcji
  • Więcej funkcji
  • Podsumowanie

Rozdział 13. Wyrównanie stosu i ramka stosu

  • Wyrównanie stosu
  • Więcej o ramkach stosu
  • Podsumowanie

Rozdział 14. Funkcje zewnętrzne

  • Budowanie i konsolidowanie funkcji
  • Rozszerzanie pliku makefile
  • Podsumowanie

Rozdział 15. Konwencje wywoływania

  • Argumenty funkcji
  • Układ stosu
  • Zachowywanie rejestrów
  • Podsumowanie

Rozdział 16. Operacje bitowe

  • Podstawy
  • Arytmetyka
  • Podsumowanie

Rozdział 17. Manipulacje bitowe

  • Inne sposoby modyfikowania bitów
  • Zmienna bitflags
  • Podsumowanie

Rozdział 18. Makra

  • Pisanie makr
  • Narzędzie objdump
  • Podsumowanie

Rozdział 19. Konsolowe wejście-wyjście

  • Praca z wejściem-wyjściem
  • Jak radzić sobie z przepełnieniem bufora
  • Podsumowanie

Rozdział 20. Plikowe wejście-wyjście

  • Wywołania systemowe
  • Obsługa plików
  • Asemblacja warunkowa
  • Instrukcje do obsługi plików
  • Podsumowanie

Rozdział 21. Wiersz poleceń

  • Dostęp do argumentów wiersza polecenia
  • Debugowanie wiersza poleceń
  • Podsumowanie

Rozdział 22. Od C do asemblera

  • Pisanie pliku źródłowego C
  • Pisanie kodu asemblera
  • Podsumowanie

Rozdział 23. Asembler wplatany

  • Podstawowy asembler wplatany
  • Rozszerzony asembler wplatany
  • Podsumowanie

Rozdział 24. Łańcuchy

  • Przenoszenie łańcuchów
  • Porównywanie i skanowanie łańcuchów
  • Podsumowanie

Rozdział 25. Identyfikowanie procesora

  • Instrukcja cpuid
  • Instrukcja test
  • Podsumowanie

Rozdział 26. SIMD

  • Dane skalarne i upakowane
  • Dane niewyrównane i wyrównane
  • Podsumowanie

Rozdział 27. Rejestr mxcsr

  • Manipulowanie bitami mxcsr
  • Analiza programu
  • Podsumowanie

Rozdział 28. SSE - wyrównanie danych

  • Przykład z niewyrównanymi danymi
  • Przykład z wyrównanymi danymi
  • Podsumowanie

Rozdział 29. SSE - upakowane liczby całkowite

  • Instrukcje SSE operujące na liczbach całkowitych
  • Analiza kodu
  • Podsumowanie

Rozdział 30. SSE - manipulowanie łańcuchami

  • Bajt sterujący imm8
  • Używanie bajta sterującego imm8
    • Bity 0. i 1.
    • Bity 2. i 3.
    • Bity 4. i 5.
    • Bit 6.
    • Bit 7.
  • Flagi
  • Podsumowanie

Rozdział 31. Wyszukiwanie znaku

  • Określanie długości łańcucha
  • Wyszukiwanie w łańcuchach
  • Podsumowanie

Rozdział 32. Porównywanie łańcuchów

  • Długość niejawna
  • Długość jawna
  • Podsumowanie

Rozdział 33. Przetasowania

  • Pierwsze spojrzenie na tasowanie
  • Tasowanie z dystrybucją
  • Tasowanie z odwracaniem
  • Tasowanie z rotacją
  • Tasowanie bajtów
  • Podsumowanie

Rozdział 34. SSE - maski łańcuchowe

  • Wyszukiwanie znaków
  • Wyszukiwanie zakresu znaków
  • Wyszukiwanie podłańcucha
  • Podsumowanie

Rozdział 35. AVX

  • Test obsługi AVX
  • Przykładowy program AVX
  • Podsumowanie

Rozdział 36. AVX - operacje macierzowe

  • Przykładowe obliczenia na macierzach
  • Wypisywanie macierzy: printm4x4
  • Mnożenie macierzy: multi4x4
  • Odwracanie macierzy: inverse4x4
    • Twierdzenie Cayleya-Hamiltona
    • Algorytm Leverriera
    • Kod
  • Podsumowanie

Rozdział 37. Transpozycja macierzy

  • Przykładowy kod do transpozycji macierzy
  • Wersja z odpakowywaniem
  • Wersja z tasowaniem
  • Podsumowanie

Rozdział 38. Optymalizacja wydajności

  • Wydajność obliczeń związanych z transpozycją macierzy
  • Wydajność obliczania śladu macierzy
  • Podsumowanie

Rozdział 39. Witaj, świecie Windows

  • Pierwsze kroki
  • Pisanie kodu
  • Debugowanie
  • Wywołania systemowe
  • Podsumowanie

Rozdział 40. Używanie Windows API

  • Wyjście konsolowe
  • Budowanie okien
  • Podsumowanie

Rozdział 41. Funkcje w Windows

  • Używanie więcej niż czterech argumentów
  • Praca z wartościami zmiennoprzecinkowymi
  • Podsumowanie

Rozdział 42. Funkcje wariadyczne

  • Funkcje wariadyczne w Windows
  • Mieszanie wartości
  • Podsumowanie

Rozdział 43. Pliki w Windows

  • Podsumowanie

Posłowie. Co dalej?

Skorowidz

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-289-0110-0
Rozmiar pliku: 28 MB

BESTSELLERY

Kategorie: