Чтение онлайн

на главную - закладки

Жанры

Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++

Вальпа Олег Дмитриевич

Шрифт:

Существует пять директив ассемблера для формирования выходного файла листинга.

Директива NEWPAGE

Директива NEWPAGE вставляет разделители страниц. После такой директивы листинг программы продолжится с новой страницы. Данная директива, как и последующие, применяется для выделения программных фрагментов и оформления листинга программы. Пример ее использования:

.NEWPAGE;

Директива PAGELENTH

Директива PAGELENTH регулярно вставляет разделитель страниц после указанного количества строк. Формат ее записи:

.PAGELENGTH
число_строк;

Директива LEFTMARGIN

Директива LEFTMARGIN оставляет левое поле с указанным числом столбцов (знакомест символов). Формат ее записи:

.LEFTMARGIN число_столбцов;

Директива INDENT

Директива INDENT осуществляет отступ строк программы в исходном коде с указанным числом столбцов. Формат ее записи:

.INDENT число_столбцов;

Директива PAGEWIDTH

Директива PAGEWIDTH определяет ширину строк листинга с указанным числом столбцов. Формат ее записи:

.PAGEWIDTH число_столбцов;

Директивы NEWPAGE и PAGELENGTH могут быть использованы для нумерации страниц, в то время как директивы LEFTMARGIN, INDENT и PAGEWIDTH используются для того, чтобы сделать каждую страницу удобной для чтения. Эти директивы могут быть помещены в любом месте исходного файла.

Директива ENDMOD

Директива ENDMOD указывает на завершение программного модуля. Программа ассемблера останавливается, когда достигает директивы ENDMOD. Формат ее записи:

.ENDMOD;

Глава 12. Форматы данных

В этой главе говорится о форматах представления данных в сигнальном процессоре при выполнении вычислительных операций.

Сигнальные процессоры используются в основном для цифровой обработки сигналов. Поэтому в программах для них часто используются арифметические команды для математической обработки чисел. Поскольку все данные в процессоре представлены в двоичном формате, в нем используется двоичная арифметика. Для лучшего понимания операций, выполняемых над числами в двоичной арифметике, необходимо хорошо представлять форматы данных этих чисел и приемы, используемые в двоичной арифметике.

С форматом представления данных в процессоре тесно связаны такие понятия, как целочисленная и плавающая арифметика. Другими словами, арифметические операции, выполняемые процессором, могут производиться с целыми или с вещественными числами. Известно, что вещественные числа имеют целую и дробную части, отделяемые друг от друга запятой. Если запятая не меняет своего положения в формате представления чисел при выполнении арифметических операций, говорят, что данные представлены в формате с фиксированной запятой. Например: 7,4×0,5=3,7. Здесь положение запятой фиксировано как для операндов, так и для результата. Недостатком такого представления является небольшой диапазон обрабатываемых чисел, определяемый количеством разрядов шины данных. Другим форматом представления данных может служить формат с плавающей запятой, где используется показатель степени. Например: 1,8×103:2,0×102=9,0×100. Здесь существенно расширяется диапазон обрабатываемых чисел за счет введения показателя степени, но снижается точность результата.

Аппаратное

обеспечение процессоров семейства ADSP-21XX поддерживает 16-разрядные данные с фиксированной точкой. Тем не менее, вычислительные устройства этих процессоров обладают особыми характеристиками, которые позволяют работать с другими форматами за счет соответствующего использования программных средств. Позже будет показано, как с помощью программных средств можно реализовать операции с блоками чисел в формате с плавающей точкой.

Вспомним форматы представления данных в двоичной арифметике. Формат представления двоичного числа обычно включает в себя знак, запятую и величину. Знак показывает, является число положительным или отрицательным. Запятая отделяет целую и дробную части числа.

Знак двоичного числа может быть представлен одним битом. Как правило, ноль указывает на положительное значение числа, а единица на отрицательное его значение. Знаковый бит обычно крайний левый бит (старший бит).

Как известно, в двоичной арифметике операция вычитания заменяется сложением чисел, представленных в дополнительном коде. Положительные числа не требуется переводить в дополнительный код. Отрицательные числа в дополнительном коде изменяют свою запись.

Существует несколько форматов представления отрицательных чисел в дополнительном коде. Наиболее распространенным методом является дополнение до двух, который используется в семействе процессоров ADSP-21XX.

Преимущество формата дополнения до двух состоит в том, что он обеспечивает уникальное представление нулевого значения числа, в то время как другие форматы имеют разные представления отрицательного и положительного нуля. В формате дополнения до двух ноль считается положительным, поэтому абсолютная величина максимального отрицательного числа, которое может быть представлено определенным количеством двоичных разрядов, больше на единицу, чем величина наибольшего положительного числа.

С помощью n бит в дополнительном коде можно представлять диапазон чисел от -2n-1 до 2n-1– 1, где n-1 разрядов отводится под величину, а 1 разряд под знак числа. Например, с помощью 16-разрядной шины данных в дополнительном коде можно представить числа в диапазоне от -32768 до 32767.

Существует два способа перевода отрицательного числа в формат дополнения до двух. Первый способ состоит из инвертирования всех разрядов числа и прибавления к нему единицы. Второй способ заключается в инвертировании всех разрядов числа левее младшего единичного разряда. Положительные числа не требуется переводить в дополнительный код. Ниже приведен пример перевода отрицательного 16-разрядного числа -5 по первому способу:

Двоичная запись числа 5:0000 0000 0000 0101

Инверсия бит: 1111 1111 1111 1010

Добавление 1: 0000 0000 0000 0001

– --------------------------------

Результат=-5: 1111 1111 1111 1011

Пример перевода отрицательного числа -5 по второму способу:

Двоичная запись числа 5:0000 0000 0000 0101

Инверсия бит: 1111 1111 1111 1011

– --------------------------------

Результат=-5: 1111 1111 1111 1011

Если сложить число -5 в дополнительном коде с числом 6, получим:

Поделиться:
Популярные книги

Моя на одну ночь

Тоцка Тала
Любовные романы:
современные любовные романы
короткие любовные романы
5.50
рейтинг книги
Моя на одну ночь

Черный Маг Императора 8

Герда Александр
8. Черный маг императора
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Черный Маг Императора 8

Измена. Отбор для предателя

Лаврова Алиса
1. Отбор для предателя
Фантастика:
фэнтези
5.00
рейтинг книги
Измена. Отбор для предателя

Кодекс Крови. Книга II

Борзых М.
2. РОС: Кодекс Крови
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Кодекс Крови. Книга II

Шаг в бездну

Муравьёв Константин Николаевич
3. Перешагнуть пропасть
Фантастика:
фэнтези
космическая фантастика
7.89
рейтинг книги
Шаг в бездну

Часовая битва

Щерба Наталья Васильевна
6. Часодеи
Детские:
детская фантастика
9.38
рейтинг книги
Часовая битва

Вечная Война. Книга II

Винокуров Юрий
2. Вечная война.
Фантастика:
юмористическая фантастика
космическая фантастика
8.37
рейтинг книги
Вечная Война. Книга II

Хроники странного королевства. Вторжение. (Дилогия)

Панкеева Оксана Петровна
110. В одном томе
Фантастика:
фэнтези
9.38
рейтинг книги
Хроники странного королевства. Вторжение. (Дилогия)

Часовой ключ

Щерба Наталья Васильевна
1. Часодеи
Фантастика:
фэнтези
9.36
рейтинг книги
Часовой ключ

Инвестиго, из медика в маги

Рэд Илья
1. Инвестиго
Фантастика:
фэнтези
городское фэнтези
попаданцы
5.00
рейтинг книги
Инвестиго, из медика в маги

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Драконий подарок

Суббота Светлана
1. Королевская академия Драко
Любовные романы:
любовно-фантастические романы
7.30
рейтинг книги
Драконий подарок

Очешуеть! Я - жена дракона?!

Амеличева Елена
Фантастика:
юмористическая фантастика
5.43
рейтинг книги
Очешуеть! Я - жена дракона?!

Идеальный мир для Лекаря 9

Сапфир Олег
9. Лекарь
Фантастика:
боевая фантастика
юмористическое фэнтези
6.00
рейтинг книги
Идеальный мир для Лекаря 9