Отправил.
О выравнивании кода: наверное заметил "неправильное" начало процедуры - mov edx,[esp+4] push ebx а не push ebx mov...
alpet Я считаю через rdtsc с поправкой на время, необходимое для опроса самого счетчика. Строк - 8 штук, те, что приводил leo, за один...
Я своей программой меряю время исполнения. Вроде дееспособная, щас засомневался, проверил в wintest'е by A.Fog - 272 тика. Разница есть с 266,...
Может зря отказался от расширения таблицы до диапазона маленьких букв? Наверное было бы быстрее. Сейчас показывает 354 тика на 8 строк. И lea...
alpet Всё бы хорошо, только вот код не асмовый :( Табличка как выглядит? .
Народ, хватит esi/edi/ebx использовать ! Такие оплошности из-за этого :)) Еще вариант с табличкой + регистр ebx: mov edx,[esp+4]...
Вот вариант с предыдущей таблицей (55 байт) - ещё короче и ещё быстрее: mov edx,[esp+4] xor eax,eax xor ecx,ecx...
На том наборе из 8 строк по 7 символов, что предлагал leo На строку "3ccD24c" выдаёт 1521179033, хотя остальные 3 процедуры выдают 63754828. И...
bogrus Не работает. Результат выдает неверный. И очень долго - более 2000 тактов на 8 строк. Вот вариант с таблицей: таблица маленькая -...
leo Нет сотен тиков загрузки из озу, результаты практически те же, что и с разносом 8 байт. Пробовал и по одной процедуре за 1 запуск программы...
Ну вот, сам подозревал, что делаю не один проход, а теперь восемь предлагаешь :) Если я правильно понял, то ты предлагаешь так делать:...
Это правильный подход к делу :)
leo Сделал ещё 1234ABCD (78,86,82 тика) и ABCD1234 (92,86,71) Тесты в один проход. Начало всех процедур на 16 ровно. Все процедуры сделал...
leo Не кажется :) Потому и сделал строку db '1F3D5B79',0 чтобы случайно, и буквы и цифры пропорционально их общему кол-ву(10/6). Твой...
Avoidik В asmpack нет быстрых процедур. Asterix Вторая процедура выполняет 20 инструкций за цикл, потому и медленно :( В моём варианте 10...
Asterix Второй вариант медленный, а первый чуть быстрее моего, если заменить esi на edx, а ebx на ecx и за счёт этого избавиться от push...
Строка db '1F3D5B79',0 Делаю dword из строки: mov edx,[esp+4] xor eax,eax xor ecx,ecx _st: test byte...
Чем тебе помочь? Выучить за тебя ассемблер? Или сделать тебе программу? Если первое, то это не решит твоей проблемы. Если второе - тебе дорога в...
Стараюсь функциональную и производительную либу и не в ущерб надёжности.
Имена участников (разделяйте запятой).