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

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

?? l_round.s

?? Vxworks OS source code
?? S
?? 第 1 頁 / 共 2 頁
字號:
/* l_round.s - Motorola 68040 FP rounding routines (LIB) *//* Copyright 1991-1993 Wind River Systems, Inc. */	.data	.globl	_copyright_wind_river	.long	_copyright_wind_river/*modification history--------------------01f,21jul93,kdl  added .text (SPR #2372).01e,23aug92,jcf  changed bxxx to jxx.01d,26may92,rrr  the tree shuffle01c,01jan92,jcf	reversed order of cmp <reg>,<reg>01b,17dec91,kdl	put in changes from Motorola v3.4 (from FPSP 2.1):		add check for negative loop count in __l_dnrm_lp.01a,31jul91,kdl	from Motorola FPSP v2.0.*//*DESCRIPTION	roundsa 3.2 2/18/91	handle rounding and normalization tasks		Copyright (C) Motorola, Inc. 1990			All Rights Reserved	THIS IS UNPUBLISHED PROPRIETARY SOURCE CODE OF MOTOROLA	The copyright notice above does not evidence any	actual or intended publication of such source code.ROUND	idnt    2,1 Motorola 040 Floating Point Software Package	section	8NOMANUAL*/#include "fpsp040L.h"||	__l_round --- round result according to precision/mode||	a0 points to the input operand in the internal extended format|	d1(high word) contains rounding precision:|		ext = 0x0000xxxx|		sgl = 0x0001xxxx|		dbl = 0x0002xxxx|	d1(low word) contains rounding mode:|		RN  = $xxxx0000|		RZ  = $xxxx0001|		RM  = $xxxx0010|		RP  = $xxxx0011|	d0{31:29} contains the g,r,s bits (extended)||	On return the value pointed to by a0 is correctly rounded,|	a0 is preserved and the g-r-s bits in d0 are cleared.|	The result is not typed - the tag field is invalid.  The|	result is still in the internal extended format.||	The INEX bit of USER_FPSR will be set if the rounded result was|	inexact (i.e. if any of the g-r-s bits were set).|	.text	.globl	__l_round__l_round:| If g=r=s=0 then result is exact and round is done, else set| the inex flag in status reg and continue.|	bsrl	ext_grs			| this subroutine looks at the|					| rounding precision and sets|					| the appropriate g-r-s bits.	tstl	d0			| if grs are zero, go force	jne 	rnd_cont		| lower bits to zero for size	swap	d1			| set up d1:w for round prec.	jra 	truncaternd_cont:|| Use rounding mode as an index into a jump table for these modes.|	orl	#inx2a_mask,a6@(USER_FPSR) | set inex2/ainex	lea	mode_tab,a1	movel	a1@(d1:w:4),a1	jmp	a1@|| Jump table indexed by rounding mode in d1:w.  All following assumes| grs != 0.|mode_tab:	.long	rnd_near	.long	rnd_zero	.long	rnd_mnus	.long	rnd_plus||	ROUND PLUS INFINITY||	If sign of fp number = 0 (positive), then add 1 to l.|rnd_plus:	swap 	d1			| set up d1 for round prec.	tstb	a0@(LOCAL_SGN)		| check for sign	jmi 	truncate		| if positive then truncate	movel	#0xffffffff,d0		/* | force g,r,s to be all f's */	lea	add_to_l,a1	movel	a1@(d1:w:4),a1	jmp	a1@||	ROUND MINUS INFINITY||	If sign of fp number = 1 (negative), then add 1 to l.|rnd_mnus:	swap 	d1			| set up d1 for round prec.	tstb	a0@(LOCAL_SGN)		| check for sign	jpl 	truncate		| if negative then truncate	movel	#0xffffffff,d0		/* | force g,r,s to be all f's */	lea	add_to_l,a1	movel	a1@(d1:w:4),a1	jmp	a1@||	ROUND ZERO||	Always truncate.rnd_zero:	swap 	d1			| set up d1 for round prec.	jra 	truncate|||	ROUND NEAREST||	If (g=1), then add 1 to l and if (r=s=0), then clear l|	Note that this will round to even in case of a tie.|rnd_near:	swap 	d1			| set up d1 for round prec.	asll	#1,d0			| shift g-bit to c-bit	jcc 	truncate		| if (g=1) then	lea	add_to_l,a1	movel	a1@(d1:w:4),a1	jmp	a1@||	ext_grs --- extract guard, round and sticky bits|| Input:	d1 =		PREC:ROUND| Output:  	d0{31:29}=	guard, round, sticky|| The ext_grs extract the guard/round/sticky bits according to the| selected rounding precision. It is called by the round subroutine| only.  All registers except d0 are kept intact. d0 becomes an| updated guard,round,sticky in d0{31:29}|| Notes: the ext_grs uses the round PREC, and therefore has to swap d1|	 prior to usage, and needs to restore d1 to original.|ext_grs:	swap	d1			| have d1:w point to round precision	cmpiw	#0,d1	jne 	sgl_or_dbl	jra 	end_ext_grssgl_or_dbl:	moveml	d2/d3,a7@-		| make some temp registers	cmpiw	#1,d1	jne 	grs_dblgrs_sgl:	bfextu	a0@(LOCAL_HI){#24:#2},d3	| sgl prec. g-r are 2 bits right	movel	#30,d2				| of the sgl prec. limits	lsll	d2,d3				| shift g-r bits to MSB of d3	movel	a0@(LOCAL_HI),d2		| get word 2 for s-bit test	andil	#0x0000003f,d2			| s bit is the or of all other	jne 	st_stky				| bits to the right of g-r	tstl	a0@(LOCAL_LO)			| test lower mantissa	jne 	st_stky				| if any are set, set sticky	tstl	d0				| test original g,r,s	jne 	st_stky				| if any are set, set sticky	jra 	end_sd				| if words 3 and 4 are clr, exitgrs_dbl:	bfextu	a0@(LOCAL_LO){#21:#2},d3	| dbl-prec. g-r are 2 bits right	movel	#30,d2				| of the dbl prec. limits	lsll	d2,d3				| shift g-r bits to MSB of d3	movel	a0@(LOCAL_LO),d2		| get lower mantissa  for s-bit test	andil	#0x000001ff,d2			| s bit is the or-ing of all	jne 	st_stky				| other bits to the right of g-r	tstl	d0				| test word original g,r,s	jne 	st_stky				| if any are set, set sticky	jra 	end_sd				| if clear, exitst_stky:	bset	#rnd_stky_bit,d3end_sd:	movel	d3,d0			| return grs to d0	moveml	a7@+,d2/d3		| restore scratch registersend_ext_grs:	swap	d1			| restore d1 to original	rts|*******************  Local Equates#define	ad_1_sgl 	0x00000100	/* constant to add 1 to l-bit in sgl prec */#define	ad_1_dbl 	0x00000800	/* constant to add 1 to l-bit in dbl prec */|Jump table for adding 1 to the l-bit indexed by rnd precadd_to_l:	.long	add_ext	.long	add_sgl	.long	add_dbl	.long	add_dbl||	ADD SINGLE|add_sgl:	addl	#ad_1_sgl,a0@(LOCAL_HI)	jcc 	scc_clr			| no mantissa overflow	roxrw 	a0@(LOCAL_HI)		| shift v-bit back in	roxrw 	a0@(LOCAL_HI+2)		| shift v-bit back in	addw	#0x1,a0@(LOCAL_EX)	| and incr exponentscc_clr:	tstl	d0			| test for rs = 0	jne 	sgl_done	andiw  #0xfe00,a0@(LOCAL_HI+2)	| clear the l-bitsgl_done:	andil	#0xffffff00,a0@(LOCAL_HI) | truncate bits beyond sgl limit	clrl	a0@(LOCAL_LO)		| clear d2	rts||	ADD EXTENDED|add_ext:	addql  #1,a0@(LOCAL_LO)		| add 1 to l-bit	jcc 	xcc_clr			| test for carry out	addql  #1,a0@(LOCAL_HI)		| propogate carry	jcc 	xcc_clr	roxrw 	a0@(LOCAL_HI)		| mant is 0 so restore v-bit	roxrw 	a0@(LOCAL_HI+2)		| mant is 0 so restore v-bit	roxrw	a0@(LOCAL_LO)	roxrw	a0@(LOCAL_LO+2)	addw	#0x1,a0@(LOCAL_EX)	| and inc expxcc_clr:	tstl	d0			| test rs = 0	jne 	add_ext_done	andib	#0xfe,a0@(LOCAL_LO+3)	| clear the l bitadd_ext_done:	rts||	ADD DOUBLE|add_dbl:	addl	#ad_1_dbl,a0@(LOCAL_LO)	jcc 	dcc_clr	addql	#1,a0@(LOCAL_HI)	| propogate carry	jcc 	dcc_clr	roxrw	a0@(LOCAL_HI)		| mant is 0 so restore v-bit	roxrw	a0@(LOCAL_HI+2)		| mant is 0 so restore v-bit	roxrw	a0@(LOCAL_LO)	roxrw	a0@(LOCAL_LO+2)	addw	#0x1,a0@(LOCAL_EX)	| incr exponentdcc_clr:	tstl	d0			| test for rs = 0	jne 	dbl_done	andiw	#0xf000,a0@(LOCAL_LO+2)	| clear the l-bitdbl_done:	andil	#0xfffff800,a0@(LOCAL_LO) | truncate bits beyond dbl limit	rtserror:	rts|| Truncate all other bits|trunct:	.long	end_rnd	.long	sgl_done	.long	dbl_done	.long	dbl_donetruncate:	lea	trunct,a1	movel	a1@(d1:w:4),a1	jmp	a1@end_rnd:	rts||	NORMALIZE|| These routines (nrm_zero # __l_nrm_set) normalize the unnorm.  This| is done by shifting the mantissa left while decrementing the| exponent.|| NRM_SET shifts and decrements until there is a 1 set in the integer| bit of the mantissa (msb in d1).|| NRM_ZERO shifts and decrements until there is a 1 set in the integer| bit of the mantissa (msb in d1) unless this would mean the exponent| would go less than 0.  In that case the number becomes a denorm - the| exponent	d0@ is set to 0 and the mantissa (d1 # d2) is not| normalized.|| Note that both routines have been optimized (for the worst case) and| therefore do not have the easy to follow decrement/shift loop.||	NRM_ZERO||	Distance to first 1 bit in mantissa = X|	Distance to 0 from exponent = Y|	If X < Y|	Then|	  __l_nrm_set|	Else|	  shift mantissa by Y|	  set exponent = 0||input:|	FP_SCR1 = exponent, ms mantissa part, ls mantissa part|output:|	L_SCR1{4} = fpte15 or ete15 bit|	.globl	__l_nrm_zero__l_nrm_zero:	movew	a0@(LOCAL_EX),d0	cmpw   #64,d0          | see if exp > 64	jmi 	d0_less	bsrl	__l_nrm_set		/* | exp > 64 so exp won't exceed 0  */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲美女淫视频| 日韩电影网1区2区| 日本91福利区| 99久久精品免费精品国产| 欧美成人艳星乳罩| 一区二区三区四区av| 国产成人激情av| 日韩欧美成人一区二区| 亚洲成人免费观看| 91色综合久久久久婷婷| 日本一区二区三区在线观看| 蜜桃一区二区三区在线观看| 欧美性色黄大片| 亚洲另类中文字| 91色视频在线| 中文字幕一区二| www.爱久久.com| 国产精品天天看| 丁香亚洲综合激情啪啪综合| 久久网站最新地址| 九九国产精品视频| 久久综合久久综合亚洲| 久久99国产乱子伦精品免费| 日韩欧美精品在线| 麻豆精品蜜桃视频网站| 91精品国产免费久久综合| 亚洲成a人片在线观看中文| 一道本成人在线| 一区二区三区蜜桃网| 日本福利一区二区| 亚洲一区二区美女| 欧美色图一区二区三区| 偷拍一区二区三区四区| 在线91免费看| 激情欧美一区二区| 一区二区三区国产精品| 欧美日本视频在线| 日本aⅴ精品一区二区三区| 日韩一区二区免费在线观看| 精品写真视频在线观看| 26uuu国产电影一区二区| 国产91精品入口| 亚洲欧美偷拍另类a∨色屁股| 91小视频免费观看| 亚洲国产精品一区二区久久| 欧美嫩在线观看| 九九九久久久精品| 国产精品三级久久久久三级| 欧洲一区二区三区在线| 日韩成人午夜电影| 久久精品视频一区二区| www.亚洲色图.com| 午夜激情久久久| 久久久久97国产精华液好用吗| 丁香啪啪综合成人亚洲小说| 洋洋av久久久久久久一区| 欧美一区二区三区小说| 成人免费观看男女羞羞视频| 亚洲女同ⅹxx女同tv| 欧美疯狂做受xxxx富婆| 国产成人丝袜美腿| 亚洲一区二区三区国产| 欧美白人最猛性xxxxx69交| 成人av网址在线观看| 婷婷综合久久一区二区三区| 中文字幕av一区二区三区高| 欧美午夜精品免费| 高清日韩电视剧大全免费| 亚洲尤物视频在线| 久久精品亚洲一区二区三区浴池| 日本精品一级二级| 国产激情一区二区三区四区| 亚洲国产视频直播| 欧美—级在线免费片| 欧美理论片在线| 成人性色生活片免费看爆迷你毛片| 午夜精品影院在线观看| 国产精品视频一二三| 91精品国产综合久久蜜臀| 色婷婷综合视频在线观看| 国内精品伊人久久久久av影院 | 亚洲黄色在线视频| 久久综合九色综合97婷婷女人| 一本久道中文字幕精品亚洲嫩| 激情都市一区二区| 丝袜诱惑制服诱惑色一区在线观看| 国产精品理伦片| 2017欧美狠狠色| 91精品国产综合久久精品麻豆 | 欧美日韩精品久久久| 国产精品99久久久久久宅男| 亚洲成人综合在线| 亚洲激情网站免费观看| 亚洲图片激情小说| 轻轻草成人在线| 亚洲视频一二三| 国产精品国产三级国产aⅴ中文| 综合欧美亚洲日本| 精品久久一区二区| 51午夜精品国产| 欧美日韩一区二区在线观看视频| 国产精品18久久久久久久网站| 免费观看久久久4p| 日韩电影在线观看网站| 亚洲图片欧美色图| 亚洲一区二区三区不卡国产欧美| 亚洲精品视频观看| 亚洲欧洲日韩av| 日韩毛片一二三区| 亚洲黄色尤物视频| 一区二区三区在线影院| 亚洲男人天堂av| 亚洲一区中文在线| 亚洲国产日韩a在线播放| 亚洲国产精品一区二区尤物区| 一区二区三区日韩精品视频| 亚洲综合视频网| 亚洲成va人在线观看| 日本午夜精品一区二区三区电影| 日韩激情中文字幕| 喷水一区二区三区| 国产在线视频精品一区| 风流少妇一区二区| www.av亚洲| 欧美在线播放高清精品| 在线成人小视频| 精品国产免费一区二区三区香蕉| 久久久久久9999| 亚洲欧美在线高清| 亚洲一区二区影院| 日本伊人精品一区二区三区观看方式| 免费观看在线综合| 国产精品18久久久久久久网站| eeuss鲁片一区二区三区 | 日韩欧美激情在线| 欧美精品一区二区三区蜜桃视频| 国产情人综合久久777777| 亚洲女人的天堂| 日本欧美一区二区三区乱码| 激情综合色丁香一区二区| 国产91露脸合集magnet| 色网综合在线观看| 日韩一级完整毛片| 18成人在线观看| 蜜臀a∨国产成人精品| 国产aⅴ综合色| 欧美综合色免费| 欧美精品一区二区三区视频| 亚洲人精品一区| 免费人成在线不卡| 成人免费av资源| 欧美肥大bbwbbw高潮| 国产精品日韩成人| 日韩极品在线观看| 色哟哟国产精品免费观看| 日韩区在线观看| 亚洲麻豆国产自偷在线| 激情文学综合丁香| 欧美日韩另类一区| 国产精品久久久久久久久免费丝袜| 亚洲一区二区三区小说| 国产麻豆一精品一av一免费| 欧美日精品一区视频| 欧美—级在线免费片| 91麻豆国产福利在线观看| 精品国产123| 亚洲地区一二三色| 99久久免费国产| 久久久亚洲国产美女国产盗摄 | 国内精品不卡在线| 色婷婷久久一区二区三区麻豆| 久久久久久免费毛片精品| 亚洲国产乱码最新视频| 97se狠狠狠综合亚洲狠狠| 亚洲精品一区在线观看| 丝袜a∨在线一区二区三区不卡| 成人国产精品免费网站| 欧美成人精品福利| 香蕉久久一区二区不卡无毒影院| 成人av网址在线| 国产日产欧产精品推荐色 | 欧美一级黄色片| 午夜国产精品影院在线观看| 色av综合在线| 亚洲视频一二三| 91免费视频网址| 国产精品毛片大码女人| 成人午夜短视频| 国产精品狼人久久影院观看方式| 极品尤物av久久免费看| 精品国精品自拍自在线| 麻豆成人91精品二区三区| 欧美一区二区三区四区高清| 丝袜美腿亚洲一区| 欧美日韩三级一区| 亚洲v日本v欧美v久久精品| 色综合久久88色综合天天免费| 亚洲视频免费在线观看| 99re视频这里只有精品| 一区二区三区四区高清精品免费观看|