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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? unixalib.s

?? vxworks的完整的源代碼
?? S
字號:
/* unixALib.s - network assembly language routines *//* Copyright 1995-2000 Wind River Systems, Inc. */	.data	.global	_copyright_wind_river	.long	_copyright_wind_river/*modification history--------------------01q,21aug00,hk   merge SH7729 to SH7700. simplify CPU conditionals.01p,28mar00,hk   added .type directive to function names.01o,17mar00,zl   made use of alignment macro _ALIGN_TEXT01n,05oct99,zl   updated cksum for little endian release.01m,25feb99,hk   simplified CPU conditional in default of shld instruction.01l,14sep98,hk   simplified CPU conditionals.01k,16jul98,st   added SH7750 support.01k,08may98,jmc  added support for SH-DSP and SH3-DSP.01j,25apr97,hk   changed SH704X to SH7040.01i,05aug96,hk   simpified PORTABLE control. deleted unnecessary comments.		 added shld optimization to csLongBoundary.01h,29jul96,hk   changed to use 'mova', added DEBUG_LOCAL_SYMBOLS option.01g,10jul96,ja   added support for SH7700.01f,23jan96,hk   changed bf/s machine code in csLongLoop to use bf.s.01e,18dec95,hk   added support for SH704X.01d,19may95,hk   tweaking a little. worked around 'mova' alignment problem.01c,15may95,hk   optimized.01b,12may95,hk   mostly optimized.01a,08may95,hk   written based on mc68k-01t.*//* optimized version available for the SH family */#if (defined(PORTABLE) || (CPU_FAMILY != SH))#define unixALib_PORTABLE#endif#ifndef unixALib_PORTABLE#define _ASMLANGUAGE#include "vxWorks.h"#include "asm.h"	/* internals */	.global	_cksum	.global	__insque	.global	__remque#undef	DEBUG_LOCAL_SYMBOLS#ifdef	DEBUG_LOCAL_SYMBOLS	.global	csEvenSum	.global	csEvenBoundary	.global	csLongBoundary	.global	csLongLoop	.global	csStartLoop	.global	csFoldAddT	.global	csChkSwapped	.global	csNotSwapped	.global	csLastSum	.global	csLastFold#endif	/* DEBUG_LOCAL_SYMBOLS */	.text/**************************************************************************** cksum - compute check sum** return 16bit one's complement sum of 'sum' and the 16bit one's* complement sum of the string 'string' of byte length 'len'.* Complicated by 'len' or 'sumlen' not being even.* #define FOLD { lBox.asLong = cSum;  cSum = lBox.asShort[0] + lBox.asShort[1];*                cSum > 0xffff ? cSum -= 0xffff : cSum; }* int cksum*   (*   int       cSum,			/@ previously calculated checksum  @/*   u_short * mPtr,			/@ address of string to be summed  @/*   int       mLen,			/@ length  of string to be summed  @/*   int       sLen			/@ previously summed string length @/*   )*   {*   int                                            swapped = 0;*   union { char    asChar [2]; u_short asShort; } sBox;*   union { u_short asShort[2]; long    asLong;  } lBox;**   if (sLen & 0x1)*	{*	sBox.asChar[0] = 0;*	sBox.asChar[1] = *(char *)mPtr;		/@ 		sBox [0:B] @/*	cSum += sBox.asShort;			/@ 		sBox [_:_] @/*	mPtr = (u_short *)((char *)mPtr + 1);*	mLen--;*	}*   if ((1 & (int)mPtr) && (mLen > 0))		/@ odd boundary            @/*	{					/@                         @/*	FOLD; cSum <<= 8; swapped = 1;		/@ swap byte order         @/*						/@                         @/*	sBox.asChar[0] = *(u_char *)mPtr;	/@ 		sBox [X:_] @/*	mPtr = (u_short *)((char *)mPtr + 1);	/@                         @/*	mLen--;					/@ force even boundary     @/*	}*   while ((mLen -= 2) >= 0) cSum += *mPtr++;	/@ sum up                  @/*						/@ mLen: -2 or -1          @/*   if (swapped)*	{					/@ sum is byte-swapped     @/*	FOLD; cSum <<= 8; swapped = 0;		/@ return to normal order  @/**	if (mLen == -1)*	    {					/@ swapped, mLen was even. @/*	    sBox.asChar[1] = *(char *)mPtr;	/@ 		sBox [X:Y] @/*	    cSum += sBox.asShort;		/@ 		sBox [_:_] @/*	    }*	else{					/@ swapped, mLen was odd.  @/*	    sBox.asChar[1] = 0;			/@ 		sBox [X:0] @/*	    cSum += sBox.asShort;		/@ 		sBox [_:_] @/*	    }*	}*   else{*	if (mLen == -1)*	    {					/@ not swapped, mLen was odd. @/*	    sBox.asChar[0] = *(char *)mPtr;	/@                            @/*	    sBox.asChar[1] = 0;			/@ 		sBox [A:0]    @/*	    cSum += sBox.asShort;		/@ 		sBox [_:_]    @/*	    }*	else;					/@ not swapped, mLen was even.@/*	}*   FOLD;*   return (cSum & 0xffff);*   }*/	.align	_ALIGN_TEXT	.type	_cksum,@function					/* r4: cSum      */					/* r5: mPtr      */					/* r6: mLen (>0) */_cksum:					/* r7: sLen      */	mov	r7,r0	mov	#0,r7			/* r7: swapped = 0 */	tst	#0x1,r0	bt	csEvenSum	mov.b	@r5+,r1;	add	#-1,r6			/* r6: mLen--     */	extu.b	r1,r1			/* r1: 0x000000XX */#if (_BYTE_ORDER == _LITTLE_ENDIAN)	shll8	r1			/* r1: 0x0000XX00 */#endif	add	r1,r4			/* r4: 0x0001ZZZZ */csEvenSum:				/* r6: mLen (>=0) */	mov	r5,r0			/* r5: mPtr */	tst	#0x1,r0	bt	csEvenBoundary		/*     no swap */	cmp/pl	r6			/* r6: mLen */	bf	csEvenBoundary		/*     no swap */	/*-- odd boundary, do swap --*/	/* r4: 0x0001ZZZZ */	shll8	r4			/* r4: 0x01ZZZZ00 */	extu.w	r4,r2			/* r2: 0x0000ZZ00 */	shlr16	r4			/* r4: 0x000001ZZ */	add	r2,r4			/* r4: 0x0001VVVV */	mov	#1,r7	rotr	r7			/* r7: 0x80000000 (swapped) */	mov.b	@r5+,r3	add	#-1,r6			/* r6: mLen-- */	extu.b	r3,r3#if (_BYTE_ORDER == _BIG_ENDIAN)	shll8	r3			/* r3: 0x0000XX00 */#endif	or	r3,r7			/* r7: 0x8000XX00 (swapped | sBox) */	/*-- forced even, swapped --*/csEvenBoundary:	mov	r5,r0			/* r0: mPtr */	tst	#0x2,r0			/*     long boundary?               */	bt	csLongBoundary		/*     if yes, go to long-add stage */	add	#-2,r6			/* r6: mLen -= 2 */	mov	r6,r0			/* r0: mLen (used at csChkSwapped) */	cmp/pz	r6	bf	csChkSwapped	mov.w	@r5+,r1	extu.w	r1,r1	add	r1,r4			/*     overflow not possible */csLongBoundary:				/* r6: mLen                      */	mov	r6,r0			/*     find fractions of a chunk */	and	#0x3c,r0	neg	r0,r2			/* r2: offset from ckStartLoop */	mova	csStartLoop,r0		/* (csStartLoop must be long aligned) */	add	r0,r2	mov	r6,r0	and	#0x3,r0			/* r0: mLen % 4 */#if (CPU==SH7000 || CPU==SH7600)	shlr2	r6	shlr2	r6	shlr2	r6#else	mov	#-6,r1	shld	r1,r6			/* r6: mLen/64 */#endif	add	#1,r6			/* r6: mLen/64 + 1 */	jmp	@r2;	clrt				/*     clear T */					/* r7: (swapped | sBox) */					/* r6: mLen/64 + 1      */					/* r5: mPtr             */					/* r4: cSum             */					/* r3: T-bit storage    */					/* r2:                  */					/* r1:                  */					/* r0: mLen % 4         */	.align	2#if (CPU==SH7000)	nopcsLongLoop:	rotr	r3					/* restore T */#elsecsLongLoop:#endif	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4	mov.l	@r5+,r1;	addc	r1,r4csStartLoop:	movt	r3					/* save T */#if (CPU==SH7000)	add	#-1,r6	tst	r6,r6	bf	csLongLoop#else	dt	r6	bf.s	csLongLoop	rotr	r3			/*     restore T */	rotl	r3			/*     save T */#endif					/* r0: mLen ( 0,  1, 2, 3) */	add	#-2,r0			/* r0: mLen (-2, -1, 0, 1) */	cmp/pz	r0	bf	csFoldAddT					/* r0: mLen ( 0,  1) */	mov.w	@r5+,r1	rotr	r3			/*     restore T */	extu.w	r1,r1	addc	r1,r4	movt	r3			/*     save T */	add	#-2,r0csFoldAddT:				/* r0: mLen (-2, -1) */	extu.w	r4,r2			/* r2: 0x0000FFFF */	shlr16	r4			/* r4: 0x0000FFFF */	add	r2,r4			/* r4: 0x0001FFFE */	add	r3,r4			/* r4: 0x0001FFFF */csChkSwapped:				/* r0: mLen (-1, -2) */	cmp/pz	r7			/* r7: swapped ?  */	extu.w	r7,r3			/* r3: 0x0000XX00 */	bt	csNotSwapped					/* r4: 0xFFFFFFFF */	/* unswap */	extu.w	r4,r2			/* r2: 0x0000FFFF */	shlr16	r4			/* r4: 0x0000FFFF */	add	r2,r4			/* r4: 0x0001FFFE */	shll8	r4			/* r4: 0x01FFFE00 */	cmp/eq	#-1,r0			/* r0:(mLen == -1)? */	bf	csLastSum		/* r3: 0x0000XX00 */	mov.b	@r5,r1	extu.b	r1,r1			/* r1: 0x000000YY */#if (_BYTE_ORDER == _LITTLE_ENDIAN)	shll8	r1			/* r3: 0x0000YY00 */#endif	bra	csLastSum;	or	r1,r3			/* r3: 0x0000XXYY */csNotSwapped:	cmp/eq	#-1,r0			/* r0:(mLen == -1)? */	bf	csLastFold	mov.b	@r5,r3	extu.b	r3,r3#if (_BYTE_ORDER == _BIG_ENDIAN)	shll8	r3			/* r3: 0x0000AA00 */#endifcsLastSum:	add	r3,r4			/* r4: cSum += sBox.asShort   */					/*     overflow not possible. */csLastFold:				/* r4: 0xFFFFFFFF */	extu.w	r4,r2			/* r2: 0x0000FFFF */	shlr16	r4			/* r4: 0x0000FFFF */	add	r2,r4			/* r4: 0x0001FFFE */	extu.w	r4,r0			/* r0: 0x0000FFFE */	shlr16	r4			/* r4: 0x00000001 */	rts;	add	r4,r0			/* r0: 0x0000FFFF *//****************************************************************************** insque - insert a node into a linked list**/	.align	_ALIGN_TEXT	.type	__insque,@function				/* r4: pNode				*/__insque:			/* r5: pPrev				*/	mov.l   @r5,r0;		/* r0: pNext           = pPrev->next	*/	mov.l   r4,@r5		/*     pPrev->next     = pNode		*/	mov.l   r4,@(4,r0)	/*     pNext->previous = pNode		*/	mov.l   r0,@r4		/*     pNode->next     = pNext		*/	rts;			/*					*/	mov.l   r5,@(4,r4)	/*     pNode->previous = pPrev		*//****************************************************************************** remque - delete a node from a linked list** NOTE:	This routine is only used by remque() in h/net/systm.h*/	.align	_ALIGN_TEXT	.type	__remque,@function__remque:		       /* r4: pNode				      */	mov.l   @r4,r0;	       /* r0: pNode->next			      */	mov.l   @(4,r4),r1;    /* r1: pNode->previous			      */	mov.l   r0,@r1	       /*     pNode->previous->next = pNode->next     */	rts;		       /*					      */	mov.l   r1,@(4,r0)     /*     pNode->next->previous = pNode->previous */#endif	/* !unixALib_PORTABLE */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
视频一区视频二区在线观看| 精品视频一区 二区 三区| 国产精品国产三级国产普通话99| 91福利在线看| 国产高清一区日本| 日韩高清一区在线| 亚洲美女视频在线观看| 久久综合av免费| 精品视频一区三区九区| www.成人在线| 成人午夜激情影院| 国产又粗又猛又爽又黄91精品| 亚洲国产视频在线| 17c精品麻豆一区二区免费| 精品国产百合女同互慰| 色综合视频在线观看| 国产成人一区二区精品非洲| 蜜桃视频第一区免费观看| 亚洲码国产岛国毛片在线| 国产片一区二区| 欧美成人性战久久| 欧美在线观看视频在线| 国产经典欧美精品| 久久av资源网| 亚洲午夜在线电影| 国产欧美一区二区三区沐欲| 精品电影一区二区三区| 欧美一区二区网站| 欧美自拍偷拍一区| 成人综合日日夜夜| 国产一区二区三区日韩| 欧美性生活大片视频| 亚洲综合一区二区三区| 床上的激情91.| 久久99久久99| 裸体一区二区三区| 亚洲成人先锋电影| 亚洲图片有声小说| 亚洲电影你懂得| 一区二区三区日韩精品视频| 国产精品国产三级国产普通话三级| 久久综合久久鬼色中文字| 精品欧美黑人一区二区三区| 久久夜色精品一区| 久久久高清一区二区三区| 国产嫩草影院久久久久| 国产精品免费aⅴ片在线观看| 国产日本亚洲高清| 1024国产精品| 亚洲一区视频在线| 日韩国产高清在线| 久久成人羞羞网站| 成人性生交大片| 亚洲成人精品在线观看| 国产99久久久国产精品潘金网站| 国产色婷婷亚洲99精品小说| 久久久久久9999| 国产精品久久久久国产精品日日| 中文字幕一区二区三区精华液| 1024亚洲合集| 亚洲一区二区三区影院| 日韩高清不卡一区二区| 午夜欧美电影在线观看| 五月天激情综合网| 精品制服美女久久| 成人综合婷婷国产精品久久 | 国产福利一区二区三区| 成人综合激情网| 在线看不卡av| 日韩欧美区一区二| 国产精品久久久久久久久图文区| 亚洲精品免费视频| 亚洲一区影音先锋| 久久福利视频一区二区| 成人黄色软件下载| 欧美三级电影在线看| 精品入口麻豆88视频| 日本一区二区视频在线| 亚洲在线视频免费观看| 久久精品国产免费| 99在线精品观看| 7777精品伊人久久久大香线蕉超级流畅| 欧美va亚洲va在线观看蝴蝶网| 久久精品亚洲国产奇米99| 亚洲美女少妇撒尿| 久久疯狂做爰流白浆xx| 成人avav在线| 91麻豆精品国产91久久久使用方法| 91精品国产美女浴室洗澡无遮挡| 日本一区二区三区在线不卡| 亚洲成在线观看| 成人精品鲁一区一区二区| 777xxx欧美| 日韩久久一区二区| 精品在线亚洲视频| 精品视频在线免费观看| 国产精品久久久久婷婷| 男女男精品视频| 91久久国产综合久久| 久久久99久久精品欧美| 婷婷国产v国产偷v亚洲高清| 成人在线视频一区| 精品欧美久久久| 午夜久久久影院| 93久久精品日日躁夜夜躁欧美| 91麻豆精品国产自产在线观看一区 | 国产一区91精品张津瑜| 欧美日韩精品欧美日韩精品一综合| 久久综合九色综合97婷婷| 亚洲va国产va欧美va观看| 99久久99久久免费精品蜜臀| 精品国产三级电影在线观看| 视频一区免费在线观看| 99久久综合精品| 国产丝袜欧美中文另类| 亚洲国产一区在线观看| 91麻豆swag| 久久久综合网站| 激情综合亚洲精品| 在线观看欧美黄色| 国产欧美日韩三区| 麻豆成人久久精品二区三区小说| 欧美无人高清视频在线观看| 成人欧美一区二区三区小说| 国产一区二区三区免费看| 欧美一三区三区四区免费在线看| 亚洲精品日日夜夜| 91视频com| 亚洲欧美福利一区二区| 成人精品视频网站| 1024成人网色www| 色综合网色综合| 国产精品国产三级国产aⅴ中文| 国产精品12区| 久久久国产一区二区三区四区小说| 日韩国产高清影视| 欧美日本精品一区二区三区| 中文字幕在线观看一区二区| 成人av综合一区| 国产精品三级在线观看| 精品一区二区三区视频在线观看| 日韩三级精品电影久久久| 日韩精品三区四区| 欧美一区二区福利视频| 久久99精品国产91久久来源| 久久先锋影音av鲁色资源 | 精品视频在线看| 首页亚洲欧美制服丝腿| 欧美一级一级性生活免费录像| 日本欧洲一区二区| 欧美刺激午夜性久久久久久久| 久久精品国产免费| 国产欧美一区二区精品仙草咪| 丁香婷婷综合五月| 亚洲少妇最新在线视频| 欧美影院午夜播放| 午夜亚洲国产au精品一区二区| 制服.丝袜.亚洲.另类.中文| 激情综合五月婷婷| 国产精品视频九色porn| 91免费观看国产| 亚洲激情第一区| 3751色影院一区二区三区| 国内外成人在线| 亚洲男人的天堂在线aⅴ视频| 欧美在线视频日韩| 毛片av一区二区三区| 国产精品污www在线观看| 在线一区二区三区| 日韩影院精彩在线| 久久久久成人黄色影片| 色综合久久久久综合| 亚洲高清久久久| 欧美一区二区在线视频| 国产99一区视频免费| 亚洲综合免费观看高清完整版在线 | 亚洲国产日韩一级| 日韩午夜在线播放| av在线不卡网| 日韩电影免费在线看| 亚洲国产精品成人综合| 精品视频资源站| 国产成人免费视频精品含羞草妖精| 亚洲欧美区自拍先锋| 欧美日韩大陆在线| 成人免费看的视频| 午夜一区二区三区视频| 国产精品人人做人人爽人人添 | 久久综合一区二区| 色综合久久久网| 久久99国产精品久久| 亚洲精选视频免费看| 日韩精品一区二区三区在线观看 | bt欧美亚洲午夜电影天堂| 日韩中文字幕av电影| 中文字幕色av一区二区三区| 日韩一区二区在线观看视频| 色综合亚洲欧洲| 国产福利91精品| 久久精品国产一区二区三|