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

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

?? gccmathalib.s

?? vxworks的源代碼
?? S
字號(hào):
/* gccMathALib.s - math support routines for gcc *//* Copyright 1984-1992 Wind River Systems, Inc. */	.data	.globl	_copyright_wind_river	.long	_copyright_wind_river/*modification history--------------------01g,20sep92,kdl  moved gcc v2.2 support routines to gccMathLib.c; restored 		 missing title line.01f,07sep92,smb  added gccMathInit.01e,23aug92,jcf  changed bxxx to jxx.01d,30jul92,kdl  added gcc v2.2 support; made previous file contents 		 conditional for 68000/10 only.01c,26may92,rrr  the tree shuffle01b,04oct91,rrr  passed through the ansification filter		  -changed ASMLANGUAGE to _ASMLANGUAGE		  -changed copyright notice01a,28jan91,kdl	 original version, based on routines by K.U. Bloem.*//*DESCRIPTIONThis library contains various support routines for using gcc.  Thecompiler will generate subroutine calls to the functions in this filewhen the software floating point option is used.  The function names are those which are automatically generated by the gcc compiler.This library also contains routines to perform long (32-bit) arithmeticon a Motorola 68000 or 68010 processor.  Multiply, divide, andmodulus operations are provided, each in signed and unsigned modes.AUTHORCompare routines supplied by Cygnus Support.Original 32-bit multiply and divide routines for 68000/10 written by Kai-Uwe Bloem (I5110401@dbstu1.bitnet).NOMANUAL*/#define	_ASMLANGUAGE#include "vxWorks.h"#if  (CPU==MC68000 || CPU==MC68010)	.globl	___mulsi3	.globl	___umulsi3	.globl	___divsi3	.globl	___udivsi3	.globl	___modsi3	.globl	___umodsi3#endif  /* CPU==MC68000 || CPU==MC68010 */	.globl	_gccMathInit	.text	.even/********************************************************************************* gccMathInit -  This routine will cause this module to be included in*	         the vxWorks build.** RETURNS: ** NOMANUAL*/_gccMathInit:	link	a6,#-4	unlk	a6	rts#if  (CPU==MC68000 || CPU==MC68010)/********************************************************************************* mulsi3 - long integer multiplication routine for 68000/10 using gcc** Revision 1.1, kub 03-90* first version, replaces the appropriate routine from fixnum.s.* This one is longer, but normally faster because __umulsi3 is no longer* called for multiplication. Rather, the code is inlined here. See the* comments in _umulsi3.s** RETURNS: signed 32-bit multiplication result.** AUTHOR:* written by Kai-Uwe Bloem (I5110401@dbstu1.bitnet).** NOMANUAL*/___mulsi3:	movel	d2,a0		| save registers	movel	d3,a1	movemw	sp@(4),d0-d3	| get the two longs. u = d0-d1, v = d2-d3	movew	d0,sp@-		| sign flag	jpl	0f		| is u negative ?	negw	d1		| yes, force it positive	negxw	d00:	tstw	d2		| is v negative ?	jpl	0f	negw	d3		| yes, force it positive ...	negxw	d2	notw	sp@		|  ... and modify flag word0:	extl	d0		| u.h <> 0 ?	jeq	1f	mulu	d3,d0		| r  = v.l * u.h1:	tstw	d2		| v.h <> 0 ?	jeq	2f	mulu	d1,d2		| r += v.h * u.l	addw	d2,d02:	swap	d0	clrw	d0	mulu	d3,d1		| r += v.l * u.l	addl	d1,d0	movel	a1,d3	movel	a0,d2	tstw	sp@+		| should the result be negated ?	jpl	3f		| no, just return	negl	d0		| else r = -r3:	rts/********************************************************************************* umulsi3 - unsigned long integer multiplication routine for 68000/10 using gcc** Revision 1.1, kub 03-90* first version, replaces the appropriate routine from fixnum.s.* This one is short and fast for the common case of both longs <= 0x0000ffff,* but the case of a zero lowword is no longer recognized.* (besides it's easier to read this source 8-)** RETURNS: unsigned 32-bit multiplication result.** AUTHOR:* written by Kai-Uwe Bloem (I5110401@dbstu1.bitnet).** NOMANUAL*/___umulsi3:	movel	d2,a0		| save registers	movel	d3,a1	movemw	sp@(4),d0-d3	| get the two longs. u = d0-d1, v = d2-d3	extl	d0		| u.h <> 0 ?	jeq	1f	mulu	d3,d0		| r  = v.l * u.h1:	tstw	d2		| v.h <> 0 ?	jeq	2f	mulu	d1,d2		| r += v.h * u.l	addw	d2,d02:	swap	d0	clrw	d0	mulu	d3,d1		| r += v.l * u.l	addl	d1,d0	movel	a1,d3	movel	a0,d2	rts/********************************************************************************** divsi3 - long integer division routine for 68000/10 using gcc** Revision 1.1, kub 03-90* first version, replaces the appropriate routine from fixnum.s.* Should be faster in more common cases. Division is done by 68000 divu* operations if divisor is only 16 bits wide. Otherwise the normal division* algorithm as described in various papers takes place. The division routine* delivers the quotient in d0 and the remainder in d1, thus the implementation* of the modulo operation is trivial. We gain some extra speed by inlining* the division code here instead of calling ___udivsi3.** RETURNS: signed 32-bit division result.** AUTHOR:* written by Kai-Uwe Bloem (I5110401@dbstu1.bitnet).** NOMANUAL*/___divsi3:	movel	d2,a0		| save registers	movel	d3,a1	clrw	sp@-		| sign flag	clrl	d0		| prepare result	movel	sp@(10),d2	| get divisor	jeq	9f		| divisor = 0 causes a division trap	jpl	0f		| divisor < 0 ?	negl	d2		| negate it	notw	sp@		| remember sign0:	movel	sp@(6),d1	| get dividend	jpl	0f		| dividend < 0 ?	negl	d1		| negate it	notw	sp@		| remember sign0:|== case 1) divident < divisor	cmpl	d2,d1		| is divident smaller then divisor ?	jcs	8f		| yes, return immediately|== case 2) divisor has <= 16 significant bits	tstw	sp@(10)	jne	2f		| divisor has only 16 bits	movew	d1,d3		| save dividend	clrw	d1		| divide dvd.h by dvs	swap	d1	jeq	0f		| (no division necessary if dividend zero)	divu	d2,d10:	movew	d1,d0		| save quotient.h	swap	d0	movew	d3,d1		| (d0.h = remainder of prev divu)	divu	d2,d1		| divide dvd.l by dvs	movew	d1,d0		| save quotient.l	clrw	d1		| get remainder	swap	d1	jra	8f		| and return|== case 3) divisor > 16 bits (corollary is dividend > 16 bits, see case 1)2:	moveq	#31,d3		| loop count3:	addl	d1,d1		| shift divident ...	addxl	d0,d0		|  ... into d0	cmpl	d2,d0		| compare with divisor	jcs	0f	subl	d2,d0		| big enough, subtract	addw	#1,d1		| and note bit into result0:	dbra	d3,3b	exg	d0,d1		| put quotient and remainder in their registers8:	tstw	sp@(6)		| must the remainder be corrected ?	jpl	0f	negl	d1		| yes, apply sign| the following line would be correct if modulus is defined as in algebra|	addl	sp@(6),d1	| algebraic correction: modulus can only be >= 00:	tstw	sp@+		| result should be negative ?	jpl	0f	negl	d0		| yes, negate it0:	movel	a1,d3	movel	a0,d2	rts9:	divu	d2,d1		| cause division trap	jra	8b		| back to user/********************************************************************************* udivsi3 - unsigned long integer division routine for 68000/10 using gcc** Revision 1.1, kub 03-90* first version, replaces the appropriate routine from fixnum.s.* Should be faster in more common cases. Division is done by 68000 divu* operations if divisor is only 16 bits wide. Otherwise the normal division* algorithm as described in various papers takes place. The division routine* delivers the quotient in d0 and the remainder in d1, thus the implementation* of the modulo operation is trivial.** RETURNS: unsigned 32-bit division result.** AUTHOR:* written by Kai-Uwe Bloem (I5110401@dbstu1.bitnet).** NOMANUAL*/___udivsi3:	movel	d2,a0		| save registers	movel	d3,a1	clrl	d0		| prepare result	movel	sp@(8),d2	| get divisor	jeq	9f		| divisor = 0 causes a division trap	movel	sp@(4),d1	| get dividend|== case 1) divident < divisor	cmpl	d2,d1		| is divident smaller then divisor ?	jcs	8f		| yes, return immediately|== case 2) divisor has <= 16 significant bits	tstw	sp@(8)	jne	2f		| divisor has only 16 bits	movew	d1,d3		| save dividend	clrw	d1		| divide dvd.h by dvs	swap	d1	jeq	0f		| (no division necessary if dividend zero)	divu	d2,d10:	movew	d1,d0		| save quotient.h	swap	d0	movew	d3,d1		| (d1.h = remainder of prev divu)	divu	d2,d1		| divide dvd.l by dvs	movew	d1,d0		| save quotient.l	clrw	d1		| get remainder	swap	d1	jra	8f		| and return|== case 3) divisor > 16 bits (corollary is dividend > 16 bits, see case 1)2:	moveq	#31,d3		| loop count3:	addl	d1,d1		| shift divident ...	addxl	d0,d0		|  ... into d0	cmpl	d2,d0		| compare with divisor	jcs	0f	subl	d2,d0		| big enough, subtract	addw	#1,d1		| and note bit in result0:	dbra	d3,3b	exg	d0,d1		| put quotient and remainder in their registers8:	movel	a1,d3	movel	a0,d2	rts9:	divu	d2,d1		| cause division trap	jra	8b		| back to user/********************************************************************************* modsi3 - long integer modulo routine for 68000/10 using gcc** Revision 1.1, kub 03-90** RETURNS: signed 32-bit modulo result.** AUTHOR:* written by Kai-Uwe Bloem (I5110401@dbstu1.bitnet).** NOMANUAL*/___modsi3:	movel	sp@(8),sp@-	| push divisor	movel	sp@(8),sp@-	| push dividend	jbsr	___divsi3	addql	#8,sp	movel	d1,d0		| return the remainder in d0	rts/********************************************************************************* umodsi3 - unsigned long integer modulo routine for 68000/10 using gcc** Revision 1.1, kub 03-90** RETURNS: unsigned 32-bit modulo result.** AUTHOR:* written by Kai-Uwe Bloem (I5110401@dbstu1.bitnet).** NOMANUAL*/___umodsi3:	movel	sp@(8),sp@-	| push divisor	movel	sp@(8),sp@-	| push dividend	jbsr	___udivsi3	addql	#8,sp	movel	d1,d0		| return the remainder in d0	rts#endif  /* CPU==MC68000 || CPU==MC68010 */

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲免费观看在线观看| 色美美综合视频| 经典三级一区二区| 日本欧美久久久久免费播放网| 午夜欧美电影在线观看| 一区二区三区高清| 亚洲综合在线观看视频| 亚洲精品中文字幕乱码三区| 樱花影视一区二区| 亚洲va国产天堂va久久en| 亚洲一区二区三区中文字幕| 午夜精品久久久久久久久| 亚洲aaa精品| 麻豆精品在线视频| 国产福利91精品一区| 国产不卡免费视频| 99久久精品一区| 欧美调教femdomvk| 欧美一区二区三区免费视频| 久久亚洲精精品中文字幕早川悠里 | 国产精品剧情在线亚洲| 国产精品成人一区二区艾草 | 国产一区二区久久| 成人av在线电影| 色婷婷av一区二区三区软件| 欧美日韩精品一区二区三区蜜桃| 日韩小视频在线观看专区| 国产亚洲一二三区| 亚洲免费伊人电影| 秋霞电影一区二区| 国产成人av影院| 91国偷自产一区二区三区观看| 欧美日韩黄视频| 久久久午夜精品| 一区二区三区中文在线| 精品一区二区日韩| 91视频www| 欧美一区二区视频在线观看2020| 国产亲近乱来精品视频| 亚洲一级二级三级| 国产自产2019最新不卡| 色女孩综合影院| 欧美mv和日韩mv的网站| 亚洲视频在线一区| 久久国产精品99久久久久久老狼 | 欧美日韩精品免费| 国产日韩v精品一区二区| 亚洲线精品一区二区三区| 国产在线精品不卡| 欧美熟乱第一页| 中文字幕免费不卡| 日产精品久久久久久久性色| 99久久免费国产| 日韩欧美在线不卡| 亚洲视频你懂的| 国产在线视频一区二区三区| 欧美在线观看你懂的| 国产偷国产偷亚洲高清人白洁| 亚洲一级在线观看| 不卡的av在线播放| 精品美女一区二区| 亚洲444eee在线观看| av日韩在线网站| 精品国产a毛片| 天天爽夜夜爽夜夜爽精品视频 | 国产偷国产偷亚洲高清人白洁| 亚洲图片自拍偷拍| 不卡的av在线| 亚洲精品一区二区三区四区高清 | 精品一区二区三区欧美| 在线观看亚洲一区| 国产精品素人一区二区| 国产在线不卡一区| 欧美一区二区三区免费视频| 亚洲制服丝袜av| 91视频国产观看| 国产精品蜜臀av| 国产精品1区2区3区在线观看| 91精品一区二区三区在线观看| 亚洲欧洲日韩在线| 成人国产视频在线观看| 久久精品日韩一区二区三区| 免费看黄色91| 538在线一区二区精品国产| 亚洲一级电影视频| 91官网在线免费观看| 亚洲视频电影在线| 99精品视频中文字幕| 国产精品嫩草影院av蜜臀| 国产麻豆精品在线| 久久看人人爽人人| 黑人巨大精品欧美一区| 精品国产伦一区二区三区观看体验 | 亚洲乱码国产乱码精品精的特点| 成人午夜碰碰视频| 久久精品免视看| 国产毛片精品一区| 久久久高清一区二区三区| 久久成人免费网| 2024国产精品| 国产最新精品精品你懂的| 26uuu欧美日本| 国产呦精品一区二区三区网站| 久久丝袜美腿综合| 国产福利91精品一区| 国产日韩av一区二区| 波波电影院一区二区三区| 国产精品免费视频观看| 成人美女视频在线看| 亚洲欧洲性图库| 欧美性色黄大片手机版| 亚洲成av人片在www色猫咪| 欧美二区三区的天堂| 久久se这里有精品| 国产亚洲精品bt天堂精选| 国产69精品久久久久毛片| 国产精品久久久久桃色tv| 色狠狠综合天天综合综合| 亚洲在线观看免费| 欧美一区二区三区四区在线观看| 久久狠狠亚洲综合| 国产精品美女一区二区在线观看| 99re6这里只有精品视频在线观看| 亚洲最新在线观看| 日韩一级完整毛片| 成人污污视频在线观看| 一区二区三区自拍| 日韩视频一区在线观看| 国产成人免费xxxxxxxx| 亚洲欧美日韩国产手机在线| 制服视频三区第一页精品| 极品美女销魂一区二区三区| 中文字幕一区二区三中文字幕| 91精品福利在线| 久久99日本精品| 一区二区中文视频| 欧美巨大另类极品videosbest | 亚洲美女一区二区三区| 欧美日高清视频| 国产成人夜色高潮福利影视| 综合久久综合久久| 91精品国产免费| www.欧美色图| 日本欧美韩国一区三区| 国产精品久久久久久久第一福利 | 欧美午夜片在线看| 国产一区二区三区综合| 一区二区国产视频| 欧美成人a∨高清免费观看| 成人午夜激情片| 首页综合国产亚洲丝袜| 国产亚洲精品超碰| 欧美久久久影院| 国产麻豆一精品一av一免费| 亚洲国产精品久久一线不卡| 久久久久久**毛片大全| 欧美精品在线观看一区二区| 成人小视频在线观看| 卡一卡二国产精品| 亚洲精品欧美专区| 日本一区二区视频在线观看| 欧美日韩国产乱码电影| 不卡高清视频专区| 捆绑调教一区二区三区| 亚洲午夜激情网站| 亚洲国产精品ⅴa在线观看| 日韩欧美国产一区二区在线播放| 色av成人天堂桃色av| 国产在线视视频有精品| 天天色 色综合| 亚洲色图清纯唯美| 国产亚洲一二三区| 日韩久久精品一区| 91麻豆精品久久久久蜜臀| 99re8在线精品视频免费播放| 国产精品一区二区三区网站| 免费人成网站在线观看欧美高清| 亚洲精品中文在线观看| 日本一区二区三区dvd视频在线| 91麻豆精品91久久久久同性| 91国内精品野花午夜精品| 国产成人aaa| 狠狠色2019综合网| 久久精品国产99久久6| 日本怡春院一区二区| 亚洲国产成人porn| 亚洲综合男人的天堂| 最新久久zyz资源站| 国产精品久久网站| 国产精品天干天干在观线| 久久蜜桃av一区精品变态类天堂| 欧美v日韩v国产v| 日韩午夜在线影院| 日韩女优av电影在线观看| 欧美浪妇xxxx高跟鞋交| 在线电影欧美成精品| 欧美三区在线观看| 欧美久久高跟鞋激| 777久久久精品| 日韩欧美在线观看一区二区三区|