reklama - zainteresowany?

Asembler dla procesorów ARM. Podręcznik programisty - Helion

Asembler dla procesorów ARM. Podręcznik programisty
Autor: William Hohl
Tytuł oryginału: ARM Assembly Language: Fundamentals and Techniques
Tłumaczenie: Paweł Gonera
ISBN: 978-83-246-9319-1
stron: 352, Format: 168x237, okładka: miękka
Data wydania: 2014-10-10
Księgarnia: Helion

Cena książki: 59,00 zł

Dodaj do koszyka Asembler dla procesorów ARM. Podręcznik programisty

Tagi: Asembler - Programowanie | programowanie-kupon

Przewodnik programisty!

Jeszcze do niedawna mało kto zdawał sobie sprawę z istnienia takich rozwiązań, jak procesory ARM. Ten stan rzeczy zmieniła inwazja urządzeń mobilnych: tabletów, smartfonów oraz platform takich jak Raspberry Pi. Przed profesjonalnymi programistami pojawiło się nowe wyzwanie — poznanie asemblera platformy ARM.

Jeżeli należysz do tej grupy, trafiłeś na świetną książkę poświęconą temu tematowi. W trakcie lektury zaznajomisz się ze sposobami reprezentacji liczb i znaków oraz modelem programowania ARM7TDMI. Następnie stworzysz swój pierwszy program z wykorzystaniem asemblera oraz poznasz dyrektywy tego języka. Dalsze rozdziały to kolejne elementy programowania w języku asembler. Adresowanie, ładowanie danych, operacje logiczne i arytmetyczne, pętle i instrukcje warunkowe to tylko niektóre z poruszanych zagadnień. Dzięki tej książce zdobędziesz też cenną wiedzę o urządzeniach peryferyjnych oraz obsłudze wyjątków. Książka jest doskonałą lekturą dla wszystkich programistów tworzących oprogramowanie dla procesorów ARM.

Dzięki tej książce:

  • poznasz język asembler dla architektury ARM
  • opanujesz dyrektywy i zasady korzystania z asemblera
  • wykonasz typowe operacje logiczne i arytmetyczne
  • z łatwością wykorzystasz typowe konstrukcje języka

Odkryj tajniki języka asembler dla procesorów ARM!

Dodaj do koszyka Asembler dla procesorów ARM. Podręcznik programisty

 

Osoby które kupowały "Asembler dla procesorów ARM. Podręcznik programisty", wybierały także:

  • Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX
  • Programowanie w asemblerze x64. Od nowicjusza do znawcy AVX
  • Asembler. Podręcznik programisty
  • Asembler. Programowanie
  • Asembler dla procesorów ARM. Podręcznik programisty

Dodaj do koszyka Asembler dla procesorów ARM. Podręcznik programisty

Spis treści

Asembler dla procesorów ARM. Podręcznik programisty -- spis treści

Wprowadzenie (11)

Podziękowania (15)

Informacja o oprogramowaniu (17)

Autor (19)

Rozdział 1. Przegląd systemów komputerowych (21)

  • 1.1. Wstęp (21)
  • 1.2. Historia architektury RISC (23)
    • 1.2.1. Początki firmy ARM (25)
    • 1.2.2. Powstanie ARM Ltd. (26)
    • 1.2.3. ARM obecnie (28)
  • 1.3. Urządzenia liczące (29)
  • 1.4. Systemy liczbowe (31)
  • 1.5. Reprezentacja liczb i znaków (34)
    • 1.5.1. Reprezentacja liczb całkowitych (34)
    • 1.5.2. Reprezentacja zmiennoprzecinkowa (37)
    • 1.5.3. Reprezentacja znakowa (39)
  • 1.6. Tłumaczenie bitów na rozkazy (39)
  • 1.7. Narzędzia (41)
  • 1.8. Ćwiczenia (43)

Rozdział 2. Model programowania ARM7TDMI (47)

  • 2.1. Wstęp (47)
  • 2.2. Typy danych (47)
  • 2.3. Tryby procesora (48)
  • 2.4. Rejestry (49)
  • 2.5. Rejestry stanu programu (51)
    • 2.5.1. Bity kontrolne (51)
    • 2.5.2. Bity trybu (51)
  • 2.6. Tabela wektorów (52)
  • 2.7. Ćwiczenia (53)

Rozdział 3. Pierwsze programy (55)

  • 3.1. Wstęp (55)
  • 3.2. Program 1.: Przesuwanie danych (56)
    • 3.2.1. Uruchamianie kodu (57)
    • 3.2.2. Sprawdzanie zawartości rejestrów i pamięci (58)
  • 3.3. Program 2.: Obliczanie silni (58)
  • 3.4. Program 3.: Zamiana zawartości rejestrów (61)
  • 3.5. Wskazówki dla programistów (61)
  • 3.6. Ćwiczenia (63)

Rozdział 4. Dyrektywy i zasady korzystania z asemblera (65)

  • 4.1. Wstęp (65)
  • 4.2. Struktura modułów języka asemblera (65)
  • 4.3. Predefiniowane nazwy rejestrów (68)
  • 4.4. Często używane dyrektywy (68)
    • 4.4.1. AREA - definicja bloku danych lub kodu (69)
    • 4.4.2. RN - definicja nazwy rejestru (70)
    • 4.4.3. EQU - definicja symbolu dla stałej numerycznej (70)
    • 4.4.4. ENTRY - deklaracja punktu wejścia (71)
    • 4.4.5. DCB, DCW i DCD - przydział pamięci i określenie zawartości (71)
    • 4.4.6. ALIGN - wyrównanie danych lub kodu do odpowiedniej granicy (72)
    • 4.4.7. SPACE - rezerwacja bloku pamięci (73)
    • 4.4.8. LTORG - przypisanie punktu startowego puli literałów (73)
    • 4.4.9. END - koniec pliku źródłowego (74)
  • 4.5. Makra (74)
  • 4.6. Pozostałe funkcje asemblera (76)
    • 4.6.1. Operacje asemblera (76)
    • 4.6.2. Literały (77)
  • 4.7. Ćwiczenia (77)

Rozdział 5. Ładowanie, zapisywanie i adresowanie (79)

  • 5.1. Wstęp (79)
  • 5.2. Pamięć (79)
  • 5.3. Ładowanie i zapisywanie - instrukcje (82)
  • 5.4. Operandy adresowania (85)
    • 5.4.1. Adresowanie preindeksowane (85)
    • 5.4.2. Adresowanie postindeksowane (86)
  • 5.5. Porządek bajtów (88)
    • 5.5.1. Zmiana porządku bajtów (89)
    • 5.5.2. Definiowanie obszarów pamięci (90)
  • 5.6. Ćwiczenia (91)

Rozdział 6. Stałe i pule literałów (95)

  • 6.1. Wstęp (95)
  • 6.2. Schemat rotacji ARM (95)
  • 6.3. Ładowanie stałych do rejestrów (98)
  • 6.4. Ładowanie adresów do rejestrów (101)
  • 6.5. Ćwiczenia (105)

Rozdział 7. Operacje logiczne i arytmetyczne (107)

  • 7.1. Wstęp (107)
  • 7.2. Znaczniki i ich wykorzystywanie (107)
    • 7.2.1. Znacznik N (108)
    • 7.2.2. Znacznik V (108)
    • 7.2.3. Znacznik Z (109)
    • 7.2.4. Znacznik C (109)
  • 7.3. Instrukcje porównania (109)
  • 7.4. Operacje przetwarzania danych (110)
    • 7.4.1. Operacje logiczne (111)
    • 7.4.2. Przesunięcia i rotacje (112)
    • 7.4.3. Dodawanie i odejmowanie (117)
    • 7.4.4. Mnożenie (119)
    • 7.4.5. Mnożenie przez stałą (120)
    • 7.4.6. Dzielenie (121)
  • 7.5. Notacja ułamkowa (122)
  • 7.6. Ćwiczenia (127)

Rozdział 8. Pętle i skoki (131)

  • 8.1. Wstęp (131)
  • 8.2. Skoki (132)
  • 8.3. Pętle (135)
    • 8.3.1. Pętle while (135)
    • 8.3.2. Pętle for (136)
    • 8.3.3. Pętle do ... while (139)
  • 8.4. Więcej na temat znaczników (139)
  • 8.5. Wykonanie warunkowe (140)
  • 8.6. Kodowanie w linii prostej (142)
  • 8.7. Ćwiczenia (143)

Rozdział 9. Tablice (145)

  • 9.1. Wstęp (145)
  • 9.2. Tablice wyszukiwania (145)
  • 9.3. Tablice skoków (149)
  • 9.4. Wyszukiwanie binarne (150)
  • 9.5. Ćwiczenia (153)

Rozdział 10. Podprogramy i stosy (157)

  • 10.1. Wstęp (157)
  • 10.2. Stos (158)
    • 10.2.1. Instrukcje LDM i STM (158)
    • 10.2.2. Stosy pełne, puste, rosnące i malejące (160)
  • 10.3. Podprogramy (162)
  • 10.4. Przekazywanie parametrów do podprogramów (163)
    • 10.4.1. Przekazywanie parametrów przez rejestry (163)
    • 10.4.2. Przekazywanie parametrów przez referencję (165)
    • 10.4.3. Przekazywanie parametrów na stosie (167)
  • 10.5. Standard ARM APCS (168)
  • 10.6. Ćwiczenia (169)

Rozdział 11. Obsługa wyjątków (173)

  • 11.1. Wstęp (173)
  • 11.2. Przerwania (173)
  • 11.3. Błędy (174)
  • 11.4. Sekwencja wyjątku w procesorze (175)
  • 11.5. Tablica wektorów (176)
  • 11.6. Handlery wyjątków (179)
  • 11.7. Priorytety wyjątków (180)
  • 11.8. Procedury obsługi wyjątków (181)
    • 11.8.1. Wyjątek Reset (181)
    • 11.8.2. Niezdefiniowana instrukcja (181)
    • 11.8.3. Przerwania (185)
    • 11.8.4. Błędy przerwania (194)
    • 11.8.5. SWI (195)
  • 11.9. Ćwiczenia (196)

Rozdział 12. Urządzenia peryferyjne z odwzorowaną pamięcią (199)

  • 12.1. Wstęp (199)
  • 12.2. LPC2104 (200)
    • 12.2.1. Układ UART (200)
    • 12.2.2. Mapa pamięci (200)
    • 12.2.3. Konfigurowanie układu UART (202)
    • 12.2.4. Zapis danych do UART (205)
    • 12.2.5. Kompletny kod (206)
    • 12.2.6. Uruchamianie aplikacji (207)
  • 12.3. Układ LPC2132 (208)
    • 12.3.1. Konwerter C/A (208)
    • 12.3.2. Mapa pamięci (210)
    • 12.3.3. Konfiguracja konwertera C/A (210)
    • 12.3.4. Generowanie fali sinusoidalnej (210)
    • 12.3.5. Kompletny kod (212)
    • 12.3.6. Uruchamianie kodu (214)
  • 12.4. Ćwiczenia (214)

Rozdział 13. THUMB (217)

  • 13.1. Wstęp (217)
  • 13.2. Instrukcje THUMB (218)
  • 13.3. Różnice pomiędzy ARM i THUMB (220)
  • 13.4. Implementacja i użycie THUMB (221)
    • 13.4.1. Modyfikacje procesora (221)
    • 13.4.2. Przełączanie się pomiędzy stanem ARM i THUMB (221)
  • 13.5. Kompilacja dla THUMB (223)
  • 13.6. Ćwiczenia (225)

Rozdział 14. Łączenie C i asemblera (227)

  • 14.1. Wstęp (227)
  • 14.2. Wstawki asemblerowe (227)
    • 14.2.1. Składnia wstawek asemblerowych (230)
    • 14.2.2. Ograniczenia działania wstawek asemblerowych (231)
  • 14.3. Asembler wbudowany (232)
    • 14.3.1. Składnia asemblera wbudowanego (234)
    • 14.3.2. Ograniczenia działania asemblera wbudowanego (234)
  • 14.4. Wywołania pomiędzy C i asemblerem (234)
  • 14.5. Ćwiczenia (236)

Dodatek A. Zbiór instrukcji ARM V4T (239)

Dodatek B. Korzystanie z narzędzi Keil (339)

  • B.1. Wstęp (339)
  • B.2. Tworzenie projektu i wybór urządzenia (339)
  • B.3. Tworzenie kodu aplikacji (341)
  • B.4. Budowanie projektu i uruchamianie kodu (343)

Dodatek C. Kody znaków ASCII (345)

Glosariusz (347)

Odnośniki (349)

Skorowidz (350)

Dodaj do koszyka Asembler dla procesorów ARM. Podręcznik programisty

Code, Publish & WebDesing by CATALIST.com.pl



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