亚洲欧美第一页_禁久久精品乱码_粉嫩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一区二区三区免费野_久草精品视频
亚洲曰韩产成在线| 26uuu欧美| 精品久久久久久亚洲综合网| 国产三级久久久| 亚洲精品亚洲人成人网在线播放| 亚洲一二三四在线| 精品无人码麻豆乱码1区2区| 97久久精品人人爽人人爽蜜臀 | 亚洲综合另类小说| 六月婷婷色综合| 91免费看视频| 日韩免费一区二区| 1000精品久久久久久久久| 蜜臀久久99精品久久久久久9| 岛国一区二区在线观看| 欧美福利视频一区| 国产精品久久久久久久久果冻传媒 | 久久综合色婷婷| 99久久er热在这里只有精品66| 欧美日韩不卡视频| 91精品国产综合久久蜜臀| 日本一区二区三区四区在线视频| 午夜电影网一区| 99在线精品视频| 日韩精品一区二区三区视频在线观看| 亚洲免费伊人电影| 国产精品2024| 欧美一区永久视频免费观看| 亚洲三级小视频| 激情六月婷婷久久| 欧美男人的天堂一二区| 中文字幕制服丝袜成人av| 麻豆精品在线视频| 欧美在线色视频| 亚洲视频每日更新| 国产不卡在线一区| 欧美sm美女调教| 性做久久久久久免费观看欧美| 成人av网站在线观看| 日韩欧美一卡二卡| 五月天欧美精品| 欧美性猛交一区二区三区精品| 国产精品素人视频| 国产乱子轮精品视频| 欧美一区二区成人| 偷拍日韩校园综合在线| 色哟哟一区二区在线观看| 欧美经典一区二区| 日韩一级片在线播放| 国产网站一区二区| 热久久一区二区| 欧美日韩亚洲国产综合| 中文字幕一区二区三中文字幕| 国内精品伊人久久久久av一坑| 亚洲日本在线a| 成人午夜碰碰视频| 久久这里只有精品6| 精品一区二区综合| 欧美人体做爰大胆视频| 亚洲国产一区二区视频| 欧洲精品在线观看| 亚洲最大成人综合| 色94色欧美sute亚洲线路一久| 国产精品第五页| 不卡一区二区三区四区| 欧美国产97人人爽人人喊| 国产成人免费视频网站| 国产校园另类小说区| 国产精品一二三区| 亚洲国产电影在线观看| 成人激情开心网| 《视频一区视频二区| 色综合久久九月婷婷色综合| 亚洲精品少妇30p| 欧美亚洲高清一区二区三区不卡| 一级精品视频在线观看宜春院 | 成人国产免费视频| 久久一日本道色综合| 国产一区二区女| 日本一区二区三区四区在线视频| 国产精品一二三四区| 国产精品美女一区二区| 97久久超碰国产精品| 亚洲无人区一区| 欧美浪妇xxxx高跟鞋交| 久久精品国产999大香线蕉| 久久一区二区三区四区| 国产成人免费视频网站| 亚洲图片另类小说| 欧美性大战久久久久久久| 亚洲va欧美va国产va天堂影院| 91精品久久久久久久99蜜桃 | 欧美国产精品专区| 99久久婷婷国产综合精品| 亚洲色图在线播放| 欧美精品在线视频| 国产在线精品一区在线观看麻豆| 国产亚洲美州欧州综合国 | 亚洲午夜电影在线观看| 日韩一区二区免费高清| 国产麻豆日韩欧美久久| 日韩欧美国产1| 日本美女视频一区二区| 国产午夜亚洲精品羞羞网站| 波波电影院一区二区三区| 亚洲综合视频在线观看| 日韩欧美你懂的| 成人午夜大片免费观看| 午夜精品一区二区三区电影天堂| 26uuu国产日韩综合| 一本久道中文字幕精品亚洲嫩| 天天免费综合色| 免费国产亚洲视频| 国产精品美女一区二区三区 | 日韩av电影免费观看高清完整版| 久久亚区不卡日本| 色婷婷亚洲一区二区三区| 捆绑调教美女网站视频一区| 日本一区二区久久| 欧美乱妇一区二区三区不卡视频| 国产精品1区二区.| 亚洲成人黄色小说| 欧美国产精品久久| 欧美肥胖老妇做爰| 99久久er热在这里只有精品66| 日本怡春院一区二区| 国产精品久久久一本精品 | 精品一区二区三区在线观看国产 | 欧美日韩精品高清| 高清不卡一区二区在线| 日韩**一区毛片| 亚洲色欲色欲www在线观看| 欧美成人猛片aaaaaaa| 在线亚洲+欧美+日本专区| 国产美女一区二区| 欧美一级日韩免费不卡| 91碰在线视频| 国产乱码精品一区二区三区av | 欧美日韩一区二区三区四区 | 一级精品视频在线观看宜春院 | 99久久婷婷国产| 韩国欧美一区二区| 亚洲国产日韩av| 国产精品久久久久7777按摩| 欧美xxxxx裸体时装秀| 欧美日韩精品一区二区三区| 不卡的电视剧免费网站有什么| 麻豆91在线看| 亚洲国产精品久久艾草纯爱| 国产精品毛片大码女人| 26uuu欧美| 日韩一区二区免费电影| 欧美日韩免费视频| 色综合久久综合网| 波多野结衣亚洲| 国产成人综合亚洲网站| 极品瑜伽女神91| 人妖欧美一区二区| 亚洲国产乱码最新视频| 亚洲欧美综合色| 国产精品麻豆视频| 久久久不卡网国产精品一区| 日韩一区二区在线观看视频播放| 欧美亚日韩国产aⅴ精品中极品| 成人美女在线视频| 成人亚洲一区二区一| 国产在线视频一区二区| 精品一区二区在线看| 麻豆国产精品官网| 美女久久久精品| 日韩av一区二| 日韩精品免费视频人成| 亚洲第一激情av| 亚洲动漫第一页| 亚洲一线二线三线视频| 亚洲黄色免费网站| 亚洲一级二级在线| 亚洲成在人线在线播放| 亚洲一区av在线| 午夜精品久久久久久久蜜桃app| 亚洲电影一级黄| 香蕉成人啪国产精品视频综合网| 亚洲免费高清视频在线| 成人av电影在线观看| 高清免费成人av| 成人网男人的天堂| 99久久婷婷国产综合精品| 94-欧美-setu| 色综合咪咪久久| 欧美性色aⅴ视频一区日韩精品| 欧美三级日韩三级国产三级| 欧美日韩中文字幕一区二区| 欧美日韩高清影院| 51精品久久久久久久蜜臀| 91超碰这里只有精品国产| 欧美一区二区三区视频免费 | 久久精品72免费观看| 久久99久久久欧美国产| 国产成人精品免费一区二区| 99在线精品观看|