Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - Assembler

Страница: 1 | 2 |

 

  Вопрос: Вопрос по Instr к тем, кто дизасмил VB6 Добавлено: 14.08.08 12:25  

Автор вопроса:  J. Smith | Web-сайт: Не хочу ломать голову, если её уже сломал кто-то другой. | ICQ: ненавижу 
Какой алгорит использует Instr?

Есть спрос на нечто более быстрое чем инстр.

Ответить

  Ответы Всего ответов: 16  

Номер ответа: 1
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #1
Добавлено: 14.08.08 13:55
public __vbaInStr
__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-сайт: domkratt.com
 Профиль | | #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-сайт: domkratt.com
 Профиль | | #5
Добавлено: 14.08.08 17:38
Думаешь ты один знаешь ассемблер? у меня все это написано не один год назад... да и у меногих, собственно

Ответить

Номер ответа: 6
Автор ответа:
 



Администратор

ICQ: 278109632 

Вопросов: 42
Ответов: 3949
 Web-сайт: domkratt.com
 Профиль | | #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-сайт: houselab.narod.ru
 Профиль | | #11
Добавлено: 19.08.08 19:06
http://delphiworld.narod.ru/base/str_search.html

У меня чё то не открывается :/

Ответить

Номер ответа: 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
Расскажи какое решение?

Ответить

Страница: 1 | 2 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам