LINUX.ORG.RU

Придумать алгоритм для реализации на ассемблере

 , ,


0

1

Привет.
Есть некоторый ангстремовский 8битный risc-процессор, зовется Тесей, говорят, что он слизан с PIC'а какого-то, только с EEPROM. Описание железки тут: http://www.angstrem.ru/products/micro/tesey-8/KP1878BE1.html
Надо на нем реализовать алгоритм DES. И тут возникает затык: не могу придумать нормальный алгоритм, который будет делать начальную и конечную перестановки(читай шифраторы). Как сделать на fpga ясно(реализовать шифратор, по сути), а вот как закодить это на асме - нет. Мне кажется, вариант выдавливать по 1 биту и пытаться их формировать через маски - гиблое дело. Расширить каждый бит до байта, переставить их местами, а потом собрать обратно - неплохой вариант, но можно упереться с количеством рамы.
Больше идей нет.

Deleted

«Hacker's Delight», глава про обобщённые перестановки (general permutations).

alegz ★★ ()

Разложи перестановку в произведение циклов и реализуй каждый сдвигами и наложением побитовой маски. За один такт этого в принципе нельзя реализовать в заданной системе команд.

Deleted ()
Ответ на: комментарий от Deleted

В заданной, конечно, нельзя. Зато с этой задачей прекрасно справляется обыкновенный шифратор.
Выше посоветовали книжку, там, кажется, есть что-то дельное.

Deleted ()

Оффтоп: я ужаснулся отсталостью предлагаемых процессоров и контроллеров. Я имею ввиду 32-битные. Другие отечественные конторы посерьезнее изделия предлагают...

I-Love-Microsoft ★★★★★ ()

Линукс тут при чём?

anonymous ()
Ответ на: комментарий от anonymous

При том, что на линуксе я поднял виртуалку на оффтопике98, в которой нормально запускается компилятор и среда отладки для этого контроллера.

Deleted ()

Памяти же не хватит! Или 128 это всё-таки килобайты?

ziemin ★★ ()
Ответ на: комментарий от ziemin

это байты. Памяти там, может, даже не 128, а 159(0x40h - 0xDFh), но с памятью все равно проблемы. Где хранить S-блоки пока неясно.

Deleted ()
Ответ на: комментарий от Deleted

но с памятью все равно проблемы.

Собери кластер из таких чипов. Может и выгорит.

ziemin ★★ ()
Ответ на: комментарий от ziemin

Кстати. Не заметил в описании чипа uart/rs. Как ты данные вводить/выводить собираешься?

ziemin ★★ ()
Ответ на: комментарий от ziemin

реальной железки нет, есть только дебаггер, в котором эту лабу и надо показать.

Deleted ()
Ответ на: комментарий от vanner

Ну дык пол памяти только на него уйдет. Кластер однозначно.

ziemin ★★ ()
Ответ на: комментарий от ziemin

Пол памяти на uart? Не смешите, несколько байт RAM и байт до 100 ROM

vanner ()
Ответ на: комментарий от vanner

Ну так помоги. Код выложи. С учётом частоты работы этих часов этого контроллера, потребуется нехилый буфер.

ziemin ★★ ()
Ответ на: комментарий от marvin_yorke

16к флеша хватит под это с лихвой. Оперативки там мало надо

Что-то я разучился читать спеки. Разве там не 1к * 16 бит?

ziemin ★★ ()
Ответ на: комментарий от ziemin

вы там скажите кому следует , кто у вас там контроагент от поставщика.

у них замечательный проц в байте согласно 6 странице из 16

" Íàèáîëüøåå ÷èñëî 3F16 =12810, à íàèìåíüøåå - 8016 = - 12810

"

на мотив Зверева «попилы .... откаты ....» - ну блин где , где профессеонализм ....

а ещё про исполнительскую дисциплину любят задвигать

байт от -128 до 128 это отличный от других проц

qulinxao ★★☆ ()
Ответ на: комментарий от ziemin

именно.

«им» даже на отдел документирования не нужно тратится , и маркетинг тоже . зачем??? ненужные расходы. ибо рентабельность их совсем от другого зависит .

qulinxao ★★☆ ()
Ответ на: комментарий от vanner

Клоном он, как выяснилось после курения доков, все же ен является, но вот архив по ссылке жутко помог: за выходные допишу код.

Deleted ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.