亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? string.h

?? linux0.01
?? H
字號:
#ifndef _STRING_H_
#define _STRING_H_

#ifndef NULL
#define NULL ((void *) 0)
#endif

#ifndef _SIZE_T
#define _SIZE_T
typedef unsigned int size_t;
#endif

extern char * strerror(int errno);

/*
 * This string-include defines all string functions as inline
 * functions. Use gcc. It also assumes ds=es=data space, this should be
 * normal. Most of the string-functions are rather heavily hand-optimized,
 * see especially strtok,strstr,str[c]spn. They should work, but are not
 * very easy to understand. Everything is done entirely within the register
 * set, making the functions fast and clean. String instructions have been
 * used through-out, making for "slightly" unclear code :-)
 *
 *		(C) 1991 Linus Torvalds
 */
 
extern inline char * strcpy(char * dest,const char *src)
{
__asm__("cld\n"
	"1:\tlodsb\n\t"
	"stosb\n\t"
	"testb %%al,%%al\n\t"
	"jne 1b"
	::"S" (src),"D" (dest):"si","di","ax");
return dest;
}

extern inline char * strncpy(char * dest,const char *src,int count)
{
__asm__("cld\n"
	"1:\tdecl %2\n\t"
	"js 2f\n\t"
	"lodsb\n\t"
	"stosb\n\t"
	"testb %%al,%%al\n\t"
	"jne 1b\n\t"
	"rep\n\t"
	"stosb\n"
	"2:"
	::"S" (src),"D" (dest),"c" (count):"si","di","ax","cx");
return dest;
}

extern inline char * strcat(char * dest,const char * src)
{
__asm__("cld\n\t"
	"repne\n\t"
	"scasb\n\t"
	"decl %1\n"
	"1:\tlodsb\n\t"
	"stosb\n\t"
	"testb %%al,%%al\n\t"
	"jne 1b"
	::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff):"si","di","ax","cx");
return dest;
}

extern inline char * strncat(char * dest,const char * src,int count)
{
__asm__("cld\n\t"
	"repne\n\t"
	"scasb\n\t"
	"decl %1\n\t"
	"movl %4,%3\n"
	"1:\tdecl %3\n\t"
	"js 2f\n\t"
	"lodsb\n\t"
	"stosb\n\t"
	"testb %%al,%%al\n\t"
	"jne 1b\n"
	"2:\txorl %2,%2\n\t"
	"stosb"
	::"S" (src),"D" (dest),"a" (0),"c" (0xffffffff),"g" (count)
	:"si","di","ax","cx");
return dest;
}

extern inline int strcmp(const char * cs,const char * ct)
{
register int __res __asm__("ax");
__asm__("cld\n"
	"1:\tlodsb\n\t"
	"scasb\n\t"
	"jne 2f\n\t"
	"testb %%al,%%al\n\t"
	"jne 1b\n\t"
	"xorl %%eax,%%eax\n\t"
	"jmp 3f\n"
	"2:\tmovl $1,%%eax\n\t"
	"jl 3f\n\t"
	"negl %%eax\n"
	"3:"
	:"=a" (__res):"D" (cs),"S" (ct):"si","di");
return __res;
}

extern inline int strncmp(const char * cs,const char * ct,int count)
{
register int __res __asm__("ax");
__asm__("cld\n"
	"1:\tdecl %3\n\t"
	"js 2f\n\t"
	"lodsb\n\t"
	"scasb\n\t"
	"jne 3f\n\t"
	"testb %%al,%%al\n\t"
	"jne 1b\n"
	"2:\txorl %%eax,%%eax\n\t"
	"jmp 4f\n"
	"3:\tmovl $1,%%eax\n\t"
	"jl 4f\n\t"
	"negl %%eax\n"
	"4:"
	:"=a" (__res):"D" (cs),"S" (ct),"c" (count):"si","di","cx");
return __res;
}

extern inline char * strchr(const char * s,char c)
{
register char * __res __asm__("ax");
__asm__("cld\n\t"
	"movb %%al,%%ah\n"
	"1:\tlodsb\n\t"
	"cmpb %%ah,%%al\n\t"
	"je 2f\n\t"
	"testb %%al,%%al\n\t"
	"jne 1b\n\t"
	"movl $1,%1\n"
	"2:\tmovl %1,%0\n\t"
	"decl %0"
	:"=a" (__res):"S" (s),"0" (c):"si");
return __res;
}

extern inline char * strrchr(const char * s,char c)
{
register char * __res __asm__("dx");
__asm__("cld\n\t"
	"movb %%al,%%ah\n"
	"1:\tlodsb\n\t"
	"cmpb %%ah,%%al\n\t"
	"jne 2f\n\t"
	"movl %%esi,%0\n\t"
	"decl %0\n"
	"2:\ttestb %%al,%%al\n\t"
	"jne 1b"
	:"=d" (__res):"0" (0),"S" (s),"a" (c):"ax","si");
return __res;
}

extern inline int strspn(const char * cs, const char * ct)
{
register char * __res __asm__("si");
__asm__("cld\n\t"
	"movl %4,%%edi\n\t"
	"repne\n\t"
	"scasb\n\t"
	"notl %%ecx\n\t"
	"decl %%ecx\n\t"
	"movl %%ecx,%%edx\n"
	"1:\tlodsb\n\t"
	"testb %%al,%%al\n\t"
	"je 2f\n\t"
	"movl %4,%%edi\n\t"
	"movl %%edx,%%ecx\n\t"
	"repne\n\t"
	"scasb\n\t"
	"je 1b\n"
	"2:\tdecl %0"
	:"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct)
	:"ax","cx","dx","di");
return __res-cs;
}

extern inline int strcspn(const char * cs, const char * ct)
{
register char * __res __asm__("si");
__asm__("cld\n\t"
	"movl %4,%%edi\n\t"
	"repne\n\t"
	"scasb\n\t"
	"notl %%ecx\n\t"
	"decl %%ecx\n\t"
	"movl %%ecx,%%edx\n"
	"1:\tlodsb\n\t"
	"testb %%al,%%al\n\t"
	"je 2f\n\t"
	"movl %4,%%edi\n\t"
	"movl %%edx,%%ecx\n\t"
	"repne\n\t"
	"scasb\n\t"
	"jne 1b\n"
	"2:\tdecl %0"
	:"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct)
	:"ax","cx","dx","di");
return __res-cs;
}

extern inline char * strpbrk(const char * cs,const char * ct)
{
register char * __res __asm__("si");
__asm__("cld\n\t"
	"movl %4,%%edi\n\t"
	"repne\n\t"
	"scasb\n\t"
	"notl %%ecx\n\t"
	"decl %%ecx\n\t"
	"movl %%ecx,%%edx\n"
	"1:\tlodsb\n\t"
	"testb %%al,%%al\n\t"
	"je 2f\n\t"
	"movl %4,%%edi\n\t"
	"movl %%edx,%%ecx\n\t"
	"repne\n\t"
	"scasb\n\t"
	"jne 1b\n\t"
	"decl %0\n\t"
	"jmp 3f\n"
	"2:\txorl %0,%0\n"
	"3:"
	:"=S" (__res):"a" (0),"c" (0xffffffff),"0" (cs),"g" (ct)
	:"ax","cx","dx","di");
return __res;
}

extern inline char * strstr(const char * cs,const char * ct)
{
register char * __res __asm__("ax");
__asm__("cld\n\t" \
	"movl %4,%%edi\n\t"
	"repne\n\t"
	"scasb\n\t"
	"notl %%ecx\n\t"
	"decl %%ecx\n\t"	/* NOTE! This also sets Z if searchstring='' */
	"movl %%ecx,%%edx\n"
	"1:\tmovl %4,%%edi\n\t"
	"movl %%esi,%%eax\n\t"
	"movl %%edx,%%ecx\n\t"
	"repe\n\t"
	"cmpsb\n\t"
	"je 2f\n\t"		/* also works for empty string, see above */
	"xchgl %%eax,%%esi\n\t"
	"incl %%esi\n\t"
	"cmpb $0,-1(%%eax)\n\t"
	"jne 1b\n\t"
	"xorl %%eax,%%eax\n\t"
	"2:"
	:"=a" (__res):"0" (0),"c" (0xffffffff),"S" (cs),"g" (ct)
	:"cx","dx","di","si");
return __res;
}

extern inline int strlen(const char * s)
{
register int __res __asm__("cx");
__asm__("cld\n\t"
	"repne\n\t"
	"scasb\n\t"
	"notl %0\n\t"
	"decl %0"
	:"=c" (__res):"D" (s),"a" (0),"0" (0xffffffff):"di");
return __res;
}

extern char * ___strtok;

extern inline char * strtok(char * s,const char * ct)
{
register char * __res __asm__("si");
__asm__("testl %1,%1\n\t"
	"jne 1f\n\t"
	"testl %0,%0\n\t"
	"je 8f\n\t"
	"movl %0,%1\n"
	"1:\txorl %0,%0\n\t"
	"movl $-1,%%ecx\n\t"
	"xorl %%eax,%%eax\n\t"
	"cld\n\t"
	"movl %4,%%edi\n\t"
	"repne\n\t"
	"scasb\n\t"
	"notl %%ecx\n\t"
	"decl %%ecx\n\t"
	"je 7f\n\t"			/* empty delimeter-string */
	"movl %%ecx,%%edx\n"
	"2:\tlodsb\n\t"
	"testb %%al,%%al\n\t"
	"je 7f\n\t"
	"movl %4,%%edi\n\t"
	"movl %%edx,%%ecx\n\t"
	"repne\n\t"
	"scasb\n\t"
	"je 2b\n\t"
	"decl %1\n\t"
	"cmpb $0,(%1)\n\t"
	"je 7f\n\t"
	"movl %1,%0\n"
	"3:\tlodsb\n\t"
	"testb %%al,%%al\n\t"
	"je 5f\n\t"
	"movl %4,%%edi\n\t"
	"movl %%edx,%%ecx\n\t"
	"repne\n\t"
	"scasb\n\t"
	"jne 3b\n\t"
	"decl %1\n\t"
	"cmpb $0,(%1)\n\t"
	"je 5f\n\t"
	"movb $0,(%1)\n\t"
	"incl %1\n\t"
	"jmp 6f\n"
	"5:\txorl %1,%1\n"
	"6:\tcmpb $0,(%0)\n\t"
	"jne 7f\n\t"
	"xorl %0,%0\n"
	"7:\ttestl %0,%0\n\t"
	"jne 8f\n\t"
	"movl %0,%1\n"
	"8:"
	:"=b" (__res),"=S" (___strtok)
	:"0" (___strtok),"1" (s),"g" (ct)
	:"ax","cx","dx","di");
return __res;
}

extern inline void * memcpy(void * dest,const void * src, int n)
{
__asm__("cld\n\t"
	"rep\n\t"
	"movsb"
	::"c" (n),"S" (src),"D" (dest)
	:"cx","si","di");
return dest;
}

extern inline void * memmove(void * dest,const void * src, int n)
{
if (dest<src)
__asm__("cld\n\t"
	"rep\n\t"
	"movsb"
	::"c" (n),"S" (src),"D" (dest)
	:"cx","si","di");
else
__asm__("std\n\t"
	"rep\n\t"
	"movsb"
	::"c" (n),"S" (src+n-1),"D" (dest+n-1)
	:"cx","si","di");
return dest;
}

extern inline int memcmp(const void * cs,const void * ct,int count)
{
register int __res __asm__("ax");
__asm__("cld\n\t"
	"repe\n\t"
	"cmpsb\n\t"
	"je 1f\n\t"
	"movl $1,%%eax\n\t"
	"jl 1f\n\t"
	"negl %%eax\n"
	"1:"
	:"=a" (__res):"0" (0),"D" (cs),"S" (ct),"c" (count)
	:"si","di","cx");
return __res;
}

extern inline void * memchr(const void * cs,char c,int count)
{
register void * __res __asm__("di");
if (!count)
	return NULL;
__asm__("cld\n\t"
	"repne\n\t"
	"scasb\n\t"
	"je 1f\n\t"
	"movl $1,%0\n"
	"1:\tdecl %0"
	:"=D" (__res):"a" (c),"D" (cs),"c" (count)
	:"cx");
return __res;
}

extern inline void * memset(void * s,char c,int count)
{
__asm__("cld\n\t"
	"rep\n\t"
	"stosb"
	::"a" (c),"D" (s),"c" (count)
	:"cx","di");
return s;
}

#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲国产日日夜夜| 国产精品美女久久福利网站 | 国产日韩欧美不卡在线| 国产a久久麻豆| 欧美国产精品中文字幕| 不卡影院免费观看| 一区二区三区日韩欧美精品| 欧美日韩国产精选| 麻豆一区二区在线| 久久精品人人爽人人爽| 99国产精品久久久久| 亚洲国产精品欧美一二99| 5月丁香婷婷综合| 国产美女视频91| 亚洲欧洲精品一区二区三区| 欧美日韩久久一区二区| 九九热在线视频观看这里只有精品| 日本一区二区三区高清不卡| 91麻豆国产自产在线观看| 天天色综合天天| 久久精品一区二区三区不卡| 色综合久久综合网| 捆绑紧缚一区二区三区视频| 欧美激情一区二区三区蜜桃视频| 91国偷自产一区二区三区观看| 日韩黄色小视频| 国产精品丝袜黑色高跟| 欧美午夜影院一区| 国产一区二区精品久久| 一区二区三区在线视频播放| 精品国产一区二区三区久久影院| 97精品超碰一区二区三区| 蜜臀久久99精品久久久久久9| 国产三级三级三级精品8ⅰ区| 欧美日韩成人高清| 成人伦理片在线| 精品伊人久久久久7777人| 亚洲精品国产无天堂网2021| 久久女同性恋中文字幕| 欧美色涩在线第一页| 国产成人无遮挡在线视频| 天堂成人免费av电影一区| 国产欧美精品区一区二区三区 | 666欧美在线视频| av毛片久久久久**hd| 韩国av一区二区三区四区| 亚洲成人激情社区| 国产精品美女久久久久高潮| 久久综合色婷婷| 在线不卡欧美精品一区二区三区| 成人美女视频在线观看| 国精品**一区二区三区在线蜜桃| 亚洲gay无套男同| 亚洲欧洲av另类| 国产午夜精品福利| 日韩精品一区在线| 欧美一区二区三区日韩视频| 97久久精品人人做人人爽 | 香蕉av福利精品导航| 亚洲视频 欧洲视频| 国产欧美一区二区精品性色| 欧美一区二区三区四区在线观看| 欧美性猛片xxxx免费看久爱| 色婷婷综合视频在线观看| 成人h动漫精品| 成人午夜又粗又硬又大| 高清不卡一区二区| 国产精品夜夜爽| 国产激情精品久久久第一区二区 | 这里是久久伊人| 欧美日韩国产另类不卡| 欧美日韩在线精品一区二区三区激情| 91小宝寻花一区二区三区| a4yy欧美一区二区三区| av中文字幕不卡| 99re热视频精品| 欧美亚洲动漫另类| 欧美特级限制片免费在线观看| 在线观看中文字幕不卡| 在线视频国产一区| 欧美巨大另类极品videosbest| 884aa四虎影成人精品一区| 欧美精品亚洲二区| 51午夜精品国产| 欧美va亚洲va国产综合| 精品伦理精品一区| 亚洲国产高清不卡| 日韩毛片在线免费观看| 亚洲一区二区三区国产| 天天色综合成人网| 精品一区二区三区影院在线午夜 | 免费精品视频最新在线| 久久精品国产**网站演员| 狠狠色伊人亚洲综合成人| 福利电影一区二区| 91在线国产观看| 欧美在线啊v一区| 日韩免费视频一区二区| 久久久久久久av麻豆果冻| 国产精品国产三级国产三级人妇 | 欧美不卡视频一区| 久久久99精品免费观看| 综合欧美亚洲日本| 婷婷开心激情综合| 国产精品一线二线三线| 91免费视频网址| 欧美一级二级在线观看| 国产精品久久久久久久久晋中| 一区二区三区中文字幕电影| 日本中文一区二区三区| 成人高清在线视频| 欧美裸体bbwbbwbbw| 国产三区在线成人av| 亚洲香蕉伊在人在线观| 国内精品嫩模私拍在线| 91麻豆swag| 精品久久久影院| 亚洲裸体在线观看| 久久精品国产亚洲5555| 91猫先生在线| 久久你懂得1024| 香港成人在线视频| 99在线精品视频| 日韩美女在线视频| 一区二区三区精品在线| 激情久久五月天| 欧美美女一区二区在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久精品国产一区二区三| 色综合久久久久综合99| 久久久高清一区二区三区| 午夜精品久久久久久久久久 | 欧美在线一区二区三区| 国产精品天美传媒沈樵| 久久电影国产免费久久电影| 欧美亚洲一区二区在线观看| 国产精品丝袜在线| 国产在线播放一区二区三区| 欧美日韩国产综合草草| 亚洲视频一区在线| 国产精品一区2区| 91精品国产综合久久精品app| 亚洲日本丝袜连裤袜办公室| 国产91清纯白嫩初高中在线观看 | 国产美女av一区二区三区| 欧美美女bb生活片| 亚洲自拍与偷拍| 色综合欧美在线视频区| 国产精品色呦呦| 国产精品一区二区在线观看不卡| 666欧美在线视频| 午夜精品在线看| 在线免费不卡视频| 一区二区在线观看视频在线观看| 99久免费精品视频在线观看| 久久久777精品电影网影网| 久久91精品国产91久久小草| 欧美成人精品二区三区99精品| 婷婷夜色潮精品综合在线| 欧美色老头old∨ideo| 亚洲妇熟xx妇色黄| 欧洲精品在线观看| 亚洲一区二区三区四区在线观看| 色综合欧美在线| 亚洲影视在线播放| 欧美日韩一区二区欧美激情| 亚洲国产欧美一区二区三区丁香婷| 日本韩国欧美在线| 一区二区三区.www| 欧美日韩一本到| 午夜国产不卡在线观看视频| 欧美系列一区二区| 午夜久久久久久久久久一区二区| 欧美肥胖老妇做爰| 精品一二三四区| 国产亚洲一二三区| 成人av资源下载| 一区二区在线观看免费| 欧美视频一区在线| 日本欧美一区二区| 久久久精品天堂| 成人高清免费在线播放| 亚洲老司机在线| 欧美另类z0zxhd电影| 捆绑变态av一区二区三区| 国产三级精品视频| 一本一道综合狠狠老| 日韩av不卡在线观看| 久久精品人人爽人人爽| 99久久综合精品| 亚洲gay无套男同| 久久久亚洲精品石原莉奈| 国产大陆a不卡| 亚洲精品免费播放| 日韩欧美一区中文| 成人美女视频在线观看18| 亚洲成在线观看| 精品国产乱码久久久久久图片 | 成人中文字幕在线| 亚洲国产美国国产综合一区二区|