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

 
 
> Алгоритм, перестановка битов
Slavik_tz
сообщение Aug 1 2006, 05:37
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 51
Регистрация: 4-07-06
Пользователь №: 18 558



Помогите найти алгоритм наиболее быстрый, для перестановки битов
R->R
-----
0->7
1->6
2->5
3->4
4->3
5->2
6->1
7->0
1). Простой, сдвиговый с иполозование бита переноса региста флагов
ldi cnt,8
loop:
rol tmp
ror tmp1
dec cnt
brne loop
mov tmp,tmp1
занимает 8байт памяти, время выполнения 5мкс, использование 3регистров, и если сохранять регистр флагов, то еще больше
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
add
сообщение Aug 2 2006, 06:11
Сообщение #2


Местный
***

Группа: Свой
Сообщений: 345
Регистрация: 10-10-05
Пользователь №: 9 459



Цитата
; 13 words / 13 cycles
; tmp= abcdefgh
mov tmp2,tmp ; tmp2= abcdefgh
andi tmp2,0b01010101 ; tmp2= 0b0d0f0h
andi tmp, 0b10101010 ; tmp= a0c0e0g0
bst tmp2,0 ; T=h
lsr tmp2 ; tmp2= 00b0d0f0
bld tmp2,7 ; tmp2= h0b0d0f0
lsl tmp ; tmp= 0c0e0g00 C=a
adc tmp, tmp2 ; tmp= hcbedgfa
mov tmp2,tmp ; tmp2= hcbedgfa
andi tmp2,0b01100110 ; tmp2= 0cb00gf0
swap tmp2 ; tmp2= 0gf00cb0
andi tmp, 0b10011001 ; tmp= h00ed00a
add tmp, tmp2 ; tmp= hgfedcba


да...век живи век учись. .. Скажите singlskv где таким алгоритмам учат? :-) (может в компиляторах подсмотрели?)


--------------------
Если задачу можно решить, то не надо тревожиться. А если нельзя решить, то тревожиться бесполезно.
Go to the top of the page
 
+Quote Post
Andy Mozzhevilov
сообщение Aug 2 2006, 06:18
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 877
Регистрация: 26-01-05
Из: Екатеринбург
Пользователь №: 2 206



Цитата(add @ Aug 2 2006, 12:11) *
да...век живи век учись. .. Скажите singlskv где таким алгоритмам учат? :-) (может в компиляторах подсмотрели?)


Есть, например, такая книга:

Ричард Хэзфилд, Лоуренс Кирби.
Искусство программирования на С
Фундаментальные алгоритмы, структуры данных и примеры приложений.

http://www.bolero.ru//product-40702054.html?terms=Хэзфилд


--------------------
Пасу котов...
Go to the top of the page
 
+Quote Post

Сообщений в этой теме


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

 


RSS Текстовая версия Сейчас: 19th July 2025 - 22:43
Рейтинг@Mail.ru


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