Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX - Helion
Tytuł oryginału: Beginning x64 Assembly Programming: From Novice to AVX Professional
Tłumaczenie: Grzegorz Werner
ISBN: 978-83-289-0109-4
stron: 415, Format: 165x235, okładka: mi
Data wydania: 2023-08-01
Księgarnia: Helion
Cena książki: 50,05 zł (poprzednio: 77,00 zł)
Oszczędzasz: 35% (-26,95 zł)
Osoby które kupowały "Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX", wybierały także:
- Roslyn Cookbook 135,91 zł, (29,90 zł -78%)
- PowerShell Advanced Cookbook 88,41 zł, (38,90 zł -56%)
- Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX 75,63 zł, (42,35 zł -44%)
- Asembler. Podręcznik programisty 119,00 zł, (77,35 zł -35%)
- Asembler. Programowanie 44,89 zł, (33,67 zł -25%)
Spis treści
Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX -- 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