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

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

?? unixalib.s

?? vxwork源代碼
?? S
字號:
/* unixALib.s - Assembler optimised UNIX kernel compatability library *//* Copyright 1996-2001 Wind River Systems, Inc. *//*modification history--------------------01h,17oct01,t_m  convert to FUNC_LABEL:01g,11oct01,jb  Enabling removal of pre-pended underscores for new compilers                 (Diab/Gnu elf)01f,21feb01,cdp  fix cksum loss of carry into high-byte (SPR #29703). Comment.01e,08jul98,cdp  added preliminary big-endian support.01d,10mar98,jpd  layout tidying.01c,27oct97,kkk  took out "***EOF***" line from end of file.01b,23may97,jpd  Amalgamated into VxWorks.01a,16jul96,ams  written.*//*DESCRIPTIONThis library provides routines that simulate or replace Unix kernel functionsthat are used in the network code.*/#define _ASMLANGUAGE#include "vxWorks.h"#include "asm.h"	.data	.globl	FUNC(copyright_wind_river)	.long	FUNC(copyright_wind_river)#if (defined(PORTABLE))#define unixALib_PORTABLE#endif#ifndef unixALib_PORTABLE/* Exports */	.global	FUNC(cksum)		/* checksum routine */	.global	FUNC(_insque)	/* insert node in queue after specified node */	.global	FUNC(_remque)	/* remove specified node */	.text	.balign	4/********************************************************************************* cksum - compute check sum** return 16bit sum of 'sum' and the 16bit sum of the string 'string' of byte* length 'len'. Complicated by 'len' or 'sumlen' not being even.* Note, the one's complement is handled by the caller.** RETURNS: the checksum caclulated** NOMANUAL** int cksum*	(*	int	sum;*	char *	string;*	int	len;*	int	sumlen;*	)*/FUNC_LABEL(cksum)#ifdef STACK_FRAMES	mov	ip, sp	stmdb	sp!, {fp, ip, lr, pc}	sub	fp, ip, #4#endif /* STACK_FRAMES */	cmp	r2, #0#ifdef STACK_FRAMES	ldmeqdb	fp, {fp, sp, pc}#else /* !STACK_FRAMES */	moveq	pc, lr			/* Capture 0 */	stmdb	sp!, {lr}		/* Keep return address */#endif /* STACK_FRAMES */	tst	r3, #1			/* Test sumlen for odd count */	beq	L$_Even_Byte	ldrb	r3, [r1], #1		/* Byte left over from last call */#if (_BYTE_ORDER == _BIG_ENDIAN)	add	r0, r0, r3#else	add	r0, r0, r3, lsl #8	/* Add upper byte */#endif	subs	r2, r2, #1		/* One less byte */	beq	L$_All_DoneL$_Even_Byte:	/* Now try to align to a word boundary */	tst	r1, #3			/* Aligned ? */	moveq	lr, #0			/* No offset */	beq	L$_Word_Align	ldr	r3, [r1, #0]		/* Load word */	/*	 * The following may help with understanding of the next bit.	 * If the bytes in memory from address a contain 11 22 33 44	 * LDR from a+0 => 44332211 (little-endian) 11223344 (big-endian)	 *          a+1 => 11443322                 44112233	 *          a+2 => 22114433                 33441122	 *          a+3 => 33221144                 22334411	 */	and	ip, r1, #3		/* Get no of bytes we need from r3 */	rsb	ip, ip, #4		/* The number of bytes we can get */	cmp	r2, ip			/* Have == Got */	movlt	ip, r2			/* Got == Have */#if (_BYTE_ORDER == _BIG_ENDIAN)	tsts	r1, #1	movne	r3, r3, ror #16		/* move addressed byte to b31..24 */	cmps	ip, #2	mov	lr, #0xff000000		/* At least one byte */	orrge	lr, lr, lr, lsr #8	/* The 2nd byte */	orrgt	lr, lr, lr, lsr #8	/* The third byte */	and	r3, r3, lr		/* Mask out bytes we do not want */	/*	 * r3 contains up to 3 bytes to add, in highest 3 bytes of register	 * This can cause carry (e.g 0xffff + 0xffffff00).	 */	adds	r0, r0, r3		/* Add bytes */	adc	r0, r0, #0		/* add in any possible carry */#else	cmp	ip, #2	mov	lr, #0xff		/* At least one byte */	orrge	lr, lr, lr, lsl #8	/* The 2nd byte */	orrgt	lr, lr, lr, lsl #8	/* The third byte */	and	r3, r3, lr		/* Mask out bytes we do not want */	/*	 * r3 contains up to 3 bytes to add, in lowest 3 bytes of register	 * This cannot cause carry.	 */	add	r0, r0, r3		/* Add bytes */#endif	/*	 * Check if rotation of checksum required now so that we do the	 * addition of all the next words the right way round. If we do rotate,	 * save the rotation in lr so we can undo it at the end.	 */	tst	r1, #1			/* Odd alignment */	moveq	lr, #0			/* No offset */	movne	lr, #8			/* Offset from different base */	/*	 * SPR #29703 (T3 SPR #64293): above addition was of a one, two or	 * three byte number to a 16-bit sum and may have caused overflow into	 * the fourth (highest) byte. Original (little-endian) code did an LSL	 * here instead of ROR, incorrectly discarding such overflow. New code	 * is same as big-endian code: it preserves the high byte. (Unimportant	 * whether we shift 8 or 24 bits.)	 */	movne	r0, r0, ror #8		/* Offset, work from a different base */	subs	r2, r2, ip		/* Less bytes */	add	r1, r1, ip		/* Move the pointer */	beq	L$_Boundary_Done	/* We know we will shift */	/* Now we are word aligned */L$_Word_Align:	movs	ip, r2, lsr #2		/* How many words can we add */	beq	L$_Left_123		/* No complete words left */	sub	r2, r2, ip, lsl #2	/* Take number of words off total */	adds	r0, r0, #0		/* Clear carry */	ands	r3, ip, #0x0f		/* Last 16 ? (Does not clear carry) */	/* Compute offset to start with in the loop */	rsbne	r3, r3, #16		/* Where to start */	addne	r3, pc, r3, lsl #3	/* Where to jump */	movne	pc, r3			/* And jump */0:	ldr	r3, [r1], #4		/* 1 */	adds	r0, r0, r3		/* Carry already added */	ldr	r3, [r1], #4		/* 2 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 3 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 4 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 5 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 6 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 7 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 8 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 9 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 10 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 11 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 12 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 13 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 14 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 15 */	adcs	r0, r0, r3	ldr	r3, [r1], #4		/* 16 */	adcs	r0, r0, r3	adc	r0, r0, #0		/* Add Carry */	subs	ip, ip, #16		/* 16 words less ! */	bgt	0b	/* Main loop complete, less than 4 bytes left */	cmp	r2, #0	beq	L$_Boundary_Done	/* Completed on a word boundary */	/* 1, 2 or 3 bytes left */L$_Left_123:	/* Completed on an odd boundary, do we shift the sum back ? */	mov	r0, r0, ror lr		/* Shift total */	/* Extract the last byte/s */#if (_BYTE_ORDER == _BIG_ENDIAN)	cmp	r2, #2	mov	r2, #0xff000000		/* At least one byte */	orrge	r2, r2, r2, lsr #8	/* The 2nd byte */	orrgt	r2, r2, r2, lsr #8	/* The third byte */	ldr	r3, [r1, #0]		/* Load word */	and	r3, r3, r2		/* Mask out bytes we do not want */	adds	r0, r0, r3, lsr lr	/* Add bytes */#else	cmp	r2, #2	mov	r2, #0xff		/* At least one byte */	orrge	r2, r2, r2, lsl #8	/* The 2nd byte */	orrgt	r2, r2, r2, lsl #8	/* The third byte */	ldr	r3, [r1, #0]		/* Load word */	and	r3, r3, r2		/* Mask out bytes we do not want */	adds	r0, r0, r3, lsl lr	/* Add bytes */#endif	adc	r0, r0, #0		/* Add carry */	adds	r0, r0, r0, lsl #16	/* Result in upper 16 bits + C */	mov	r0, r0, lsr #16		/* Get upper 16 bits */	adc	r0, r0, #0		/* Add carry */#ifdef STACK_FRAMES	ldmdb	fp, {fp, sp, pc}	/* Return (sum is in r0) */#else /* !STACK_FRAMES */	ldmia	sp!, {pc}		/* Return (sum is in r0) */#endif /* STACK_FRAMES */	/* Completed on a boundary */L$_Boundary_Done:	mov	r0, r0, ror lr		/* Shift total back 8 */L$_All_Done:	adds	r0, r0, r0, lsl #16	/* Result in upper 16 bits + C */	mov	r0, r0, lsr #16		/* Get upper 16 bits */	adc	r0, r0, #0		/* Add carry */#ifdef STACK_FRAMES	ldmdb	fp, {fp, sp, pc}	/* Return (sum is in r0) */#else /* !STACK_FRAMES */	ldmia	sp!, {pc}		/* Return (sum is in r0) */#endif /* STACK_FRAMES *//********************************************************************************* _insque - insert node in list after specified node.** RETURNS: N/A** NOMANUAL** void _insque*	(*	NODE *	pNode,*	NODE *	pPrev*	)*/FUNC_LABEL(_insque)#ifdef STACK_FRAMES	mov	ip, sp	stmdb	sp!, {fp, ip, lr, pc}	sub	fp, ip, #4#endif /* STACK_FRAMES */	ldr	r3, [r1, #0]		/* r3 = pPrev->next */	str	r0, [r1, #0]		/* pPrev->next = pNode */	str	r0, [r3, #4]		/* r3->previous = pNode */	str	r3, [r0, #0]		/* pNode->next = r3 */	str	r1, [r0, #4]		/* pNode->previous = pPrev */	/* Done */#ifdef STACK_FRAMES	ldmdb	fp, {fp, sp, pc}#else /* !STACK_FRAMES */	mov	pc, lr#endif /* STACK_FRAMES *//********************************************************************************* _remque - remove specified node in list.** RETURNS: N/A** NOMANUAL** void _remque*	(*	NODE *	pNode*	)*/FUNC_LABEL(_remque)#ifdef STACK_FRAMES	mov	ip, sp	stmdb	sp!, {fp, ip, lr, pc}	sub	fp, ip, #4#endif /* STACK_FRAMES */	/* Setup */	ldr	r2, [r0, #4]		/* r2 = pNode->previous */	ldr	r3, [r0, #0]		/* r3 = pNode->next */	/*  pNode->previous->next = pNode->next */	str	r3, [r2, #0]		/* r2->next = r3 */	/* pNode->next->previous = pNode->previous */	str	r2, [r3, #4]#ifdef STACK_FRAMES	ldmdb	fp, {fp, sp, pc}#else /* !STACK_FRAMES */	mov	pc, lr#endif /* STACK_FRAMES */#endif /* ! unixALib_PORTABLE */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
制服.丝袜.亚洲.中文.综合| 亚洲欧洲一区二区在线播放| 国产精品传媒入口麻豆| 美女看a上一区| 中文字幕一区二区5566日韩| 日韩不卡在线观看日韩不卡视频| jlzzjlzz欧美大全| 国产亚洲美州欧州综合国| 日韩成人一级大片| 欧美二区三区的天堂| 一区二区三区丝袜| 色噜噜狠狠成人网p站| 亚洲欧洲精品天堂一级| 国产mv日韩mv欧美| 国产精品久久久久精k8| 99热99精品| 一区二区三区高清在线| 欧美群妇大交群的观看方式| 亚洲国产综合91精品麻豆| 欧美夫妻性生活| 久久se精品一区二区| 亚洲国产岛国毛片在线| 99re热这里只有精品免费视频| 国产欧美一区二区精品婷婷| 成人av在线资源网站| 一区二区在线观看免费视频播放| 欧美色图一区二区三区| 麻豆国产欧美日韩综合精品二区 | 亚洲色图欧洲色图| 日韩一级二级三级| 国产精品1区2区3区在线观看| 久久久精品影视| 欧美午夜精品久久久久久超碰| 五月天中文字幕一区二区| 精品成人一区二区三区| 91性感美女视频| 国产自产2019最新不卡| 亚洲成人久久影院| 国产精品久久久久7777按摩| 欧美一区二区三区免费大片 | 99精品视频一区| 久久 天天综合| 亚洲国产综合色| 亚洲婷婷在线视频| 精品久久久久久亚洲综合网| 欧美无砖专区一中文字| thepron国产精品| 美国精品在线观看| 欧美aaa在线| 日韩成人精品视频| 日本免费新一区视频| 天堂av在线一区| 日韩在线卡一卡二| 亚洲国产裸拍裸体视频在线观看乱了 | 亚洲国产美女搞黄色| 亚洲欧美日韩系列| 亚洲免费看黄网站| 亚洲欧美视频在线观看| 一区二区在线免费| 亚洲免费在线播放| 亚洲黄色录像片| 婷婷久久综合九色综合绿巨人 | av综合在线播放| 99久免费精品视频在线观看 | bt欧美亚洲午夜电影天堂| 不卡视频一二三| 在线观看日韩国产| 69堂精品视频| 国产日韩视频一区二区三区| 国产亚洲人成网站| 亚洲精品videosex极品| 亚洲一区电影777| 日本亚洲三级在线| 9久草视频在线视频精品| 在线观看亚洲精品| 久久理论电影网| 性感美女极品91精品| 国产黄色精品网站| 91丨国产丨九色丨pron| 91精品国产综合久久久久久久| 日韩精品中文字幕一区二区三区| 久久久久国产成人精品亚洲午夜| 中文字幕日韩精品一区| 狠狠色狠狠色综合| 91丝袜国产在线播放| 久久嫩草精品久久久精品| 亚洲美女视频在线| 精品一区二区成人精品| 欧美怡红院视频| 国产精品不卡在线观看| 精品一区二区免费看| 欧美天天综合网| 中文字幕一区二区三区不卡在线| 激情综合五月天| 欧美片网站yy| 偷窥国产亚洲免费视频| 色8久久精品久久久久久蜜| 一区二区日韩av| 麻豆91在线观看| 欧美男女性生活在线直播观看| 久久久99精品久久| 五月天丁香久久| 91久久线看在观草草青青| 欧美一区二区三区视频免费| 久久久久久久性| 国产高清一区日本| 国产亚洲美州欧州综合国| 韩日av一区二区| 国产日韩一级二级三级| 丁香婷婷综合激情五月色| 2024国产精品| 成人精品一区二区三区四区| 中文字幕视频一区| 91在线丨porny丨国产| 亚洲欧洲日产国码二区| 欧美综合色免费| 日本欧美一区二区在线观看| 日韩欧美成人激情| 国产伦精一区二区三区| 综合久久综合久久| 欧美精品v日韩精品v韩国精品v| 欧美bbbbb| 成人免费一区二区三区视频 | 午夜久久久影院| 奇米色777欧美一区二区| 欧美三级电影一区| 国产综合色产在线精品| 欧美日韩免费观看一区二区三区| 亚洲一区二区三区在线| 日韩精品专区在线| 色噜噜狠狠色综合中国| 国产一区二区在线观看免费| 国产午夜精品一区二区三区视频| 成人国产在线观看| 秋霞电影网一区二区| 亚洲欧洲国产专区| 精品免费99久久| 在线观看91av| 欧日韩精品视频| 成人一区二区三区视频| 国产真实乱子伦精品视频| 亚洲午夜视频在线| 亚洲欧洲日产国码二区| 国产人妖乱国产精品人妖| 日韩精品一区二区三区在线播放| 色94色欧美sute亚洲线路二| eeuss国产一区二区三区| 国产91高潮流白浆在线麻豆 | 91精品国产综合久久精品| 99re热视频这里只精品| 国产精品亚洲人在线观看| 国产一本一道久久香蕉| 日韩国产一二三区| 麻豆成人久久精品二区三区红| 亚洲国产色一区| 日本大胆欧美人术艺术动态| 亚洲韩国一区二区三区| 婷婷综合另类小说色区| 亚洲1区2区3区4区| 日韩成人av影视| 国产最新精品免费| 国产精品亚洲第一| 在线欧美日韩国产| 欧美美女喷水视频| 久久综合色一综合色88| 国产亲近乱来精品视频| 亚洲精品日韩专区silk| 日日摸夜夜添夜夜添精品视频| 日韩av一二三| 成人一区二区在线观看| 在线观看日韩国产| 精品日韩在线一区| 欧美国产综合色视频| 亚洲一区自拍偷拍| 日韩精品一区二区三区在线| 国产盗摄精品一区二区三区在线| www亚洲一区| 91视频xxxx| 麻豆视频一区二区| 自拍视频在线观看一区二区| 国产精品乱码一区二区三区软件| 亚洲一区二区高清| 国产成人8x视频一区二区| 欧美日韩一区视频| 亚洲乱码国产乱码精品精98午夜| 久久综合狠狠综合久久激情| 94色蜜桃网一区二区三区| 日本v片在线高清不卡在线观看| 精品99久久久久久| 欧美精品tushy高清| jiyouzz国产精品久久| 美女诱惑一区二区| 亚洲欧美电影院| 欧美韩国日本一区| 337p日本欧洲亚洲大胆精品| 欧美老人xxxx18| 在线观看91精品国产入口| jlzzjlzz亚洲日本少妇| 欧美日韩视频第一区| 一区二区三区在线免费|