亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
精品国内二区三区| 日韩欧美在线影院| 在线观看91视频| 色综合网站在线| 91麻豆精品国产自产在线观看一区 | 国产成人免费视频| 国产酒店精品激情| 色婷婷综合久久久久中文| 欧美日韩一级片网站| 欧美一区二区三区男人的天堂| wwwwww.欧美系列| 亚洲国产美女搞黄色| 亚洲精品中文字幕在线观看| 亚洲成人动漫一区| 国产jizzjizz一区二区| 色999日韩国产欧美一区二区| 6080国产精品一区二区| 久久久综合精品| 亚洲一区二区三区精品在线| 韩国三级中文字幕hd久久精品| 99免费精品视频| 日韩女优毛片在线| 首页综合国产亚洲丝袜| 五月婷婷久久丁香| 床上的激情91.| 日韩欧美一区二区不卡| 奇米色777欧美一区二区| 国产一区二区三区免费在线观看| 色婷婷av一区二区三区gif| 久久亚洲精精品中文字幕早川悠里| 亚洲日本丝袜连裤袜办公室| 国产一区二区精品久久99| 欧美日韩国产综合久久| 亚洲欧美电影一区二区| 成人美女视频在线观看18| 精品国产一区二区三区av性色| 亚洲一二三四区| 日本高清成人免费播放| 国产精品网友自拍| 国产成a人亚洲精品| 国产亲近乱来精品视频| 国模套图日韩精品一区二区| 91精品国产麻豆国产自产在线 | 中文字幕不卡一区| 国产91在线|亚洲| 国产日产欧产精品推荐色| 色综合久久66| 亚洲一区二区三区视频在线播放| 91福利在线免费观看| 一区二区三区四区亚洲| 欧美丝袜自拍制服另类| 午夜日韩在线观看| 91精品国产aⅴ一区二区| 蜜臀av在线播放一区二区三区| 日韩精品一区二区三区四区| 久久国产夜色精品鲁鲁99| www久久精品| 成人福利视频网站| 国产精品日日摸夜夜摸av| eeuss国产一区二区三区| 国产精品午夜电影| 在线一区二区视频| 日韩电影一区二区三区| 久久精品日产第一区二区三区高清版| 国产真实乱子伦精品视频| 国产精品国产精品国产专区不片| 一本大道久久a久久精品综合| 亚洲成人先锋电影| 久久精子c满五个校花| 在线影视一区二区三区| 久久精品国产澳门| 亚洲精品欧美在线| 日韩免费观看高清完整版| 99精品一区二区三区| 香蕉久久夜色精品国产使用方法 | 欧美电影免费观看高清完整版| 国产一区二区调教| 一区二区三区四区在线播放 | 久久精品国产亚洲5555| 国产精品美女www爽爽爽| 在线电影欧美成精品| 99精品国产一区二区三区不卡| 青青草97国产精品免费观看无弹窗版| 亚洲欧美一区二区在线观看| 精品国产乱码久久久久久夜甘婷婷| 色美美综合视频| 成人动漫av在线| 国产一区二区看久久| 久久99精品国产麻豆婷婷洗澡| 一区二区免费看| 亚洲日本欧美天堂| 国产精品美女久久福利网站| 久久久久久久久久久久久久久99| 欧美一区二区免费视频| 欧美日韩一区久久| 在线观看国产精品网站| 欧美成人在线直播| 欧美一区二区视频在线观看2020| 欧美三级午夜理伦三级中视频| 色婷婷国产精品| 欧美在线免费观看视频| 欧美性做爰猛烈叫床潮| 91色视频在线| 东方aⅴ免费观看久久av| 国产99久久久国产精品潘金网站| 国产乱码精品一区二区三| 久久er99热精品一区二区| 蜜桃视频免费观看一区| 久久精品国产色蜜蜜麻豆| 国产在线日韩欧美| 国产成人激情av| 色综合色狠狠天天综合色| 欧美丝袜丝nylons| 91精品国产高清一区二区三区蜜臀| 欧美一级国产精品| 精品福利一区二区三区免费视频| 久久精品在这里| 日韩一区中文字幕| 日韩精品高清不卡| 国产乱人伦偷精品视频免下载| 成人ar影院免费观看视频| 色婷婷av一区二区三区之一色屋| 中文无字幕一区二区三区| 亚洲精品视频免费看| 美女www一区二区| 色综合天天综合在线视频| 欧美日韩在线免费视频| 精品美女在线播放| 一区二区三区国产精华| 国产在线一区二区| 777午夜精品免费视频| 国产精品天天看| 久久66热re国产| 91成人在线观看喷潮| 久久久久青草大香线综合精品| 亚洲精品乱码久久久久久| 精品一区二区三区不卡| 欧美视频一区二区三区在线观看 | 日韩激情av在线| 一本大道综合伊人精品热热| 国产欧美日韩中文久久| 亚洲123区在线观看| 日本韩国一区二区| 中文乱码免费一区二区| 五月天激情综合| 麻豆国产精品一区二区三区 | 国产一区二区三区| 欧美一级日韩不卡播放免费| 亚洲一区二三区| kk眼镜猥琐国模调教系列一区二区 | 麻豆一区二区99久久久久| 欧美日韩一区二区三区四区五区| 日韩一区在线看| 91片在线免费观看| 一区二区三区影院| 91成人免费在线| 亚洲18女电影在线观看| 欧美日韩久久不卡| 日本一区中文字幕| 中文字幕免费不卡| 国产成人8x视频一区二区| 久久久久久久国产精品影院| 国产成人精品网址| 亚洲日本va在线观看| 欧美性视频一区二区三区| 亚洲高清视频中文字幕| 欧美日韩不卡在线| 久久99精品国产.久久久久久 | 国产色综合一区| 91麻豆成人久久精品二区三区| 亚洲自拍都市欧美小说| 欧美精品一卡二卡| 国产一区二区三区免费看| 自拍偷自拍亚洲精品播放| 欧美日韩精品免费观看视频 | 精品国产乱码久久久久久闺蜜| 国产九九视频一区二区三区| 国产精品久久久久久久久图文区| 在线观看欧美日本| 久久99国产精品免费网站| 亚洲欧美aⅴ...| 欧美精品一区二区在线观看| 99热精品国产| 麻豆成人av在线| 亚洲国产综合视频在线观看| wwwwww.欧美系列| 欧美日韩国产bt| av日韩在线网站| 久久er精品视频| 亚洲va欧美va天堂v国产综合| 欧美精品一区视频| 777久久久精品| 一本大道av伊人久久综合| 国产精一品亚洲二区在线视频| 亚洲成av人片www| 亚洲男女毛片无遮挡| 欧美国产日韩亚洲一区| 日韩欧美国产小视频| 欧美日韩视频一区二区| 99久久亚洲一区二区三区青草|