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

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

?? round.s

?? vxwork源代碼
?? S
?? 第 1 頁 / 共 2 頁
字號(hào):
/* round.s - Motorola 68040 FP rounding routines (EXC) *//* Copyright 1991-1993 Wind River Systems, Inc. */	.data	.globl	_copyright_wind_river	.long	_copyright_wind_river/*modification history--------------------01g,21jul93,kdl  added .text (SPR #2372).01f,23aug92,jcf  changed bxxx to jxx.01e,26may92,rrr  the tree shuffle01d,10jan92,kdl  general cleanup.01c,01jan92,jcf	 reversed order of cmp <reg>,<reg>01b,17dec91,kdl	 put in changes from Motorola v3.4 (from FPSP 2.1):		 use register for fixing "lsll 29" problem (01a);		 add check for negative loop count in __x_dnrm_lp.01a,31jul91,kdl  original version, from Motorola FPSP v2.0;		 divided "lsll #29" into smaller bit shifts.*//*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 "fpsp040E.h"||	__x_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).|	.globl	__x_round	.text__x_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 the 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 # __x_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|	  __x_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	__x_nrm_zero__x_nrm_zero:	movew	a0@(LOCAL_EX),d0	cmpw   #64,d0          | see if exp > 64	jmi 	d0_less	bsrl	__x_nrm_set		/* | exp > 64 so exp won't exceed 0  */	rtsd0_less:	moveml	d2/d3/d5/d6,a7@-	movel	a0@(LOCAL_HI),d1	movel	a0@(LOCAL_LO),d2	bfffo	d1{#0:#32},d3	| get the distance to the first 1|				| in ms mant

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩亚洲欧美一区| 亚洲一区二区三区四区在线观看 | 欧美在线视频你懂得| 亚洲国产日韩综合久久精品| 日韩欧美国产精品一区| 成人免费看的视频| 视频在线观看91| 国产精品传媒入口麻豆| 欧美精品色综合| 波波电影院一区二区三区| 首页亚洲欧美制服丝腿| 中文字幕精品一区二区三区精品 | 欧美探花视频资源| 豆国产96在线|亚洲| 亚洲午夜一区二区三区| 国产精品不卡在线| 欧美久久久久久久久久| 色婷婷国产精品久久包臀| 国产一区二区三区黄视频| 婷婷成人综合网| 亚洲国产另类av| 亚洲成人免费电影| 一区二区三区在线视频免费观看| 国产精品免费观看视频| 国产视频911| 亚洲欧洲美洲综合色网| 国产精品水嫩水嫩| 日韩美女久久久| 综合色中文字幕| 亚洲成人一区在线| 日本视频一区二区三区| 美女精品自拍一二三四| 国内外精品视频| 不卡电影免费在线播放一区| 97久久久精品综合88久久| 欧美三级中文字幕在线观看| 欧美精品电影在线播放| 久久久精品2019中文字幕之3| 久久先锋影音av| 国产精品国产a级| 午夜电影一区二区三区| 精久久久久久久久久久| av成人免费在线| 欧美精品日韩一本| 国产精品久久久久久久久晋中| 国产精品久久久久久久岛一牛影视| 中文字幕日韩欧美一区二区三区| 亚洲在线免费播放| 国产91精品久久久久久久网曝门| 欧美在线一区二区三区| 久久综合色婷婷| 欧美a一区二区| 欧美性色综合网| 亚洲色图视频网| 国产69精品久久99不卡| 69堂国产成人免费视频| 亚洲精品少妇30p| 国产白丝精品91爽爽久久| 精品日韩一区二区三区免费视频| 一区二区三区四区精品在线视频| 国产一区二区影院| 91精品国产欧美日韩| 最近中文字幕一区二区三区| 成人激情午夜影院| 日本一区二区三区高清不卡 | 男女性色大片免费观看一区二区| 色综合咪咪久久| 国产精品亲子乱子伦xxxx裸| 国产成人亚洲综合a∨婷婷图片| 国内国产精品久久| 久久综合狠狠综合| 国产精品一级片| 国产精品入口麻豆九色| 不卡电影一区二区三区| 一区二区三区中文字幕电影| 日本精品免费观看高清观看| 亚洲国产欧美一区二区三区丁香婷| 不卡av电影在线播放| 亚洲精品亚洲人成人网在线播放| 色综合久久久久网| 视频一区在线播放| 国产午夜亚洲精品不卡| 国产精品1区二区.| 亚洲柠檬福利资源导航| 91精品国产乱| 成人av免费在线观看| 一二三区精品福利视频| 精品欧美一区二区久久| 91片在线免费观看| 精品一区二区在线视频| 中文字幕一区二区三区精华液 | 欧洲av一区二区嗯嗯嗯啊| 日韩国产精品大片| 日韩美女精品在线| 久久久久亚洲综合| 欧美精品在线观看一区二区| 国产精品一级二级三级| 日韩av网站在线观看| 亚洲婷婷国产精品电影人久久| 欧美videossexotv100| 精品视频免费在线| 91在线精品一区二区三区| 国产露脸91国语对白| 男女男精品视频| 视频一区视频二区中文| 亚洲一区二区在线观看视频| 亚洲色图色小说| 国产精品不卡在线| 亚洲美女屁股眼交3| 亚洲欧美日韩国产手机在线 | 国产清纯美女被跳蛋高潮一区二区久久w| 色综合婷婷久久| 91黄色小视频| 欧美日韩的一区二区| 91精品国产91久久久久久最新毛片 | 欧美日韩国产片| 欧美放荡的少妇| 久久这里只有精品视频网| 久久老女人爱爱| 国产欧美一区二区三区在线看蜜臀| 久久婷婷久久一区二区三区| 国产精品久久久久久久久久久免费看 | 香蕉久久一区二区不卡无毒影院| 日本美女一区二区三区| 国产一区二区三区四区五区入口 | 亚洲一区二区三区四区不卡| 亚欧色一区w666天堂| 国产一区二区三区久久久| 成人h动漫精品| 7777精品伊人久久久大香线蕉的| 91麻豆精品国产91久久久更新时间| 精品国产91久久久久久久妲己| 欧美激情综合在线| 日韩精品乱码av一区二区| 成人教育av在线| 精品噜噜噜噜久久久久久久久试看| 18成人在线视频| 久久国产精品72免费观看| 一本色道a无线码一区v| 久久一区二区三区四区| 天堂在线亚洲视频| 色天天综合色天天久久| 国产精品色哟哟网站| 国内一区二区在线| 欧美视频三区在线播放| 国产精品水嫩水嫩| 精品一区中文字幕| 日韩视频123| 美女视频黄免费的久久 | 日韩精品中文字幕在线不卡尤物| ...av二区三区久久精品| 成人午夜又粗又硬又大| 久久久久久久久久久99999| 加勒比av一区二区| 91麻豆精品久久久久蜜臀| 日本亚洲欧美天堂免费| 欧美疯狂做受xxxx富婆| 日本aⅴ精品一区二区三区| 欧美日韩国产a| 麻豆精品一二三| 国产亚洲精品bt天堂精选| caoporm超碰国产精品| 中文字幕色av一区二区三区| 欧美性大战久久久久久久蜜臀| 亚洲激情图片小说视频| 欧美日韩国产123区| 久久99久久久久| 亚洲女爱视频在线| 91精品国产高清一区二区三区蜜臀| 国产精品一品二品| 一区二区视频在线看| 2020国产精品久久精品美国| www.日韩av| 精品亚洲免费视频| 亚洲免费观看高清完整版在线观看熊| 欧美亚洲愉拍一区二区| 黄色精品一二区| 午夜久久电影网| 最好看的中文字幕久久| 久久久久久毛片| 欧美一级黄色录像| 99精品视频在线播放观看| 久久99在线观看| 蜜臀av性久久久久蜜臀aⅴ流畅| 国产精品午夜在线观看| 精品国产一区二区三区不卡| 欧美性视频一区二区三区| 色综合久久久久网| 成人aaaa免费全部观看| 高清av一区二区| 国产东北露脸精品视频| 狠狠色丁香婷综合久久| 免费的国产精品| 久久精品国产精品亚洲红杏| 丝袜国产日韩另类美女| 亚洲五码中文字幕| 婷婷中文字幕一区三区| 一区在线观看免费| 色婷婷国产精品| 不卡一卡二卡三乱码免费网站|