сжатие массива в asm
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
сжатие массива в asm - 2007-05-18 09:38:09.710000
|
|
|
kb33
Сообщений: 46
Оценки: 0
Присоединился: 2007-04-03 10:06:11.443333
|
Дан 32-битный массив , а хранится в нём 8-битная информация. Как можно массив из 32-битного превратить в 8-битный на asm?
|
|
|
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 но я так же только учу асм….
|
|
|
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 бит) за запись. можешь применять сдвиги на пару с занесением в стек или другой регистр. думать и писать готовую процедуру лениво. да и сам справишься имхо
|
|
|
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е что в голову пришло…дерзай и отписывай…
|
|
|
|
|