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

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

?? 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 */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久久久久久岛国免费| 欧美三级电影网站| 日本不卡高清视频| 一区二区三区在线视频观看 | 久久99精品久久久久久动态图| 一个色在线综合| 亚洲国产美女搞黄色| 一区二区三区高清在线| 一区二区三区**美女毛片| 亚洲成av人片一区二区| 日日摸夜夜添夜夜添国产精品| 亚洲大片在线观看| 麻豆成人av在线| 国产成人av电影在线| 成人免费视频免费观看| 99riav久久精品riav| 欧美中文字幕久久| 制服丝袜亚洲播放| 国产亚洲短视频| 亚洲啪啪综合av一区二区三区| 精品一区二区日韩| 成人在线视频一区二区| 色婷婷综合久久| 日韩三级在线观看| 国产精品卡一卡二| 丝袜美腿亚洲色图| 国产永久精品大片wwwapp | 亚洲精品一卡二卡| 三级久久三级久久| 国产成人精品免费在线| 91国内精品野花午夜精品| 欧美精品久久一区| 欧美国产1区2区| 亚洲国产日产av| 国产黄色成人av| 欧美日韩国产免费| 国产亚洲欧美在线| 天天色天天操综合| va亚洲va日韩不卡在线观看| 91精品国产综合久久精品| 欧美国产精品v| 日本视频一区二区| 91在线云播放| 久久久久久久久久久久电影| 一区二区三区久久| 国产成人av网站| 在线观看av一区二区| 亚洲国产精品av| 久久超碰97人人做人人爱| 日本精品一区二区三区四区的功能| 精品日韩99亚洲| 亚洲成人av一区二区三区| 成人动漫av在线| 久久综合国产精品| 日韩国产成人精品| 欧美三级视频在线| 最近日韩中文字幕| 国产成人av电影在线播放| 精品久久一区二区三区| 天堂一区二区在线| 欧美在线免费播放| 亚洲你懂的在线视频| 北条麻妃一区二区三区| 久久久久久久综合日本| 麻豆传媒一区二区三区| 欧美一区二区三区播放老司机| 一区二区三区在线视频观看58| 国产91富婆露脸刺激对白| 精品国产青草久久久久福利| 日韩黄色免费电影| 6080亚洲精品一区二区| 三级欧美在线一区| 欧美二区在线观看| 日韩av网站免费在线| 欧美日韩中文一区| 丝袜脚交一区二区| 欧美精品v日韩精品v韩国精品v| 亚洲一二三四久久| 在线免费观看视频一区| 亚洲精品日产精品乱码不卡| 91黄色免费看| 性做久久久久久免费观看欧美| 欧美视频在线一区二区三区 | 97精品久久久久中文字幕| 国产精品天天看| 成人avav影音| 亚洲免费av高清| 欧美日韩小视频| 日韩不卡一二三区| 久久天天做天天爱综合色| 国产高清亚洲一区| 亚洲日本中文字幕区| 欧美亚洲综合另类| 美女免费视频一区二区| 26uuu精品一区二区三区四区在线| 激情五月播播久久久精品| 国产偷国产偷亚洲高清人白洁| 成人av中文字幕| 亚洲主播在线播放| 日韩精品在线看片z| 国产不卡视频一区二区三区| 中文字幕在线不卡| 91麻豆精品国产| 国产传媒欧美日韩成人| 亚洲乱码国产乱码精品精98午夜 | 精品一区二区三区在线播放视频 | 综合欧美亚洲日本| 91精品一区二区三区在线观看| 精品亚洲成a人在线观看| 国产精品久久久久久久久免费桃花| 欧美亚洲综合另类| 国产一区二区三区免费看| 亚洲欧美日韩一区二区| 欧美一区二区在线免费播放| 岛国精品一区二区| 日本亚洲免费观看| 中文字幕一区二区在线播放| 欧美另类z0zxhd电影| 成人一级片网址| 免费观看久久久4p| 日韩美女久久久| 337p粉嫩大胆色噜噜噜噜亚洲| 欧美老女人在线| 97se亚洲国产综合自在线观| 久久不见久久见中文字幕免费| 亚洲精品videosex极品| 久久久综合精品| 欧美一区二区三区喷汁尤物| 99久久精品一区二区| 国产资源精品在线观看| 日韩高清不卡在线| 亚洲精品成人悠悠色影视| 国产午夜一区二区三区| 日韩一区二区中文字幕| 欧亚洲嫩模精品一区三区| 成人激情校园春色| 国产精品综合一区二区| 久久精品国产一区二区三区免费看| 亚洲精品国产一区二区三区四区在线| 久久久精品影视| 欧美电视剧在线观看完整版| 91精品国产美女浴室洗澡无遮挡| 色94色欧美sute亚洲13| 91香蕉视频mp4| 99精品黄色片免费大全| 99精品视频一区二区| 成人黄色av电影| 成人av在线资源| 91香蕉视频污在线| 91在线观看高清| 一本色道综合亚洲| 色婷婷激情综合| 色哦色哦哦色天天综合| 91麻豆国产香蕉久久精品| 99久久伊人网影院| 97国产精品videossex| 777久久久精品| 欧美一区二区啪啪| 日韩色视频在线观看| 欧美tk丨vk视频| 精品国产一区二区三区忘忧草| 欧美一级精品大片| 久久综合久久99| 国产精品你懂的在线| 国产精品素人一区二区| 亚洲天堂成人网| 亚洲激情图片一区| 天天操天天综合网| 久久99久国产精品黄毛片色诱| 国产米奇在线777精品观看| 福利91精品一区二区三区| 成人激情图片网| 在线观看三级视频欧美| 这里是久久伊人| 国产三级精品在线| 椎名由奈av一区二区三区| 午夜精品爽啪视频| 韩国v欧美v亚洲v日本v| eeuss鲁片一区二区三区在线观看| 91在线免费看| 制服丝袜av成人在线看| 国产亚洲1区2区3区| 一二三四区精品视频| 九色|91porny| 色婷婷综合久久久中文字幕| 欧美一区二区黄| 国产精品久久久久影院亚瑟| 亚洲午夜精品在线| 国产裸体歌舞团一区二区| 色就色 综合激情| 精品成人a区在线观看| 综合精品久久久| 美女尤物国产一区| 91麻豆精品在线观看| 精品国产网站在线观看| 一区二区三区欧美在线观看| 国产精品一区久久久久| 欧美日韩一区二区三区不卡| 肉色丝袜一区二区| 成人一道本在线|