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
Opinie
Na razie nie ma opinii o produkcie.