РуЛиб - онлайн библиотека > Смит Брюс > Аппаратное обеспечение, компьютерное железо > Ассемблер для Raspberry Pi. Практическое руководство

Читаем онлайн «Ассемблер для Raspberry Pi. Практическое руководство»

Raspberry Pi OS
ASSEMBLY
LANGUAGE
Hands-on-Guide
Fourth Edition
Брюс Смит
АССЕМБЛЕР
ДЛЯ RASPBERRY PI
Практическое руководство
4-е издание
Санкт-Петербург
« БХВ-Петербург»
2022
УДК 004.4
ББК 32.973.26-018.2
С50
Смит Б.
С50
Ассемблер для Raspberry Pi. Практическое руководство: Пер. с англ. —
4-е изд.— СПб.: БХВ-Петербург, 2022. — 320 с.: ил.
ISBN 978-5-9775-6801-2
Рассмотрены основы программирования на языке ассемблера для процессоров
ARM на примере Raspberry Pi с операционной системой Raspberry Pi OS. Приведе­
ны подробные сведения об архитектуре и особенностях ARM, вызовах операцион­
ной системы. Подробно описан синтаксис ассемблера для ARM. Рассмотрены ком­
поновщик GCC, отладка с GDB, использование функций языка С в ассемблере
с помощью библиотеки libc. Описаны функции GPIO, система команд ARM Neon
и команды Thumb. Все разделы снабжены практическими примерами. Книга ори­
ентирована на начинающих разработчиков, желающих освоить программирование
на языке ассемблера для устройств с архитектурой ARM.
Электронный архив на сайте издательства содержит исходный код программ из
книги.
Для начинающих программистов
УДК 004.4
ББК 32.973.26-018.2
Группа подготовки издания:
Руководитель проекта
Зав. редакцией
Перевод с английского
Редактор
Компьютерная верстка
Оформление обложки
Павел Шалим
Людмила Гауль
Михаила Райтмана
Григорий Добин
Ольги Сергиенко
Зои Канторович
Copyright © 2021 by Bruce Smith
Translation Copyright © 2021 by BHV All rights reserved
Перевод © 2021 BHV. Все права защищены.
Подписано в печать 01 12.21
Формат 70x100716 Печать офсетная Усл печ л 35,8
Тираж 1000 экз Заказ № 2949
"БХВ-Петербург", 191036, Санкт-Петербург, Гончарная ул , 20
Отпечатано с готового оригинал-макета
ООО "Принт-М", 142300, М О , г Чехов, ул Полиграфистов, д 1
ISBN 978-0-6480987-3-7 (англ.)
ISBN 978-5-9775-6801-2 (рус.)
© Bruce Smith, 2021
© Перевод на русский язык, оформление
ООО "БХВ-Петербург", ООО "БХВ", 2021
Оглавление
Об авторе......................................................................................................................... 13
1. Введение............................................
14
Безграничные возможности..................................................................................................................15
Начинаем экспериментировать........................................................................................................... 16
Компилятор GNU С............................................................................................................................... 16
Учимся на примерах.............................................................................................................................. 17
Что вы узнаете?....................................................................................................................................... 17
Совместимость четвертого издания книги........................................................................................ 18
ОС Raspberry Pi....................................................................................................................................... 19
А что насчет 64-разрядной системы?................................................................................................. 20
Клавиатурные вычисления................................................................................................................... 20
Значимость ARM................................................................................................................................... 20
Raspberry Pi сквозь века....................................................................................................................... 21
Вычислительные модули..................................................................................................................... 23
Используемые обозначения................................................................................................................. 24
Центр истории вычислительной техники......................................................................................... 24
Веб-сайт и бесплатные книги.............................................................................................................. 25
Благодарности.........................................................................................................................................26
2. Начало......................................................................................................................... 27
Числа со смыслом.................................................................................................................................. 27
Команды ARM........................................................................................................................................28
Процесс преобразования...................................................................................................................... 29
А зачем вообще машинный код?........................................................................................................ 30
Языковые уровни................................................................................................................................... 30
На орбиту!............................................................................................................................................... 31
RISC и наборы команд..........................................................................................................................32
Структура ассемблера...........................................................................................................................32
Ошибки на пути..................................................................................................................................... 33
Кросс-компиляторы............................................................................................................................... 33
Чипы Raspberry Pi ARM....................................................................................................................... 33
3. Проба пера.................................................................................................................. 35
Командная строкаЗ. Проба пера..........................................................................................................35
Создание исходного файла.................................................................................................................. 36
Написанное —