دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: [4 ed.]
نویسندگان: Брюс Смит [Bruce Smith]
سری:
ISBN (شابک) : 9785977568012
ناشر: БХВ-Петербург
سال نشر: 2022
تعداد صفحات: [322]
زبان: Russian
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 20 Mb
در صورت تبدیل فایل کتاب Ассемблер для Raspberry Pi. Практическое руководство, 4-е издание به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب اسمبلر برای Raspberry Pi. راهنمای عملی ویرایش چهارم نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
Оглавление Об авторе 1. Введение Безграничные возможности Начинаем экспериментировать Компилятор GNU С Учимся на примерах Что вы узнаете? Совместимость четвертого издания книги ОС Raspberry Pi А что насчет 64-разрядной системы? Клавиатурные вычисления Значимость ARM Raspberry Pi сквозь века Вычислительные модули Используемые обозначения Центр истории вычислительной техники Веб-сайт и бесплатные книги Благодарности 2. Начало Числа со смыслом Команды ARM Процесс преобразования А зачем вообще машинный код? Языковые уровни На орбиту! RISC и наборы команд Структура ассемблера Ошибки на пути Кросс-компиляторы Чипы Raspberry Pi ARM 3. Проба пера Командная строкаЗ. Проба пера Создание исходного файла Написанное — исполнить! Ошибки ассемблера Компоненты А если нет метки start? Связывание файлов Прибираемся Пара слов о комментариях Редактор Geany Programmer’s Editor 4. О битах в RISC-машинах Преобразование двоичных чисел в десятичные Преобразование десятичных чисел в двоичные Преобразование двоичного числа в шестнадцатеричное Преобразуем шестнадцатеричные числа в десятичные и обратно Двоичное сложение Вычитание Дополнительный код Когда двоичные числа не складываются Стандартный калькулятор 5. Соглашения ARM Длина слов Доступ к памяти по байтам и словам Регистры Регистр R15: программный счетчик Регистр состояния текущей программы Биты и флаги Установка флагов Суффикс 5 R14: регистр ссылок R13: указатель стека 6. Обработка данных Команды сложения Вычитание Умножение Теперь о делении Команды перемещения Команды сравнения Сортировка чисел 7. Входы и выходы Команды SWI и SKC Вывод на экран Чтение с клавиатуры Регистр eax и прочие Программа Маке 8. Логические операции Логическое И (AND) Логическое ИЛИ (OR) Исключающее ИЛИ (EOR) Команды логических операций Команда ORR для преобразования регистра символов Очистка бита командой BIC Проверка флагов Регистры системных вызовов 9. Условное выполнение Коды состояния с одним флагом EQ: равно NE: не равно VS: переполнение VC: нет переполнения MI: знак «минус» PL: знак «плюс» CS: имеется перенос (HS: беззнаковое больше или равно) СС: нет переноса (LO: беззнаковое меньше) AL: безусловное исполнение NV: безусловное неисполнение Коды, проверяющие несколько флагов HI: беззнаковое больше LS: беззнаковое меньше или равно GE: знаковое больше или равно LT: знаковое меньше GT: знаковое больше LE: знаковое меньше или равно Добавление суффикса S' 10. Ветви и сравнения Команды ветвления Регистр ссылок Использование команд сравнения Применяем дальновидное мышление Эффективное использование условных операторов Обмен ветвей 11. Сдвиги и вращения Логические сдвиги Логический сдвиг вправо Арифметический сдвиг вправо Вращение Расширенное вращение Использование сдвигов и вращений Прямой постоянный диапазон Движение вверх 12. Умные числа Длинное умножение Умножение с накоплением Деление и остаток Умное умножение Это только начало 13. Программный счетчик R15 Конвейерная обработка Расчет ветвей 14. Отладка с использованием GDB Когда все зависло Сборка с GDB Дизассемблер Точки останова Дамп памяти Сокращения Параметры сборки GDB 15. Передача данных Директива ADR Косвенная адресация Команды ADR и LDR Предварительно индексированная адресация Доступ к байтам памяти Обратная запись адреса Постиндексированная адресация Байтовые условия Относительная адресация через регистр PC 16. Передача блока Обратная запись Процедура копирования блока 17. Стеки Тянитолкай;-) Рост стека Применение стеков Работа в фрейме Указатель фрейма 18. Директивы и макросы Директивы хранения данных Выравнивание данных Макросы Включение макросов 19. Работа с файлами Права доступа к файлам 20. Использование библиотеки libc Использование функций языка С в ассемблере Структура файла исходного кода Исследование исполняемого файла Ввод чисел с помощью функции scanf Вывод информации 21. Пишем функции Стандарты функций Использование регистров Больше трех Сохранение ссылок и флагов Надежные процедуры вывода Пузырьковая сортировка 22. Дизассемблирование программ на С GCC — он как швейцарский нож Простой фреймворк С Создание файла ассемблера Строительные блоки Пример функции print/ Переменные указателя фрейма Дизассемблирование системных вызовов 23. Функции GPIO Отображение памяти Контроллер GPIO Вводы и выводы GPIO Сборка кода Другие функции GPIO Описание контактов GPIO 24. Числа с плавающей точкой Архитектура VFP Регистровый файл Управление и вывод на экран Сборка и отладка на VFP с помощью GDB Загрузка, хранение и перемещение Преобразование точности Векторная арифметика 25. Регистр управления VFP Условное исполнение Скалярные и векторные операции Какой тип оператора? Параметры LEN и STRIDE 26. Сопроцессор Neon Ассемблер Neon Команды и типы данных Neon Режимы адресации Параметр Stride команд VLD и VST Загрузка в прочих форматах Neon Intrinsic Массивы Neon Правильный порядок Матричная математика Матричное умножение Пример использования макроса 27. Код Thumb Различия Пишем на Thumb Доступ к старшим регистрам Операторы стека Одно- и многорегистровые команды Функции в Thumb Команды ARMv7 Thumb 28. Единый язык Изменения Thumb Новые команды А32 Сравнение по нулю Сборка UAL 29. Обработка исключений Режимы работы Векторы Настройка регистров Обработка исключений Команды MRS и MSR Что происходит при возникновении прерывания? Решения о прерываниях Возврат из прерываний Пишем процедуры прерывания 30. System-on-Chip Микросхема и набор команд ARM Сопроцессоры Конвейер Память и кэши GPU Обзор ARMv8 64-разрядная ОС Raspberry Pi А что в итоге? Принцип Архимеда Приложение 1. Коды символов ASCII Приложение 2. Набор команд ARM Команды сравнения и проверки Команды ветвления Арифметические команды Логические команды Команды перемещения данных Приложение 3. Системные вызовы ROS Приложение 4. Описание электронного архива Предметный указатель