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

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

?? l_round.s

?? vxwork源代碼
?? 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一区二区三区免费野_久草精品视频
亚洲第一搞黄网站| 在线区一区二视频| 精品视频在线看| 亚洲国产精品v| 日韩女优av电影| 69堂精品视频| 国产午夜亚洲精品羞羞网站| 久久电影网电视剧免费观看| 91精品午夜视频| 日本免费在线视频不卡一不卡二| 欧美色图片你懂的| 亚洲3atv精品一区二区三区| 欧美亚洲一区二区在线观看| 亚洲一二三区不卡| 久久亚洲一区二区三区明星换脸| 国产精品18久久久久久vr| 久久亚洲精精品中文字幕早川悠里| 国产在线精品免费| 亚洲黄色性网站| 欧美精品粉嫩高潮一区二区| 欧美视频自拍偷拍| 久久精品国产免费看久久精品| 久久久美女毛片| 91麻豆蜜桃一区二区三区| 六月婷婷色综合| 亚洲综合999| 久久先锋影音av鲁色资源| 在线区一区二视频| 国产成人自拍网| 日韩av午夜在线观看| 亚洲免费在线播放| 亚洲免费观看高清在线观看| 欧美日韩国产影片| 成人激情小说乱人伦| 黑人巨大精品欧美黑白配亚洲| 亚洲另类在线一区| 国产精品美女一区二区三区 | 日韩欧美国产电影| 久久久久久久久久久久电影 | 久久亚洲精精品中文字幕早川悠里 | 国产精品久久久久久久久免费樱桃 | 秋霞av亚洲一区二区三| 欧美r级在线观看| 亚洲一区影音先锋| 国产精品久久99| 久久精品一区二区三区四区| 一本一道波多野结衣一区二区| 色天使色偷偷av一区二区| 成人精品小蝌蚪| 国内精品视频666| 经典一区二区三区| 蜜桃传媒麻豆第一区在线观看| 亚洲一区二区三区自拍| 亚洲一区二区成人在线观看| 一区二区三区国产精品| 一区二区三区在线免费播放| 亚洲色图视频网站| 亚洲女同女同女同女同女同69| 亚洲欧美日韩在线不卡| 综合av第一页| 一级中文字幕一区二区| 亚洲一区二区黄色| 日韩精品午夜视频| www.欧美日韩| 激情综合网激情| 国产美女一区二区| 91视频.com| 日日夜夜一区二区| 亚洲欧美在线观看| 一区二区三区四区中文字幕| 香蕉久久夜色精品国产使用方法| 成人黄色av网站在线| 亚洲欧美国产三级| 亚洲日本护士毛茸茸| 777精品伊人久久久久大香线蕉| 国产美女久久久久| 亚洲成va人在线观看| 亚洲国产精品t66y| 日韩亚洲国产中文字幕欧美| 91视频www| 国产盗摄精品一区二区三区在线| 国产日韩亚洲欧美综合| 中文字幕日韩精品一区| 天堂av在线一区| 日韩免费高清视频| 日韩欧美国产1| 国产欧美综合在线| 蜜桃久久av一区| www.日本不卡| 一区二区三区精品在线观看| 欧美亚洲一区二区在线| 日本成人在线网站| 精品播放一区二区| 成人午夜激情影院| 亚洲在线中文字幕| 欧美大片拔萝卜| 国产精品一区二区x88av| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 久久成人免费网| 精品一区二区三区免费观看 | 在线一区二区三区四区五区| 亚洲欧美二区三区| 欧美日韩高清在线播放| 久久国产人妖系列| 国产人成一区二区三区影院| 成人av网站大全| 午夜精品久久久久久久久久久 | 日韩和欧美的一区| 国产日产精品1区| av在线免费不卡| 日韩和欧美一区二区| 国产精品午夜免费| 欧美日韩一区二区电影| 国产乱一区二区| 亚洲精品国产无天堂网2021 | 欧美在线观看视频一区二区三区| 成人欧美一区二区三区黑人麻豆| 欧美日韩国产系列| 国产一区二区三区香蕉| 国产精品美女久久久久久久久久久| 99国产欧美久久久精品| 日本一区二区动态图| 国产酒店精品激情| 久久久蜜桃精品| 国产成人午夜99999| 国产女人aaa级久久久级| 欧美在线你懂得| 亚欧色一区w666天堂| 精品国产髙清在线看国产毛片 | 大陆成人av片| 国产成人自拍网| 丰满岳乱妇一区二区三区| 国产乱码一区二区三区| 国产精品亚洲一区二区三区在线| 久久99国产精品久久99| 狠狠色丁香婷综合久久| 极品美女销魂一区二区三区| 激情综合色综合久久综合| 国产精品自拍在线| 国产不卡视频在线播放| 成人短视频下载| 日本高清视频一区二区| 欧美乱熟臀69xxxxxx| 91国偷自产一区二区三区观看| 99久久99久久久精品齐齐| yourporn久久国产精品| zzijzzij亚洲日本少妇熟睡| 91精品办公室少妇高潮对白| 在线观看成人免费视频| 欧美酷刑日本凌虐凌虐| 3d成人动漫网站| 精品处破学生在线二十三| 国产日韩精品一区二区三区| 国产精品成人免费在线| 亚洲综合一区二区精品导航| 亚洲成精国产精品女| 久久www免费人成看片高清| 国产在线观看一区二区| 成人91在线观看| 欧洲日韩一区二区三区| 欧美一区二区在线视频| 精品第一国产综合精品aⅴ| 国产精品高清亚洲| 夜夜精品浪潮av一区二区三区| 日精品一区二区三区| 激情综合亚洲精品| 99免费精品视频| 精品污污网站免费看| 精品久久久久久久久久久久久久久 | 日韩精品一区二区在线| 欧美激情中文不卡| 亚洲永久精品国产| 久99久精品视频免费观看| 成人久久久精品乱码一区二区三区| 91成人免费电影| 一个色在线综合| 欧美人牲a欧美精品| 91麻豆精品国产自产在线观看一区 | 久久国产免费看| 成人激情视频网站| 欧美人狂配大交3d怪物一区 | 91精品国产综合久久久久久| 久久久影院官网| 一区二区三区在线观看网站| 久久成人羞羞网站| 色综合久久久久久久久| 欧美一区二区三区啪啪| 国产精品久久久久久久浪潮网站| 日韩精品五月天| 99国产麻豆精品| 欧美成人a∨高清免费观看| 亚洲三级在线看| 久久疯狂做爰流白浆xx| 欧美性欧美巨大黑白大战| 精品久久久久久最新网址| 亚洲一区二区三区四区五区黄 | 久久日韩粉嫩一区二区三区| 亚洲综合免费观看高清在线观看| 精品一区在线看| 欧洲一区在线观看|