Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Архиваторы на асме 
:(
    Опции темы
Silence
Дата 23.2.2004, 13:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.2.2004

Репутация: нет
Всего: нет



Хотелось бы почтитать что-нибудь по алгоритмам архивации и их реализации на асме.
PM MAIL   Вверх
Serzh
Дата 23.2.2004, 16:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 30.9.2003
Где: SPb

Репутация: нет
Всего: нет



дык!
на алголисте этого добра хватает!
а на асме это реализовывать проблемно...
там ведь математика сплошная...
PM MAIL WWW ICQ   Вверх
Silence
Дата 23.2.2004, 19:44 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.2.2004

Репутация: нет
Всего: нет



угу... мне надо посмотреть, как это делается на асме. Точнее, как это возможно сделать на асме.
PM MAIL   Вверх
Serzh
Дата 23.2.2004, 20:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 30.9.2003
Где: SPb

Репутация: нет
Всего: нет



да никто их на асме и не пишет имхо.
там ведь гемор сплошной математику всю делать...
делай на си -- у них скорость схожая имхо.
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 23.2.2004, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



у сморя че smile.gif
RLE за 5 сек пишется smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Serzh
Дата 23.2.2004, 23:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 30.9.2003
Где: SPb

Репутация: нет
Всего: нет



Цитата(oleg1973 @ 23.2.2004, 22:24)
у сморя че smile.gif
RLE за 5 сек пишется smile.gif

ну RLE низя считать архиватором! smile.gif
хотя... фиг знает...
PM MAIL WWW ICQ   Вверх
oleg1973
Дата 24.2.2004, 01:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



че ет нельзя?smile.gif
размер выходного файла меньше чем входного получается значит архиватор smile.gif


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
-=::BlackCat::=-
Дата 24.2.2004, 02:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1456
Регистрация: 12.7.2003
Где: растёт анаша?

Репутация: нет
Всего: 6



за 5 sec., это с кокой скоростью набора кода.

PS: если не трудно кинь код этого самого RLE


--------------------
-=::BlackCat::=-user posted image

такой дуратцкий аватар потому как мой 100х100, а такие подгрузить нелзя, движок форума чо сам не может его переделать??  гррр, админ, форум косячит  
PM MAIL ICQ   Вверх
Unregistered
Дата 24.2.2004, 02:44 (ссылка)    |    (голосов: 0) Загрузка ... Загрузка ... Быстрая цитата Цитата


Unregistered











ну кода у меня нету
а алгоритм простой там
в BMP используется
кароче к примеру 0000000000 десять ноликов заменятся на 2 байта 10 и 0
ну и так далее
  Вверх
Silence
Дата 24.2.2004, 08:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.2.2004

Репутация: нет
Всего: нет



Ну не просто же так я решил архиватор сделать. У меня такая, млин, курсовая по ассемблеру. Отсюда следует, что вариант с си не прокатитsmile.gif
PM MAIL   Вверх
Serzh
Дата 24.2.2004, 08:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 30.9.2003
Где: SPb

Репутация: нет
Всего: нет



Код
Алгоритм RLE (Run Length Encoding) в PCX
Это один из самых старых и самых простых алгоритмов архивации графики. Изображение в нём вытягивается в цепочку байт по строкам растра. Само сжатие в RLE происходит за счет того, что в исходном изображении встречаются цепочки одинаковых байт. Замена их на пары
<счетчик повторений, значение> уменьшает избыточность данных.

Метод декодирования состоит в следующем:
ДЛЯ каждого байта X, прочитанного из файла
   ЕСЛИ оба старших бита X равны 1, ТО
       <повторитель> = 6 младшим битам X
       <данные> = следующему байту за X
   ИНАЧЕ
       <повторитель> = 1
       <данные> = X

Метод кодирования:
ДЛЯ очередного байта Х подсчитать длину последовательности байт,
равных ему (но не большую 2^(6-1)) - <повторитель>.
ЕСЛИ <повторитель> > 1 ИЛИ оба старшие биты Х равны 1, ТО
<повторитель> += b’11000000’
ЗАПИСЬ <повторитель>
ЗАПИСЬ X

вот кусок моей лабы по Компьютерной Графике. как мы все видим, он ужасно голимый! smile.gif
Silence, ты покажи что нада сделать (почти на любом языке), а мы попробуем перевести...

Это сообщение отредактировал(а) Serzh - 24.2.2004, 08:52
PM MAIL WWW ICQ   Вверх
Silence
Дата 24.2.2004, 09:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.2.2004

Репутация: нет
Всего: нет



Цитата
что нада сделать

Надо сделать... надо сделать архиватор для любых типов файлов.
Цитата
а мы попробуем перевести...

Хех, я как раз и прошу показать что надо сделать. Точнее, что возможно сделать. Т.е. сначало нужен алгоритм. Из универсальных на алголисте - lwz, Хаффман. Это - все? Тогда что лучше реализовывать на асме? Или есть еще какие-нибудь?
А перевод - геморрой грядущих дней. И я им щедро поделюсь smile.gifsmile.gif

Это сообщение отредактировал(а) Silence - 24.2.2004, 09:56
PM MAIL   Вверх
Serzh
Дата 24.2.2004, 11:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 155
Регистрация: 30.9.2003
Где: SPb

Репутация: нет
Всего: нет



Цитата
Групповое кодирование - Run Length Encoding (RLE) - один из самых старых и самых простых алгоритмов архивации. Сжатие в RLE происходит за счет замены цепочек одинаковых байт на пары "счетчик, значение".

Одна из реализаций алгоритма такова: ищут наименнее часто встречающийся байт, называют его префиксом и делают замены цепочек одинаковых символов на тройки "префикс, счетчик, значение". Если же этот байт встретичается в исходном файле один или два раза подряд, то его заменяют на пару "префикс, 1" или "префикс, 2". Остается одна неиспользованная пара "префикс, 0", которую можно использовать как признак конца упакованных данных.

При кодировании exe-файлов можно искать и упаковывать последовательности вида AxAyAzAwAt..., которые часто встречаются в ресурсах (строки в кодировке Unicode)

К положительным сторонам алгоритма, можно отнести то, что он не требует дополнительной памяти при работе, и быстро выполняется. Алгоритм применяется в форматах РСХ, TIFF, ВМР. Интересная особенность группового кодирования в PCX заключается в том, что степень архивации для некоторых изображений может быть существенно повышена всего лишь за счет изменения порядка цветов в палитре изображения.

ну раз только на асме, то придеться писать RLE! smile.gif
а теперь хотелось бы поподробнее узнать задание.

Это сообщение отредактировал(а) Serzh - 24.2.2004, 11:29
PM MAIL WWW ICQ   Вверх
Silence
Дата 24.2.2004, 18:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 6
Регистрация: 23.2.2004

Репутация: нет
Всего: нет



Задание... уффф... цитирую препода по информатике:
Цитата
Написать архиватор для любых типов файлов

Куда уж тут подробнее smile.gif

А про rle на алголисте написано, что он применяется только как дополнение к другим методам. Кроме того, исходники по этому методу просто-таки поражают своим количеством, а описание метода - размером.

Пусть будет RLE, полагаю, это проще деревянных (т.е. с деревьями smile.gif) методов. Но тогда хорошо бы поподробее и исходники на чем-нибудь.

И еще wink.gif Я правильно понял, что для сжатия разных типов файлов используются разные модификации алгоритма?

Это сообщение отредактировал(а) Silence - 24.2.2004, 18:38
PM MAIL   Вверх
oleg1973
Дата 24.2.2004, 20:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


asm fanat
****


Профиль
Группа: Экс. модератор
Сообщений: 3283
Регистрация: 16.7.2003
Где: Italy

Репутация: 7
Всего: 34



ну для кода РЛЕ думаю врядли подойдет
не шибко там цепочек многа повторений
а вот для картинок в самый раз
можно и немного модифицировать
и искать не цепочки а скажем прямоугольные/квадратные области одинаковых данных
и так далее


--------------------
SST 465555
icq 200-512-712
PM MAIL WWW ICQ   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Asm: Общие вопросы"
MAKCim
  • Проставьте несколько ключевых слов темы, чтобы её можно было легче найти.
  • Не забывайте пользоваться кнопкой КОД.
  • Телепатов на форуме нет! Задавайте чёткий, конкретный и полный вопрос. Указывайте полностью ошибки компилятора и компоновщика.
  • Новое сообщение должно иметь прямое отношение к разделу форума. Флуд, флейм, оффтопик запрещены.
  • Категорически запрещается обсуждение вареза, "кряков", взлома программ и т.д.

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, MAKCim.

 
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Asm: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0574 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.