Показать сообщение отдельно
  #1  
Старый 23.04.2009, 12:28
Аватар для Vayrus
Vayrus Vayrus вне форума
Исполняемый Ретровирус
 
Регистрация: 09.08.2008
Адрес: Umbrella Corporation
Сообщения: 743
Репутация: 1293
Лампочка Ошибка в FastLocate2Bytes (ImageFileLibBCB, D 2009, Windows 7)

Привет, использую ImageFileLibBCB для работы с графикой, но при переходе на новую IDE возникли проблемы с одной функцией из модуля MemUtils:

Код:
function FastLocate2Bytes(const where; start, bsize: integer; what: word):integer; assembler; pascal; far;
asm
 push edi
 mov ecx, [bsize]
 sub ecx, [start]
 jz @notfound       // No data to search
 mov edi, [where]
 add edi, [start]
 mov ax, [what]
 @search:
 repne scasb//В этом месте возникает исключение Access Violation
 je @found
 @notfound:
 mov eax, -1
 jmp @end
 @found:
 cmp [edi], ah
 jne @search
 mov eax, edi
 dec eax
 sub eax, [where]
 @end:
 pop edi
end; 

Люди добрые, подскажите решение проблемы или аналог этой функции на Delphi.

P.S. в ассемблерных инструкциях не силен.
Ответить с цитированием