003
15.10.2004, 18:55 Uhr
(un)wissender
Niveauwart
|
Das funzt.
Gibt den Index zurück, wo letter gefunden wurde oder -1 wenn nichts gefunden wurde. In C/C++ muss der Prototype so deklariert werden
C++: |
#ifdef _cplusplus extern "C" #endif unsigned _stdcall searchDigit(const char *, char, unsigned);
|
Code: |
;stdcall searchDigit PROC source:DWORD, letter:BYTE, len:DWORD push ebp mov ebp, esp push edi cld mov edi, [source] mov al, [letter] mov ecx, [len] repne scasb jz found
not_found: mov eax, -1 jmp return found: sub edi, [source] lea eax, [edi - 1]
return: pop edi mov esp, ebp pop ebp ret 12 searchDigit ENDP
|
Bsp.: Input Hallo, a, 5 Output 1
Input Hallo, H, 5 Output 0
Input Hallo, J, 5 Output -1 -- Wer früher stirbt ist länger tot. Dieser Post wurde am 15.10.2004 um 19:46 Uhr von (un)wissender editiert. |