Брюс Смит - Ассемблер для Raspberry Pi. Практическое руководство
4-е изданиеНазвание: | Ассемблер для Raspberry Pi. Практическое руководство | |
Автор: | Брюс Смит | |
Жанр: | Аппаратное обеспечение, компьютерное железо, Assembler | |
Изадано в серии: | неизвестно | |
Издательство: | БХВ-Петербург | |
Год издания: | 2022 | |
ISBN: | 978-5-9775-6801-2 | |
Отзывы: | Комментировать | |
Рейтинг: | ||
Поделись книгой с друзьями! Помощь сайту: донат на оплату сервера |
Краткое содержание книги "Ассемблер для Raspberry Pi. Практическое руководство"
Рассмотрены основы программирования на языке ассемблера для процессоров ARM на примере Raspberry Pi с операционной системой Raspberry Pi OS. Приведены подробные сведения об архитектуре и особенностях ARM, вызовах операционной системы. Подробно описан синтаксис ассемблера для ARM. Рассмотрены компоновщик GCC, отладка с GDB, использование функций языка С в ассемблере с помощью библиотеки libc. Описаны функции GPIO, система команд ARM Neon и команды Thumb. Все разделы снабжены практическими примерами. Книга ориентирована на начинающих разработчиков, желающих освоить программирование на языке ассемблера для устройств с архитектурой ARM. Электронный архив на сайте издательства содержит исходный код программ из книги. Для начинающих программистов
Читаем онлайн "Ассемблер для Raspberry Pi. Практическое руководство". [Страница - 49]
VREV64.32 Q2, Q2
VREV64.32 Q3, Q3
0 обмен местами старшей и младшей половин
VSWP DO, DI
VSWP 02, D3
VSWP D4, D5
VSWP D6, D7
0 сохранение результата
Ьр2:
VST1.32 {Q0},
[R0]
VST1.32 {QI},
[R1]
259
26. Сопроцессор Neon
VST1.32 (Q2),
[R2]
VST1.32 {Q3},
[R3]
MOV R7, #1
SWI 0
. data
matrixO:
.word 0,1,2,3
matrixl:
.word 4,5,6,7
matrix2:
.word 8,9,10,11
matrix3:
.word 12,13,14,15
Некоторые приведенные в этом коде команды мы использовали впервые, и если вы
хотите копнуть глубже, то можете поработать с ними подробнее, заменяя числа
в матрице на цвета, например.
Данные для нашего массива хранятся в конце листинга программы в блоке .data.
В матрице используются цифры от 0 до 15. После запуска кода регистры ro, ri, R2 и
R3 указывают на свои соответствующие строки и загружаются как 32-битные зна
чения в qo, Qi, Q2 и Q3 соответственно. Если вы посмотрите на значения в регистрах
до выполнения двух команд транспонирования, все будет видно, особенно, если
посмотреть на вывод регистра и32. В регистрах qo, qi, Q2 и Q3 изначально будут на
ходиться следующие значения (рис. 26.8).
Рис. 26.8. Исходные значения в регистрах QO, QI, Q2 и Q3
Первая операция — это транспонирование самой матрицы. Команда vtrn (Vector
Transpose, транспонирование вектора) обрабатывает элементы своих векторовоперандов как элементы матриц 2> --">
Книги схожие с «Ассемблер для Raspberry Pi. Практическое руководство» по жанру, серии, автору или названию:
Крис Касперски - Восстановление данных. Практическое руководство Жанр: Сети Год издания: 2006 |
Мэттью Джастис - Как на самом деле работают компьютеры. Практическое руководство по внутреннему устройству машины Жанр: Аппаратное обеспечение, компьютерное железо Год издания: 2022 |