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

 
 
7 страниц V  « < 3 4 5 6 7 >  
Reply to this topicStart new topic
> Давайте устраивать на форуме конкурсы, По программированию
Rst7
сообщение Aug 24 2011, 06:12
Сообщение #61


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
Ну он вроде двигает бесплатно практически в любой команде.


К сожалению, при индексации - сдвиг отнюдь не на любое количество бит.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Aug 24 2011, 11:54
Сообщение #62


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(ARV @ Aug 23 2011, 12:21) *
помнится, была тут темка на счет отзеркаливания битов в байте - такого типа задачки предполагаются? wink.gif если склероз не подводит, самая короткая процедурка в 11 ассемблерных команд вышла (AVR8)....

Кстати, а что так много - на пике у меня 5 получилось:
Код
movlw 8
Loop:
rlcf    Source, F
rrcf    Dest, F
addlw 0xFF
bnz   Loop

Чисто 5 минут подумал пока собачку выгуливал. С АВР не знаком, что у них такая система команд плохая, что в два раза больше команд надо?
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 24 2011, 11:58
Сообщение #63


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
Кстати, а что так много - на пике у меня 5 получилось:


Речь об оптимизации по скорости без использования таблицы.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Aug 24 2011, 12:47
Сообщение #64


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(Rst7 @ Aug 24 2011, 07:58) *
Речь об оптимизации по скорости без использования таблицы.

тогда 16 -
Код
rlcf Source, F
rrcf Dest, F
;; повторить 8 раз
Go to the top of the page
 
+Quote Post
Rst7
сообщение Aug 24 2011, 12:53
Сообщение #65


Йа моск ;)
******

Группа: Модераторы
Сообщений: 4 345
Регистрация: 7-07-05
Из: Kharkiv-city
Пользователь №: 6 610



QUOTE
тогда 16 -


Это метод в лоб. На AVR он тоже, кстати, занимает 16 тактов. Есть способ быстрее.


--------------------
"Практика выше (теоретического) познания, ибо она имеет не только достоинство всеобщности, но и непосредственной действительности." - В.И. Ленин
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Aug 24 2011, 13:51
Сообщение #66


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(Rst7 @ Aug 24 2011, 08:53) *
Это метод в лоб. На AVR он тоже, кстати, занимает 16 тактов. Есть способ быстрее.

Понял. На пике тоже получилось 11 команд.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Aug 29 2011, 05:47
Сообщение #67


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Из книжки выудил:
Код
x = (x & 0x55) << 1 | (x & 0xaa) >> 1;
x = (x & 0x33) << 2 | (x & 0xcc) >> 2;
x = (x & 0x0f) << 4 | (x & 0xf0) >> 4;

Будет любопытно взглянуть, что сделает Hi-Tech PICC компилятор. Последнее выражение - одна команда. А как с первыми двумя обойдется? (Проверю сам, позже, сейчас нет времени)
Go to the top of the page
 
+Quote Post
san822
сообщение Aug 29 2011, 05:55
Сообщение #68


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

Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111



Цитата(AlexandrY @ Aug 17 2011, 23:06) *
Потом тоже сделать с портированием JPEG, потом MPEG, потом FS, TCP, кучей войс кодеков и т.д.
Это будет и полезно и забавно. Просто рассказы как начал портировать и обломался тоже будут интересны.


Ничего себе конкурсы...
biggrin.gif

А чем тогда это будет отличаться от тем типа "подарю проект", которые, кстати, не очень часто появляются на форуме ?
Go to the top of the page
 
+Quote Post
ARV
сообщение Aug 30 2011, 12:18
Сообщение #69


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

Группа: Свой
Сообщений: 1 143
Регистрация: 30-09-08
Из: Новочеркасск
Пользователь №: 40 581



Цитата(Rst7 @ Aug 23 2011, 20:48) *
Да ну. Все эти трюки давно собраны тут - http://graphics.stanford.edu/~seander/bithacks.html
поглядел на счет реверсирования битов - увы, не все трюки там sm.gif я говорил о реверсировании битов в байте применительно для AVR на асме. то, что по ссылке для AVR будет скомпилировано далеко не в 11 команд biggrin.gif


--------------------
Я бы взял частями... но мне надо сразу.
Go to the top of the page
 
+Quote Post
singlskv
сообщение Aug 31 2011, 11:01
Сообщение #70


дятел
*****

Группа: Свой
Сообщений: 1 681
Регистрация: 13-05-06
Из: Питер
Пользователь №: 17 065



Цитата(ar__systems @ Aug 24 2011, 17:51) *
Понял. На пике тоже получилось 11 команд.

Не, на пике 12тактов
на авр 13 тактов
лучше не сделать
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Aug 31 2011, 21:53
Сообщение #71





Guests






Цитата
Не, на пике 12тактов
на авр 13 тактов
лучше не сделать

Лучше можно сделать. Но лучше не делать. sm.gif
Берете один восмибитный порт МК и соединяете его с другим в обратном порядке. В один порт пишите, из другого читаете.
Итого всего две команды (а не такта). Но очень расточительно с точки зрения использования ног МК...
Возможны более "щадящие" варианты, с использованием только одного порта...
Go to the top of the page
 
+Quote Post
VCO
сообщение Sep 2 2011, 07:38
Сообщение #72


Voltage Control Output
******

Группа: Свой
Сообщений: 4 598
Регистрация: 21-07-09
Из: Kursk
Пользователь №: 51 436



Цитата(@Ark @ Sep 1 2011, 00:53) *
Итого всего две команды (а не такта). Но очень расточительно с точки зрения использования ног МК...

У PIC это одна команда movff
Цитата
Возможны более "щадящие" варианты, с использованием только одного порта...

В CPLD и FPGA это вообще не проблема...


--------------------
Слово - не воробей, вылетит - не пощадит
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Sep 2 2011, 12:43
Сообщение #73





Guests






Цитата
У PIC это одна команда movff

Одной командой не получится. Почему - подумайте. sm.gif
Цитата
В CPLD и FPGA это вообще не проблема...

Это да. Но речь, вроде бы, идет об МК.


Сообщение отредактировал @Ark - Sep 2 2011, 18:04
Go to the top of the page
 
+Quote Post
ar__systems
сообщение Sep 4 2011, 03:11
Сообщение #74


self made
****

Группа: Свой
Сообщений: 855
Регистрация: 7-03-09
Из: Toronto, Canada
Пользователь №: 45 795



Цитата(YIG @ Sep 2 2011, 03:38) *
У PIC это одна команда movff

Команда-то одна, да тактов все равно два.
Go to the top of the page
 
+Quote Post
Guest_@Ark_*
сообщение Sep 4 2011, 19:40
Сообщение #75





Guests






Цитата
Команда-то одна, да тактов все равно два.

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


Сообщение отредактировал @Ark - Sep 4 2011, 19:41
Go to the top of the page
 
+Quote Post

7 страниц V  « < 3 4 5 6 7 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd June 2025 - 00:01
Рейтинг@Mail.ru


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