Rev 2839 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 2839 | Rev 2844 | ||
---|---|---|---|
Line 4... | Line 4... | ||
4 | // strcpy( EDI, ESI) |
4 | // strcpy( EDI, ESI) |
5 | // strcat( EDI, ESI) |
5 | // strcat( EDI, ESI) |
6 | // strchr( ESI,BL) |
6 | // strchr( ESI,BL) |
7 | // strrchr( ESI,BL) |
7 | // strrchr( ESI,BL) |
8 | // strstr( EBX, EDX) |
8 | // strstr( EBX, EDX) |
9 | // |
9 | // itoa( ESI) |
10 | // IntToStr( ESI) |
10 | // atoi( EAX) |
11 | // StrToInt() |
11 | // strupr( ESI) |
12 | // upcase( ESI) |
12 | // strlwr( ESI) |
13 | // lowcase( ESI) |
13 | // strtok( ESI) |
14 | //------------------------------------------------------------------------------ |
14 | //------------------------------------------------------------------------------ |
Line 15... | Line 15... | ||
15 | 15 | ||
16 | 16 | ||
Line 61... | Line 61... | ||
61 | mov eax, ebx |
61 | mov eax, ebx |
62 | } |
62 | } |
63 | } |
63 | } |
Line 64... | Line 64... | ||
64 | 64 | ||
65 | char buffer[11]; |
65 | char buffer[11]; |
66 | inline fastcall dword IntToStr( ESI) |
66 | inline fastcall dword itoa( ESI) |
67 | { |
67 | { |
68 | $mov edi, #buffer |
68 | $mov edi, #buffer |
69 | $mov ecx, 10 |
69 | $mov ecx, 10 |
70 | $test esi, esi |
70 | $test esi, esi |
Line 89... | Line 89... | ||
89 | $mov eax, #buffer |
89 | $mov eax, #buffer |
90 | $ret |
90 | $ret |
91 | } |
91 | } |
Line 92... | Line 92... | ||
92 | 92 | ||
93 | 93 | ||
94 | inline fastcall dword StrToInt() |
94 | inline fastcall dword atoi( EDI) |
- | 95 | { |
|
95 | { |
96 | //ESI=EDI=EAX; |
96 | ESI=EDI=EAX; |
97 | ESI=EDI; |
97 | IF(DSBYTE[ESI]=='-')ESI++; |
98 | IF(DSBYTE[ESI]=='-')ESI++; |
98 | EAX=0; |
99 | EAX=0; |
99 | BH=AL; |
100 | BH=AL; |
Line 139... | Line 140... | ||
139 | } while(AL!=0); |
140 | } while(AL!=0); |
140 | return last; |
141 | return last; |
141 | } |
142 | } |
Line 142... | Line 143... | ||
142 | 143 | ||
143 | 144 | ||
144 | inline fastcall upcase( ESI) |
145 | inline fastcall strupr( ESI) |
145 | { |
146 | { |
146 | do{ |
147 | do{ |
147 | AL=DSBYTE[ESI]; |
148 | AL=DSBYTE[ESI]; |
148 | IF(AL>='a')IF(AL<='z')DSBYTE[ESI]=AL&0x5f; |
149 | IF(AL>='a')IF(AL<='z')DSBYTE[ESI]=AL&0x5f; |
149 | ESI++; |
150 | ESI++; |
Line 150... | Line 151... | ||
150 | }while(AL!=0); |
151 | }while(AL!=0); |
151 | } |
152 | } |
152 | 153 | ||
153 | inline fastcall lowcase( ESI) |
154 | inline fastcall strlwr( ESI) |
154 | { |
155 | { |
155 | do{ |
156 | do{ |
Line 199... | Line 200... | ||
199 | jmp short ls3 |
200 | jmp short ls3 |
200 | ls2: xor eax, eax |
201 | ls2: xor eax, eax |
201 | ls3: |
202 | ls3: |
202 | } |
203 | } |
203 | }='Z'){ |
204 | } |
204 | >='z')DSBYTE[ESI]=AL&0x5f; |
205 | |
- | 206 | /* strtok( LPSTR dest, src, divs); |
|
- | 207 | src - óêàçàòåëü íà èñõîäíóþ ñòðîêó èëè ðåçóëüòàò ïðåäûäóùåãî âûçîâà |
|
- | 208 | dest - óêàçàòåëü íà áóôåð, êóäà áóäåò ñêîïèðîâàíî ñëîâî |
|
- | 209 | divs - óêàçàòåëü íà ñòðîêó, ñîäåðæàùóþ ñèìâîëû-ðàçäåëèòåëè |
|
- | 210 | Âîçâðàùàåò: 0, åñëè ñëîâ áîëüøå íåò |
|
- | 211 | íå 0, åñëè ñëîâî ñêîïèðîâàíî â dest (ïåðåäàéòå ýòî çíà÷åíèå |
|
- | 212 | â êà÷åñòâå src äëÿ ïîñëåäóþùåãî ïîèñêà) */ |
|
- | 213 | ||
- | 214 | dword fastcall strtok( EDX, ESI, EBX) |
|
- | 215 | { |
|
- | 216 | asm { |
|
- | 217 | XOR ECX, ECX |
|
- | 218 | MOV EDI, EBX |
|
- | 219 | XOR EAX, EAX |
|
- | 220 | DEC ECX |
|
- | 221 | REPNE SCASB |
|
- | 222 | XOR ECX, 0FFFFFFFFH |
|
- | 223 | DEC ECX |
|
- | 224 | PUSH ECX |
|
- | 225 | L1: LODSB |
|
- | 226 | OR AL, AL |
|
- | 227 | JZ L4 |
|
- | 228 | MOV EDI, EBX |
|
- | 229 | MOV ECX, SSDWORD[ ESP] |
|
- | 230 | REPNE SCASB |
|
- | 231 | JZ L1 |
|
- | 232 | DEC ESI |
|
- | 233 | L2: LODSB |
|
- | 234 | MOV EDI, EBX |
|
- | 235 | MOV ECX, SSDWORD[ ESP] |
|
- | 236 | REPNE SCASB |
|
- | 237 | JZ L3 |
|
- | 238 | MOV DSBYTE[ EDX], AL |
|
- | 239 | INC EDX |
|
- | 240 | JMP SHORT L2 |
|
- | 241 | L3: MOV EAX, ESI |
|
- | 242 | L4: POP ECX |
|
- | 243 | } DSBYTE[ EDX] = 0; |
|
- | 244 | }='Z'){ |
|
- | 245 | >='z')DSBYTE[ESI]=AL&0x5f; |