Работа с вещественными числами на asm на AVR

Вопросы настройки, программирования, прошивки микроконтроллеров и микросхем программируемой логики
Закрыто
SergeG
Родился
Сообщения: 10
Зарегистрирован: Вт дек 28, 2010 08:28:26

Работа с вещественными числами на asm на AVR

Сообщение SergeG »

Здравствуйте.
Меня интересует работа с вещественными числам на ассемблере на МК AVR:
- запись вещ. числа в регистр
- сложение двух вещ. чисел
- умножение двух вещ.чисел
и т.д.

Где об этом можно почитать? Или может кто-то объяснит? Хватит и пары строчки строк))
Заранее благодарен!
Реклама
Vov123
Опытный кот
Сообщения: 804
Зарегистрирован: Чт мар 12, 2009 16:31:05

Re: Работа с вещественными числами на asm на AVR

Сообщение Vov123 »

Реклама
Аватара пользователя
ARV
Ум, честь и совесть. И скромность.
Сообщения: 18671
Зарегистрирован: Чт дек 28, 2006 08:19:56
Откуда: Новочеркасск
Контактная информация:

Re: Работа с вещественными числами на asm на AVR

Сообщение ARV »

вот вам не пара, а даже одна строчка :)))
вещественных чисел следует избегать всеми способами, разве что это вопрос жизни или смерти :)))
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...

Мой уютный бложик... заходите!
SergeG
Родился
Сообщения: 10
Зарегистрирован: Вт дек 28, 2010 08:28:26

Re: Работа с вещественными числами на asm на AVR

Сообщение SergeG »

Спасибо) Идею понял)
Реклама
Эиком - электронные компоненты и радиодетали
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: Работа с вещественными числами на asm на AVR

Сообщение SII »

На самом деле ничего фантастически сложного в вещественной арифметике нет, но работать на AVR она будет очень медленно -- собственно, именно поэтому надо стараться избегать их использования. Например, если нужно что-то выводить в метрах с сотыми (типа 3,07 м), можно все внутренние расчёты вести в сантиметрах, что избавляет от необходимости использовать числа с плавающей запятой.

Ну а в тех случаях, когда без плавающей запятой не обойтись, придётся писать свои или воровать чужие подпрограммы. Следует помнить, что и количество разрядов, которые можно представить числом, и максимальный диапазон зависят от размера числа. "Самыми стандартными" являются 4-, 8 и 10-байтовые вещественные числа, с которыми работают процессоры ПК (и не только они). Учитывая, что разрядность регистра AVR равна одному байту, одно число будет занимать от 4 до 10 регистров, так что, скорей всего, их надо будет передавать через память, особенно если речь идёт о "длинных" форматах.
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6320
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Работа с вещественными числами на asm на AVR

Сообщение Jack_A »

SII писал(а):На самом деле ничего фантастически сложного в вещественной арифметике нет, но работать на AVR она будет очень медленно -- собственно, именно поэтому надо стараться избегать их использования.

Ну а в тех случаях, когда без плавающей запятой не обойтись, придётся писать свои или воровать чужие подпрограммы
В общем-то верно, хотя воровать нехорошо. Можно попросить, например, старину Джека, ему не жалко. :-))
Мне пришлось писа'ть плавучку для МК у которого не то, что фиксированной арифметики не было -- не было даже сдвига вправо ! И одна операция выполнялась от 14 до 42 циклов осциллятора ! Занятие для мазохистов, но деваться было некуда. Потом когда с этого уё....ща мигрировали на АВР. было ощущение, что из грязного болота попал в чистую реку. Код - раза в 2 короче, быстродействие - выше раз в 10! Причем пришлось писа'ть не только арифметику, но и функции: корень, синус-косинус, логарифм, экспонента...

"Но опыт есть!" (С) М.М.Жванецкий

Кстати, для сокращения времени выполнения и объема памяти у меня арифметика как раз нестандартная 3-байтовая : 1 байт порядок, 2 байта мантисса. Скрытый разряд не использовал - чуть проигрыш в точности ( для наших задач хватало ), но выигрыш в быстродействии.
Последний раз редактировалось Jack_A Сб янв 22, 2011 13:01:02, всего редактировалось 1 раз.
Реклама
Аватара пользователя
Jack_A
Друг Кота
Сообщения: 6320
Зарегистрирован: Вт апр 24, 2007 07:45:40
Откуда: Minsk

Re: Работа с вещественными числами на asm на AVR

Сообщение Jack_A »

И сто лет ему это не было нужно.
SII
Вымогатель припоя
Сообщения: 635
Зарегистрирован: Пт янв 30, 2009 14:50:35
Откуда: Солнечногорск

Re: Работа с вещественными числами на asm на AVR

Сообщение SII »

Jack_A писал(а):Мне пришлось писа'ть плавучку для МК у которого не то, что фиксированной арифметики не было -- не было даже сдвига вправо !
И что это за урод такой, если не секрет?
Кстати, для сокращения времени выполнения и объема памяти у меня арифметика как раз нестандартная 3-байтовая : 1 байт порядок, 2 байта мантисса. Скрытый разряд не использовал - чуть проигрыш в точности ( для наших задач хватало ), но выигрыш в быстродействии.
Ну, это совершенно правильный подход, просто нужно заранее оценить необходимую точность и диапазон. Для опытного программиста это проблем не составляет, а вот для новичка -- проблематично.
Закрыто

Вернуться в «Микроконтроллеры и ПЛИС»