Библиотека knigago >> Компьютеры: Языки и системы программирования >> Assembler >> Ассемблер для Raspberry Pi. Практическое руководство


СЛУЧАЙНЫЙ КОММЕНТАРИЙ

# 1157, книга: Фальшивое зеркало
автор: Алан Дин Фостер

"Фальшивое зеркало", написанный Аланом Фостером, представляет собой захватывающую и заставляющую задуматься боевую фантастику, которая исследует темы предательства, иллюзий и силы разрушительных секретов. В мире, где память — это поле битвы, Элайна Мэдден, агент разведки, сталкивается с невозможным: ее прошлое было стерто. Когда она пытается собрать воедино осколки своей жизни, она обнаруживает, что ей лгали, и те, кому она доверяла, оказались ее врагами. По мере того как Элайна...

Брюс Смит - Ассемблер для Raspberry Pi. Практическое руководство

4-е издание Ассемблер для Raspberry Pi. Практическое руководство
Книга - Ассемблер для Raspberry Pi. Практическое руководство.  Брюс Смит  - прочитать полностью в библиотеке КнигаГо
Название:
Ассемблер для Raspberry Pi. Практическое руководство
Брюс Смит

Жанр:

Аппаратное обеспечение, компьютерное железо, Assembler

Изадано в серии:

неизвестно

Издательство:

БХВ-Петербург

Год издания:

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]

Q1

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> --">

Оставить комментарий:


Ваш e-mail является приватным и не будет опубликован в комментарии.