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

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

?? string.h

?? linux0.11內核源代碼,學習內核入門必看
?? H
字號:
#ifndef _STRING_H_#define _STRING_H_#ifndef NULL#define NULL ((void *) 0)#endif#ifndef _SIZE_T#define _SIZE_Ttypedef unsigned int size_t;#endifextern 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一区二区三区免费野_久草精品视频
欧美性猛交xxxx黑人交| 欧美日韩精品一区二区| 日韩 欧美一区二区三区| 亚洲香肠在线观看| 亚洲综合成人在线视频| 亚洲成a人片在线不卡一二三区| 亚洲男人都懂的| 亚洲一二三区视频在线观看| 午夜精品久久久久久久久久久| 天天综合网天天综合色| 国产一区二区三区免费| 成人听书哪个软件好| k8久久久一区二区三区| 精品污污网站免费看| 日韩欧美的一区二区| 中文字幕成人av| 亚洲综合无码一区二区| 麻豆精品一区二区综合av| 国产sm精品调教视频网站| 日本高清成人免费播放| 日韩一区二区电影在线| 国产日韩一级二级三级| 日韩美女视频19| 日日夜夜精品免费视频| 国产99精品国产| 欧美日韩在线播放三区| 久久精品亚洲精品国产欧美| 亚洲乱码日产精品bd| 美女精品自拍一二三四| 99久久伊人精品| 欧美久久婷婷综合色| 国产人成亚洲第一网站在线播放| 亚洲欧美日韩国产综合在线| 亚洲成人久久影院| 波多野结衣中文字幕一区 | 色婷婷亚洲一区二区三区| 欧美专区在线观看一区| 久久亚区不卡日本| 亚洲成人你懂的| av亚洲精华国产精华| 欧美一区在线视频| 亚洲欧美色图小说| 久久电影网站中文字幕| 在线观看国产91| 国产精品国产三级国产| 美女诱惑一区二区| 在线亚洲一区二区| 亚洲国产精品高清| 国产麻豆精品在线| 91精品蜜臀在线一区尤物| 亚洲精品国产一区二区三区四区在线| 麻豆专区一区二区三区四区五区| 在线观看日韩电影| 亚洲精品欧美在线| 国产sm精品调教视频网站| 日韩精品一区二区三区在线播放| 一区二区三区国产精品| 99精品欧美一区二区蜜桃免费| 欧美电视剧在线观看完整版| 日本午夜精品视频在线观看 | xnxx国产精品| 五月婷婷欧美视频| 欧美三级日韩三级| 亚洲一级电影视频| 在线观看日韩国产| 亚洲自拍另类综合| 欧美色视频一区| 亚洲国产aⅴ成人精品无吗| 99久久综合99久久综合网站| 国产日韩影视精品| 国产jizzjizz一区二区| 欧美极品xxx| 久久精品人人爽人人爽| 欧美经典一区二区| 丁香天五香天堂综合| 日本一区二区成人| 成人小视频在线| 国产精品网站在线播放| 国产精品一区二区免费不卡 | 亚洲日本va在线观看| 日本一道高清亚洲日美韩| 在线看不卡av| 午夜精品aaa| 欧美一区二区黄| 国内久久精品视频| 国产色婷婷亚洲99精品小说| 国产成人精品一区二区三区四区| 精品国产免费人成电影在线观看四季 | 亚洲一级片在线观看| 欧美日韩黄色一区二区| 久久精品国产99国产精品| 久久久久久97三级| 色成年激情久久综合| 日韩高清一区二区| 国产午夜精品一区二区三区视频| 不卡av免费在线观看| 午夜欧美2019年伦理| 欧美精品一区二区三区高清aⅴ | 欧美一区欧美二区| 韩国精品主播一区二区在线观看 | 色综合久久久久久久久久久| 亚洲成年人网站在线观看| 精品国产麻豆免费人成网站| 99久久99久久综合| 午夜精品久久久久久不卡8050| 精品国精品自拍自在线| 97久久人人超碰| 麻豆精品国产传媒mv男同| 国产精品久久久久久久久晋中| 欧美美女一区二区在线观看| 紧缚奴在线一区二区三区| 亚洲三级免费观看| 欧美大片在线观看| 在线国产电影不卡| 国产91在线看| 日本中文字幕一区二区视频 | 国产日韩在线不卡| 欧美人妖巨大在线| 91免费在线看| 国产成人精品影视| 看电视剧不卡顿的网站| 一区二区在线观看视频| 日韩精品一区二区三区swag| 欧美四级电影网| 99热这里都是精品| 免费观看日韩av| 亚洲图片欧美一区| 自拍偷拍亚洲欧美日韩| 久久男人中文字幕资源站| 9191国产精品| 在线视频观看一区| 99精品一区二区三区| 高清不卡一区二区在线| 免费三级欧美电影| 热久久一区二区| 亚洲bdsm女犯bdsm网站| 亚洲综合小说图片| 一区二区三区日韩欧美精品| 国产精品免费av| 国产欧美日韩激情| 国产视频在线观看一区二区三区 | 国产成人精品免费| 国产一区视频导航| 久久机这里只有精品| 日产国产高清一区二区三区| 日韩激情视频在线观看| 亚洲h动漫在线| 日韩高清不卡在线| 日韩不卡一区二区三区| 另类小说一区二区三区| 麻豆精品一区二区综合av| 久久aⅴ国产欧美74aaa| 久久国产精品无码网站| 激情综合亚洲精品| 国产精品一品视频| 成人网在线播放| 日本精品一区二区三区四区的功能| 91视视频在线观看入口直接观看www | 欧美日本一区二区三区| 337p亚洲精品色噜噜狠狠| 欧美日韩国产精品成人| 91精品国产福利| 精品国产免费一区二区三区四区| 欧美白人最猛性xxxxx69交| 久久男人中文字幕资源站| 日本一区二区电影| 夜夜嗨av一区二区三区四季av | 一区二区三区在线看| 亚洲小说欧美激情另类| 日韩高清国产一区在线| 国产精品一区二区免费不卡| 99r精品视频| 欧美日韩免费一区二区三区| 日韩欧美一卡二卡| 欧美高清在线视频| 亚洲第一综合色| 日韩电影网1区2区| 国产精品一区二区你懂的| 北条麻妃一区二区三区| 97精品久久久午夜一区二区三区| 成人免费不卡视频| 91麻豆精品秘密| 精品日韩99亚洲| 亚洲人成人一区二区在线观看| 亚洲高清不卡在线| 国内精品国产成人| 国产乱子伦视频一区二区三区| 国产成人亚洲综合a∨婷婷图片 | 久久日一线二线三线suv| 综合久久给合久久狠狠狠97色 | 日韩国产在线一| 丁香网亚洲国际| 欧美一区二区三区视频免费播放| 日韩欧美一级精品久久| 亚洲三级在线免费观看| 国产精品系列在线观看| 欧美视频中文一区二区三区在线观看 | 国产电影精品久久禁18| 欧美男女性生活在线直播观看 | 国内精品不卡在线|