Subversion Repositories Kolibri OS

Rev

Rev 3225 | Rev 3444 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 3225 Rev 3363
Line 1... Line 1...
1
//------------------------------------------------------------------------------
1
//------------------------------------------------------------------------------
2
// strcmp( ESI, EDI)
2
// strcmp( ESI, EDI)
3
// strlen( EDI)
3
// strlen( EDI)
4
// strcpy( EDI, ESI) --- 0 if ==
4
// strcpy( EDI, ESI) --- 0 if ==
5
// strcat( EDI, ESI)
5
// strcat( EDI, ESI)
6
// strchr( ESI,BL)
6
// strchr( ESI,BL) --- find first BL
7
// strrchr( ESI,BL)
7
// strrchr( ESI,BL) --- find last BL
8
// strstr( EBX, EDX)
8
// strstr( EBX, EDX)
9
// itoa( ESI)
9
// itoa( ESI)
10
// atoi( EAX)
10
// atoi( EAX)
11
// strupr( ESI)
11
// strupr( ESI)
12
// strlwr( ESI) --- kyrillic symbols may not work
12
// strlwr( ESI) --- kyrillic symbols may not work
Line 58... Line 58...
58
	$REPNE $SCASB
58
	$REPNE $SCASB
59
	EAX-=2+ECX;
59
	EAX-=2+ECX;
60
}
60
}
Line 61... Line 61...
61
 
61
 
62
 
62
 
63
inline fastcall strcpy( EDI, ESI)
63
inline fastcall void strcpy( EDI, ESI)
64
{
64
{
65
	$cld
65
	$cld
66
L2:
66
L2:
Line 84... Line 84...
84
	return 0;
84
	return 0;
85
}
85
}
Line 86... Line 86...
86
 
86
 
87
 
87
 
88
 
88
 
89
inline fastcall strcat( EDI, ESI)
89
inline fastcall void strcat( EDI, ESI)
90
{
90
{
91
  asm {
91
  asm {
Line 112... Line 112...
112
    rep movsb
112
    rep movsb
113
    mov eax, ebx
113
    mov eax, ebx
114
	}
114
	}
115
}
115
}
Line -... Line 116...
-
 
116
 
-
 
117
inline fastcall void chrcat(ESI, BL)
-
 
118
{
-
 
119
	EDI = strlen(ESI);
-
 
120
	ESBYTE[ESI+EDI] = BL;
-
 
121
	ESBYTE[ESI+EDI+1] = 0;
-
 
122
}
Line 116... Line 123...
116
 
123
 
117
 
124
 
118
inline fastcall signed int strchr( ESI,BL)
125
inline fastcall signed int strchr( ESI,BL)
119
{
126
{
Line 149... Line 156...
149
	}
156
	}
150
	return num;
157
	return num;
151
}
158
}
Line 152... Line 159...
152
 
159
 
153
 
160
 
154
inline fastcall dword strstr( EBX, EDX)
161
inline fastcall signed int strstr( EBX, EDX)
155
{
162
{
156
  asm {
163
  asm {
157
    MOV EDI, EDX
164
    MOV EDI, EDX
Line 341... Line 348...
341
	char tmpch[11];
348
	char tmpch[11];
342
	strcpy(#tmpch, itoa(d_int));
349
	strcpy(#tmpch, itoa(d_int));
343
	debug(#tmpch);
350
	debug(#tmpch);
344
}
351
}
Line -... Line 352...
-
 
352
 
345
 
353
 
346
/* strtok( LPSTR dest, src, divs);
354
/* strtok( LPSTR dest, src, divs);
347
src - óêàçàòåëü íà èñõîäíóþ ñòðîêó èëè ðåçóëüòàò ïðåäûäóùåãî âûçîâà
355
src - óêàçàòåëü íà èñõîäíóþ ñòðîêó èëè ðåçóëüòàò ïðåäûäóùåãî âûçîâà
348
dest - óêàçàòåëü íà áóôåð, êóäà áóäåò ñêîïèðîâàíî ñëîâî
356
dest - óêàçàòåëü íà áóôåð, êóäà áóäåò ñêîïèðîâàíî ñëîâî
349
divs - óêàçàòåëü íà ñòðîêó, ñîäåðæàùóþ ñèìâîëû-ðàçäåëèòåëè
357
divs - óêàçàòåëü íà ñòðîêó, ñîäåðæàùóþ ñèìâîëû-ðàçäåëèòåëè