9,7 → 9,7 |
// itoa( ESI) |
// atoi( EAX) |
// strupr( ESI) |
// strlwr( ESI) |
// strlwr( ESI) ----- âîçìîæíî íå ïîääåðæèâàåò êèðèëëèöó |
// strttl( EDX) |
// strtok( ESI) |
//------------------------------------------------------------------------------ |
130,17 → 130,18 |
} |
} |
|
char buffer[11]; |
inline fastcall dword itoa( ESI) |
dword itoa( ESI) |
{ |
$mov edi, #buffer |
$mov ecx, 10 |
$test esi, esi |
$jns f1 |
unsigned char buffer[11]; |
EDI = #buffer; |
ECX = 10; |
if (ESI < 0) |
{ |
$mov al, '-' |
$stosb |
$neg esi |
f1: |
} |
|
$mov eax, esi |
$push -'0' |
f2: |
154,14 → 155,17 |
$add al, '0' |
$stosb |
$jnz f3 |
$mov eax, #buffer |
$ret |
|
$mov al, '\0' |
$stosb |
|
return #buffer; |
} |
|
|
|
inline fastcall dword atoi( EDI) |
{ |
//ESI=EDI=EAX; |
ESI=EDI; |
IF(DSBYTE[ESI]=='-')ESI++; |
EAX=0; |
175,7 → 179,7 |
} |
|
|
inline fastcall unsigned int strchr( ESI,BL) |
inline fastcall signed int strchr( ESI,BL) |
{ |
int jj=0; |
do{ |
183,10 → 187,11 |
$lodsb |
IF(AL==BL) return jj; |
} while(AL!=0); |
return 0; |
} |
|
|
inline fastcall unsigned int strrchr( ESI,BL) |
inline fastcall signed int strrchr( ESI,BL) |
{ |
int jj=0, last=-1; |
do{ |
280,18 → 285,6 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
/* strtok( LPSTR dest, src, divs); |
src - óêàçàòåëü íà èñõîäíóþ ñòðîêó èëè ðåçóëüòàò ïðåäûäóùåãî âûçîâà |
dest - óêàçàòåëü íà áóôåð, êóäà áóäåò ñêîïèðîâàíî ñëîâî |