Страница: 1 | 2 |
Вопрос: Вопрос по Instr к тем, кто дизасмил VB6
Добавлено: 14.08.08 12:25
Автор вопроса: J. Smith | Web-сайт:
Какой алгорит использует Instr?
Есть спрос на нечто более быстрое чем инстр.
Ответы
Всего ответов: 16
Номер ответа: 1
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #1
Добавлено: 14.08.08 13:55
__vbaInStr: ; CODE XREF: .text:734CB7D4p
; .text:734DA4BEp ENGINE:734DF9A8p
push ebp
mov ebp, esp
sub esp, 0BCh
and dword ptr [ebp-14h], 0
push ebx
push esi
mov esi, [ebp+0Ch]
push edi
mov edi, [ebp+10h]
lea eax, [ebp-0BCh]
mov [ebp-8], edi
test edi, edi
mov [ebp-0Ch], eax
mov [ebp-4], esi
jz loc_734274C0
mov eax, [edi-4]
shr eax, 1
mov [ebp-1Ch], eax
jz loc_734274C0
test esi, esi
jz loc_734274B8
mov eax, [esi-4]
shr eax, 1
mov [ebp-1Ch], eax
jz loc_734274B8
mov eax, [ebp+14h]
lea ebx, [eax-1]
test ebx, ebx
jl loc_73427319
cmp ebx, 3FFFFFFFh
ja loc_73427319
mov eax, [ebp+8]
mov [ebp-18h], ebx
test eax, eax
jnz loc_73427320
loc_733F4A15: ; CODE XREF: .text:73427404j
mov eax, [ebp-8]
test eax, eax
jz loc_73427414
mov ecx, [eax-4]
shr ecx, 1
loc_733F4A25: ; CODE XREF: .text:73427416j
test esi, esi
jz loc_7342741B
mov edx, [esi-4]
shr edx, 1
loc_733F4A32: ; CODE XREF: .text:7342741Dj
mov edi, [ebp-18h]
cmp edi, ecx
jnb loc_733F4AAD
test edx, edx
jz loc_73427422
cmp edx, ecx
ja loc_7342742D
lea eax, [eax+edi*2]
mov edi, [ebp-8]
sub ecx, edx
lea ebx, [edi+ecx*2+2]
movzx ecx, word ptr [esi]
mov [ebp+14h], ecx
lea ecx, [edx+edx-2]
cmp eax, ebx
mov [ebp-1Ch], ecx
jnb loc_733F4AAD
loc_733F4A66: ; CODE XREF: .text:733F4AABj
mov ecx, ebx
sub ecx, eax
sar ecx, 1
push ecx
push dword ptr [ebp+14h]
push eax
call loc_733F4ABC
test eax, eax
jz loc_733F4AAD
mov ecx, [ebp-1Ch]
inc eax
inc eax
lea edi, [esi+2]
mov esi, eax
xor edx, edx
repe cmpsb
jnz loc_733F4AA4
mov ecx, eax
sub ecx, [ebp-8]
sar ecx, 1
cmp dword ptr [ebp+8], 0
jnz loc_73427436
mov eax, ecx
loc_733F4A9D: ; CODE XREF: .text:733F4ABAj
; .text:734274BBj .text:734274C2j
pop edi
pop esi
pop ebx
leave
retn 10h
Номер ответа: 2
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #2
Добавлено: 14.08.08 14:04
Я асма незнаю.
Значит какой режим инстра самый быстрый?
Бинарный?
Номер ответа: 3
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #3
Добавлено: 14.08.08 14:57
да
Номер ответа: 4
Автор ответа:
J. Smith
ICQ: ненавижу
Вопросов: 40
Ответов: 477
Web-сайт:
Профиль | | #4
Добавлено: 14.08.08 16:08
Если есть желающие написать dll-ку c функцией в разы быстрее инстра называйте желаемую сумму оплаты и примерные сроки реализации.
Но что-то я сомневаюсь, что это возможно.
Номер ответа: 5
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #5
Добавлено: 14.08.08 17:38
Думаешь ты один знаешь ассемблер? у меня все это написано не один год назад... да и у меногих, собственно
Номер ответа: 6
Автор ответа:
Администратор
ICQ: 278109632
Вопросов: 42
Ответов: 3949
Web-сайт:
Профиль | | #6
Добавлено: 14.08.08 18:19
Прости, неверно понял) Ты его как раз не знаешь, видимо. Стукни в асю, есть подобная либа у меня. Для работы со строками.
Номер ответа: 7
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #7
Добавлено: 15.08.08 17:34
Если хочешь быстро работать со строками, для начала удали с компьютера VB6.
Далее возможны варианты
Номер ответа: 8
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #8
Добавлено: 17.08.08 22:57
А я думал для начала надо купить нешто с корэквадом на борту, поставить 2008-ю винду а потом без вариантов студию 2008
Номер ответа: 9
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #9
Добавлено: 17.08.08 23:23
Нет, Core 2 Quad не нужен, хотя не помешает, Windows Server 2008 тоже не нужна.
Номер ответа: 10
Автор ответа:
HACKER
Разработчик Offline Client
Вопросов: 236
Ответов: 8362
Профиль | | #10
Добавлено: 19.08.08 16:20
Полно примеров на разных языках..
http://delphiworld.narod.ru/base/str_search.html
Номер ответа: 11
Автор ответа:
Серёга
ICQ: 262809473
Вопросов: 17
Ответов: 561
Web-сайт:
Профиль | | #11
Добавлено: 19.08.08 19:06
У меня чё то не открывается :/
Номер ответа: 12
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #12
Добавлено: 20.08.08 08:28
Это не про примеры из вики? Теория меня не интересует, читай
"куплю готовое решение быстрого потокового поиска реализованное на асме".
Номер ответа: 13
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #13
Добавлено: 21.08.08 04:22
Какой размер строк? Может есть смысл посмотреть в сторону инструментов, позволяющих более оптимально работать со строками?
Номер ответа: 14
Автор ответа:
Smith
ICQ: adamis@list.ru
Вопросов: 153
Ответов: 3632
Профиль | | #14
Добавлено: 21.08.08 08:29
Нашел приемлемое решение пару дней назад.
Вопросу неделя, поиск уже не интересует.
Номер ответа: 15
Автор ответа:
Artyom
Разработчик
Вопросов: 130
Ответов: 6602
Профиль | | #15
Добавлено: 21.08.08 19:49
Расскажи какое решение?