реклама на сайте
подробности

 
 
> Команда SSAT в STM32, Есть ли в Cortex-M3 от STM команды "насыщательной" арифметики?
Dot
сообщение Apr 14 2014, 12:22
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 13-10-05
Пользователь №: 9 595



Читаю описание -- в Cortex-M3 команда SSAT вроде присутствует.
При попытке ввести мнемонику, Keil синтаксис не подсвечивает, при компиляции -- выдает ошибку.

Аналогично с командой MOVW.

Что может быть не так?

(STM32F100R, uVision4)
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Dot
сообщение Apr 15 2014, 13:16
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 21
Регистрация: 13-10-05
Пользователь №: 9 595



Отбой.
Так и не понял, в чем был косяк, но сегодня код прекрасно откомпилировался.

Тем не менее, Keil для этих команд синтаксис так и не подсвечивает:







PS.
Вау, писаю от счастья, одна команда заменяет четыре!

Для будущих грабленаступателей:
хотя USAT заявлена как беззнаковая, исходный операнд считается знаковым! Т.е. число, старший бит которого =1, будет обрезаться в 0. Например 0xFFFFFFFF (т.е. -1) после операции станет 0.
Go to the top of the page
 
+Quote Post
SII
сообщение Apr 17 2014, 05:13
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 549
Регистрация: 13-07-10
Из: Солнечногорск-7
Пользователь №: 58 414



Цитата(Dot @ Apr 15 2014, 17:16) *
Тем не менее, Keil для этих команд синтаксис так и не подсвечивает


Как насчёт ассемблерных вставок в Си, я не знаю, но для чистого ассемблера подсветка мнемоник в Кейле 4.50 и позже (насчёт 5.* не знаю -- не использую) определяется специальным файлом, aarm.prop.def. Многих мнемоник там банально нету, потому они и не подсвечены должным образом. Но при желании ничто не мешает их туда ввести. На работу собственно транслятора ассемблера это никак не сказывается -- он же не на подсветку ориентируется (она только текстовым редактором учитывается).

Цитата(Golikov A. @ Apr 15 2014, 20:50) *
а сколько таких команд влезет в 512 кБайтную флэшку...


Большинство команд Thumb-2 -- 4-байтовые, и насыщенная арифметика исключением не является. Двухбайтовыми являются лишь команды, которые появились ещё в версии архитектуры ARMv4T (в обычной Тумбе), а также несколько дополнительных команд. И таки да, в приложениях, связанных с цифровой обработкой сигнала, использование подобных инструкций при прочих равных в несколько раз ускоряет работу.

Сообщение отредактировал SII - Apr 17 2014, 05:13
Go to the top of the page
 
+Quote Post
megajohn
сообщение Apr 17 2014, 08:42
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 080
Регистрация: 16-11-04
Из: СПб
Пользователь №: 1 143



Читаю книгу, вижу фигу.
то есть не понимаю суть самой операции насыщения. Кто разжуёт ?


--------------------
Марс - единственная планета, полностью населенная роботами (около 7 штук).
Go to the top of the page
 
+Quote Post
scifi
сообщение Apr 17 2014, 09:26
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 020
Регистрация: 7-02-07
Пользователь №: 25 136



Цитата(megajohn @ Apr 17 2014, 12:42) *
то есть не понимаю суть самой операции насыщения. Кто разжуёт ?

Суть - в насыщении :-)
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 31st July 2025 - 01:49
Рейтинг@Mail.ru


Страница сгенерированна за 0.0139 секунд с 7
ELECTRONIX ©2004-2016