Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

сжатие массива в asm

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Прочее] >> сжатие массива в asm
Имя
Сообщение << Старые топики   Новые топики >>
сжатие массива в asm - 2007-05-18 09:38:09.710000   
kb33

Сообщений: 46
Оценки: 0
Присоединился: 2007-04-03 10:06:11.443333
Дан 32-битный массив , а хранится в нём 8-битная информация. Как можно массив из 32-битного превратить в 8-битный на asm?
Post #: 1
RE: сжатие массива в asm - 2007-05-19 01:03:35.540000   
ВИТАХА

Сообщений: 1017
Оценки: 0
Присоединился: 2006-12-27 00:18:16.020000
Даже незнаю а что мешает произвести сперва какето действия с каждым 32-битным числом узная и после чего всунуть его в масив с 8-ми розрядными числами……???лигока такая если там число такое что и в 8 бит влезет то при сравнении с числами от 0-F записывай в 8-ми битный масив….я конечно уверен что можно как то проще или поизгалятся через ptr но я так же только учу асм….
Post #: 2
RE: сжатие массива в asm - 2007-05-19 01:22:26.360000   
furiousangel

Сообщений: 1116
Оценки: 0
Присоединился: 2005-05-28 06:31:47
упаковывать свои 8-битные елементы массива в 32-разрядные регистры по 4 штуки. но тут могут быть проблемы. например так
mov al, element1
mov ah, element2
вот только к старшим разрядам 32-разрядных регистров тебя никто не пустит :(
короче сам придумай как можно записать елементы массива в старшие 2 байта по одному байту (8 бит) за запись. можешь применять сдвиги на пару с занесением в стек или другой регистр.
думать и писать готовую процедуру лениво. да и сам справишься имхо
Post #: 3
RE: сжатие массива в asm - 2007-05-19 01:59:35.140000   
Mkey

Сообщений: 3426
Оценки: 0
Присоединился: 2006-03-08 14:32:13
так условимся что один символ это 8 бит…
0 - 8 бит забитые нулями
x,y,z - 8 бит с нужной инфой
рисуем массив из 3х 32 битных чичисел
допустим они расположены так

000x 000y 000z

считываем и записываем 1е число в eax
al записываем в 1ю ячейку

считываем и записываем 2е число в eax
al записываем в 2ю ячейку

и так далее

если массив не очень большой…

то можно запихнуть весь массив в стек
и выталкивая его из стека в al записывать в память каждый 4 байт
или сдвигать указатель стека на 4 и выталкиват в память

вобщем может есть и покруче алгоритмы…но это 1е что в голову пришло…дерзай и отписывай…
Post #: 4
Страниц:  [1]
Все форумы >> [Прочее] >> сжатие массива в asm







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.