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

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

?? l_scale.s

?? vxwork源代碼
?? S
字號(hào):
/*  l_scale.s - Motorola 68040 FP scaling 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,09jan92,kdl	general cleanup.01b,30dec91,kdl	put in changes from Motorola v3.3 (FPSP v2.1):		clear the exceptional operand for zero underflow.01a,13aug91,kdl	original version from FPSP v2.0.*//*DESCRIPTION	scalesa 3.2 2/18/91	The entry point sSCALE computes the destination operand	scaled by the source operand.  If the absoulute value of	the source operand is (>= 2^14) an overflow or underflow	is returned.	The entry point __l_sscale is called from __l_do_func to emulate	the fscale unimplemented instruction.	Input: Double-extended destination operand in FPTEMP,		double-extended source operand in ETEMP.	Output: The function returns scale(X,Y) to fp0.	Modifies: fp0.	Algorithm:		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.SCALE    idnt    2,1 Motorola 040 Floating Point Software Package	section	8NOMANUAL*/#include "fpsp040L.h"|	xref	__l_t_ovfl2|	xref	__l_t_unfl|	xref	__l_round|	xref	__l_t_resdnrmSRC_BNDS: .word	0x3fff,0x400c|| This entry point is used by the unimplemented instruction exception| handler.||||	FSCALE|	.text	.globl	__l_sscale__l_sscale:	fmovel		#0,fpcr		| clr user enabled exc	clrl		d1	movew		a6@(FPTEMP),d1	| get dest exponent	smi		a6@(L_SCR1)	| use L_SCR1 to hold sign	andil		#0x7fff,d1	| strip sign	movew		a6@(ETEMP),d0	| check src bounds	andiw		#0x7fff,d0	| clr sign bit	cmp2w		SRC_BNDS,d0	jcc 		src_in	cmpiw		#0x400c,d0	| test for too large	jge 		src_out|| The source input is below 1, so we check for denormalized numbers| and set unfl.|src_small:	moveb		a6@(DTAG),d0	andib		#0xe0,d0	tstb		d0	jeq 		no_denorm	st		a6@(STORE_FLG)	| dest already contains result	orl		#__l_unfl_mask,a6@(USER_FPSR) | set UNFLden_done:	lea		a6@(FPTEMP),a0	jra 		__l_t_resdnrmno_denorm:	fmovel		a6@(USER_FPCR),fpcr	fmovex		a6@(FPTEMP),fp0	| simply return dest	rts|| Source is within 2^14 range.  To perform the int operation,| move it to d0.|src_in:	fmovex		a6@(ETEMP),fp0	| move in src for int	fmovel		#rz_mode,fpcr	| force rz for src conversion	fmovel		fp0,d0		| int src to d0	fmovel		#0,FPSR		| clr status from above	tstw		a6@(ETEMP)	| check src sign	jlt 		src_neg|| Source is positive.  Add the src to the dest exponent.| The result can be denormalized, if src = 0, or overflow,| if the result of the add sets a bit in the upper word.|src_pos:	tstw		d1		| check for denorm	jeq 		dst_dnrm	addl		d0,d1		| add src to dest exp	jeq 		__l_denorm	| if zero, result is denorm	cmpil		#0x7fff,d1	| test for overflow	jge 		__l_ovfl	tstb		a6@(L_SCR1)	jeq 		spos_pos	orw		#0x8000,d1spos_pos:	movew		d1,a6@(FPTEMP)	| result in FPTEMP	fmovel		a6@(USER_FPCR),fpcr	fmovex		a6@(FPTEMP),fp0	| write result to fp0	rts__l_ovfl:	tstb		a6@(L_SCR1)	jeq 		sovl_pos	orw		#0x8000,d1sovl_pos:	movew		a6@(FPTEMP),a6@(ETEMP)	| result in ETEMP	movel		a6@(FPTEMP_HI),a6@(ETEMP_HI)	movel		a6@(FPTEMP_LO),a6@(ETEMP_LO)	jra 		__l_t_ovfl2__l_denorm:	tstb		a6@(L_SCR1)	jeq 		den_pos	orw		#0x8000,d1den_pos:	tstl		a6@(FPTEMP_HI)	| check j bit	jlt 		nden_exit	| if set, not denorm	movew		d1,a6@(ETEMP)	| input expected in ETEMP	movel		a6@(FPTEMP_HI),a6@(ETEMP_HI)	movel		a6@(FPTEMP_LO),a6@(ETEMP_LO)	orl		#__l_unfl_bit,a6@(USER_FPSR)	| set unfl	lea		a6@(ETEMP),a0	jra 		__l_t_resdnrmnden_exit:	movew		d1,a6@(FPTEMP)	| result in FPTEMP	fmovel		a6@(USER_FPCR),fpcr	fmovex		a6@(FPTEMP),fp0	| write result to fp0	rts|| Source is negative.  Add the src to the dest exponent.| (The result exponent will be reduced).  The result can be| denormalized.|src_neg:	addl		d0,d1		| add src to dest	jeq 		__l_denorm	| if zero, result is denorm	jlt 		fix_dnrm	| if negative, result is|					| needing denormalization	tstb		a6@(L_SCR1)	jeq 		__l_sneg_pos	orw		#0x8000,d1__l_sneg_pos:	movew		d1,a6@(FPTEMP)	| result in FPTEMP	fmovel		a6@(USER_FPCR),fpcr	fmovex		a6@(FPTEMP),fp0	| write result to fp0	rts|| The result exponent is below denorm value.  Test for catastrophic| underflow and force zero if true.  If not, try to shift the| mantissa right until a zero exponent exists.|fix_dnrm:	cmpiw		#0xffc0,d1	| lower bound for normalization	jlt 		fix_unfl	| if lower, catastrophic unfl	movew		d1,d0		| use d0 for exp	movel		d2,a7@-	| free d2 for norm	movel		a6@(FPTEMP_HI),d1	movel		a6@(FPTEMP_LO),d2	clrl		a6@(L_SCR2)fix_loop:	addw		#1,d0		| drive d0 to 0	lsrl		#1,d1		| while shifting the	roxrl		#1,d2		| mantissa to the right	jcc 		no_carry	st		a6@(L_SCR2)	| use L_SCR2 to capture inexno_carry:	tstw		d0		| it is finished when	jlt 		fix_loop	| d0 is zero or the mantissa	tstb		a6@(L_SCR2)	jeq 		tst_zero	orl		#__l_unfl_inx_mask,a6@(USER_FPSR)|					| set unfl, aunfl, ainex|| Test for zero. If zero, simply use fmovel to return +/- zero| to the fpu.|tst_zero:	clrw		a6@(FPTEMP_EX)	tstb		a6@(L_SCR1)	| test for sign	jeq 		tst_con	orw		#0x8000,a6@(FPTEMP_EX) | set sign bittst_con:	movel		d1,a6@(FPTEMP_HI)	movel		d2,a6@(FPTEMP_LO)	movel		a7@+,d2	tstl		d1	jne 		not_zero	tstl		a6@(FPTEMP_LO)	jne 		not_zero|| Result is zero.  Check for rounding mode to set lsb.  If the| mode is rp, and the zero is positive, return smallest denorm.| If the mode is rm, and the zero is negative, return smallest| negative denorm.|	btst		#5,a6@(fpcr_MODE) | test if rm or rp	jeq 		no_dir	btst		#4,a6@(fpcr_MODE) | check which one	jeq 		zer_rmzer_rp:	tstb		a6@(L_SCR1)	| check sign	jne 		no_dir		| if set, neg op, no inc	movel		#1,a6@(FPTEMP_LO) | set lsb	jra 		sm_dnrmzer_rm:	tstb		a6@(L_SCR1)	| check sign	jeq 		no_dir		| if clr, neg op, no inc	movel		#1,a6@(FPTEMP_LO) | set lsb	orl		#neg_mask,a6@(USER_FPSR) | set N	jra 		sm_dnrmno_dir:	fmovel		a6@(USER_FPCR),fpcr	fmovex		a6@(FPTEMP),fp0	/* | use fmovel to set cc's */	rts|| The rounding mode changed the zero to a smallest denorm. Call| __l_t_resdnrm with exceptional operand in ETEMP.|sm_dnrm:	movel		a6@(FPTEMP_EX),a6@(ETEMP_EX)	movel		a6@(FPTEMP_HI),a6@(ETEMP_HI)	movel		a6@(FPTEMP_LO),a6@(ETEMP_LO)	lea		a6@(ETEMP),a0	jra 		__l_t_resdnrm|| Result is still denormalized.|not_zero:	orl		#__l_unfl_mask,a6@(USER_FPSR) | set unfl	tstb		a6@(L_SCR1)	| check for sign	jeq 		fix_exit	orl		#neg_mask,a6@(USER_FPSR) | set Nfix_exit:	jra 		sm_dnrm|| The result has underflowed to zero. Return zero and set| unfl, aunfl, and ainex.|fix_unfl:	orl		#__l_unfl_inx_mask,a6@(USER_FPSR)	btst		#5,a6@(fpcr_MODE) | test if rm or rp	jeq 		no_dir2	btst		#4,a6@(fpcr_MODE) | check which one	jeq 		zer_rm2zer_rp2:	tstb		a6@(L_SCR1)	| check sign	jne 		no_dir2		| if set, neg op, no inc	clrl		a6@(FPTEMP_EX)	clrl		a6@(FPTEMP_HI)	movel		#1,a6@(FPTEMP_LO) | set lsb	jra 		sm_dnrm		| return smallest denormzer_rm2:	tstb		a6@(L_SCR1)	| check sign	jeq 		no_dir2		| if clr, neg op, no inc	movew		#0x8000,a6@(FPTEMP_EX)	clrl		a6@(FPTEMP_HI)	movel		#1,a6@(FPTEMP_LO) | set lsb	orl		#neg_mask,a6@(USER_FPSR) | set N	jra 		sm_dnrm		| return smallest denormno_dir2:	tstb		a6@(L_SCR1)	jge 		pos_zeroneg_zero:	clrl		a6@(FP_SCR1)	| clear the exceptional operand	clrl		a6@(FP_SCR1+4)	| for __x_gen_except.	clrl		a6@(FP_SCR1+8)/*	fmoves	&0x80000000,fp0 */	 .long 0xf23c4400,0x80000000	rtspos_zero:	clrl		a6@(FP_SCR1)	| clear the exceptional operand	clrl		a6@(FP_SCR1+4)	| for __x_gen_except.	clrl		a6@(FP_SCR1+8)/*	fmoves	&0x00000000,fp0 */	 .long 0xf23c4400,0x00000000	rts|| The destination is a denormalized number.  It must be handled| by first shifting the bits in the mantissa until it is normalized,| then adding the remainder of the source to the exponent.|dst_dnrm:	moveml		d2/d3,a7@-	movew		a6@(FPTEMP_EX),d1	movel		a6@(FPTEMP_HI),d2	movel		a6@(FPTEMP_LO),d3dst_loop:	tstl		d2		| test for normalized result	jlt 		dst_norm	| exit loop if so	tstl		d0		| otherwise, test shift count	jeq 		dst_fin		| if zero, shifting is done	subil		#1,d0		| dec src	lsll		#1,d3	roxll		#1,d2	jra 		dst_loop|| Destination became normalized.  Simply add the remaining| portion of the src to the exponent.|dst_norm:	addw		d0,d1		| dst is normalized|  add src	tstb		a6@(L_SCR1)	jeq 		dnrm_pos	orl		#0x8000,d1dnrm_pos:	movemw		d1,a6@(FPTEMP_EX)	moveml		d2,a6@(FPTEMP_HI)	moveml		d3,a6@(FPTEMP_LO)	fmovel		a6@(USER_FPCR),fpcr	fmovex		a6@(FPTEMP),fp0	moveml		a7@+,d2/d3	rts|| Destination remained denormalized.  Call t_excdnrm with| exceptional operand in ETEMP.|dst_fin:	tstb		a6@(L_SCR1)	| check for sign	jeq 		dst_exit	orl		#neg_mask,a6@(USER_FPSR) | set N	orl		#0x8000,d1dst_exit:	movemw		d1,a6@(ETEMP_EX)	moveml		d2,a6@(ETEMP_HI)	moveml		d3,a6@(ETEMP_LO)	orl		#__l_unfl_mask,a6@(USER_FPSR) | set unfl	moveml		a7@+,d2/d3	lea		a6@(ETEMP),a0	jra 		__l_t_resdnrm|| Source is outside of 2^14 range.  Test the sign and branch| to the appropriate exception handler.|src_out:	tstb		a6@(L_SCR1)	jeq 		scro_pos	orl		#0x8000,d1scro_pos:	movel		a6@(FPTEMP_HI),a6@(ETEMP_HI)	movel		a6@(FPTEMP_LO),a6@(ETEMP_LO)	tstw		a6@(ETEMP)	jlt 		res_negres_pos:	movew		d1,a6@(ETEMP)	| result in ETEMP	jra 		__l_t_ovfl2res_neg:	movew		d1,a6@(ETEMP)	| result in ETEMP	lea		a6@(ETEMP),a0	jra 		__l_t_unfl|	end

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女脱光内衣内裤视频久久影院| eeuss鲁片一区二区三区 | 日本va欧美va瓶| 亚洲一区av在线| 亚洲乱码一区二区三区在线观看| 中文字幕亚洲成人| 中文字幕日韩一区二区| 国产欧美日韩不卡| 国产精品九色蝌蚪自拍| 亚洲欧洲性图库| 18成人在线观看| 亚洲精品一二三四区| 一区二区三区影院| 亚洲国产视频一区| 日韩电影在线一区二区三区| 蜜臀久久99精品久久久画质超高清| 欧美成人高清电影在线| 成人免费看视频| av中文字幕不卡| 一本久久a久久免费精品不卡| 91丨porny丨国产入口| 在线看不卡av| 日韩午夜激情免费电影| 久久精品一级爱片| 国产精品久久久久久久久久久免费看| 中文字幕一区二区不卡| 亚洲午夜久久久久久久久久久| 亚洲图片欧美色图| 精品一区二区三区欧美| 国产mv日韩mv欧美| 一本久久精品一区二区| 91精品国产综合久久精品app| 日韩美女主播在线视频一区二区三区| 精品剧情v国产在线观看在线| 国产亚洲va综合人人澡精品| 一区二区在线观看视频| 欧美aaaaaa午夜精品| 丁香啪啪综合成人亚洲小说| 色综合激情久久| 欧美电影免费观看高清完整版在线观看 | 久久久久久久性| 亚洲视频一区二区免费在线观看| 亚洲国产一区二区三区青草影视| 另类小说色综合网站| 成人av电影在线观看| 欧美日韩综合色| 久久精品一区二区三区不卡| 一区二区三区免费在线观看| 精品亚洲成a人| 色综合天天在线| 日韩精品一区二区三区四区视频| 国产精品久久久久久久久免费丝袜| 亚洲一区二区三区不卡国产欧美| 久久99精品久久只有精品| 91免费看`日韩一区二区| 欧美一区二区女人| 亚洲精品老司机| 紧缚奴在线一区二区三区| 在线精品视频免费播放| 2023国产精品| 精品国产乱码久久久久久久| 欧美高清视频在线高清观看mv色露露十八| www国产精品av| 一个色综合av| 成人av动漫网站| 欧美第一区第二区| 亚洲一区在线观看网站| 国产成人综合网站| 欧美精品久久久久久久久老牛影院| 国产精品久久一卡二卡| 久久99国产精品麻豆| 欧洲一区在线观看| 国产精品久久午夜| 国产一区啦啦啦在线观看| 91精品欧美久久久久久动漫 | 日韩电影在线一区二区三区| 91视视频在线观看入口直接观看www | 精品在线亚洲视频| 91精品国产综合久久国产大片| 亚洲色图20p| 国产成人精品免费在线| 日韩你懂的在线播放| 亚洲成人在线免费| 91精品福利视频| 日韩一区在线播放| 高清在线观看日韩| 精品剧情v国产在线观看在线| 日韩极品在线观看| 欧美日韩一区二区三区免费看| 亚洲欧美在线视频| 成人高清免费在线播放| 精品国产乱码久久久久久图片| 丝袜美腿亚洲综合| 欧美私模裸体表演在线观看| 亚洲私人影院在线观看| 成人av小说网| 国产欧美精品一区| 国产丶欧美丶日本不卡视频| 精品乱人伦一区二区三区| 免费成人美女在线观看.| 欧美日本视频在线| 天天综合网天天综合色| 欧美午夜一区二区三区 | 色呦呦一区二区三区| 国产精品国产三级国产普通话99 | 亚洲电影视频在线| 国产精品一区二区免费不卡| 精品国产精品一区二区夜夜嗨| 蜜臀av一级做a爰片久久| 日韩你懂的电影在线观看| 麻豆91免费观看| 久久欧美一区二区| 国产一区二区在线电影| 国产欧美日韩视频一区二区| 成人福利视频网站| 亚洲欧洲av在线| 色视频成人在线观看免| 一区二区三区毛片| 欧美日韩日本视频| 亚洲aaa精品| 日韩一区二区免费视频| 久久成人精品无人区| 久久久蜜桃精品| 成人av在线资源网| 亚洲色图欧美在线| 91久久免费观看| 日日夜夜精品视频天天综合网| 91精品福利在线一区二区三区| 玖玖九九国产精品| 国产精品乱人伦中文| 色噜噜狠狠成人中文综合| 亚洲成人三级小说| 欧美精品一区二区三区久久久| 国产成人av一区二区三区在线| 亚洲欧美综合在线精品| 欧美三级韩国三级日本三斤| 蜜臀久久99精品久久久久久9 | 日韩精品中午字幕| 国产精品一区一区| 亚洲精品视频自拍| 日韩一级高清毛片| 成人av电影在线| 午夜精品久久久久影视| 久久久精品人体av艺术| 色综合中文综合网| 久久精品人人做| 成人免费高清在线| 亚洲一区二区三区国产| 日韩欧美一级精品久久| 成人网页在线观看| 三级在线观看一区二区| 中文字幕欧美国产| 欧美日韩成人综合天天影院| 国产精品一级黄| 午夜视频一区在线观看| 国产欧美精品在线观看| 欧美日韩高清一区二区不卡| 国产成人在线免费观看| 亚洲国产美国国产综合一区二区| 欧美精品一区二区蜜臀亚洲| 91丨九色丨黑人外教| 久久91精品久久久久久秒播| 亚洲精品视频一区| 久久久美女毛片| 在线不卡一区二区| 91一区一区三区| 激情欧美一区二区三区在线观看| 一区二区三区在线视频观看 | 亚洲高清免费观看高清完整版在线观看| 精品国产伦一区二区三区观看方式| 在线免费一区三区| 国产成人丝袜美腿| 免费成人在线观看视频| 一区二区三区四区激情| 国产精品无码永久免费888| 日韩一级免费观看| 欧美亚洲国产怡红院影院| 成人久久久精品乱码一区二区三区 | 亚洲欧美视频在线观看视频| 精品奇米国产一区二区三区| 欧美在线观看禁18| 成人av网址在线观看| 国产精品一区二区久久精品爱涩| 日日夜夜免费精品| 亚洲国产精品欧美一二99| 中文字幕中文在线不卡住| 久久蜜桃av一区二区天堂| 日韩一区二区三免费高清| 欧美色综合天天久久综合精品| 9i在线看片成人免费| 国产乱码精品一区二区三区av| 免费高清在线视频一区·| 亚洲午夜电影在线观看| 亚洲蜜臀av乱码久久精品蜜桃| 国产女人aaa级久久久级| 亚洲精品在线网站| 欧美一区二区三区四区五区| 欧美日本高清视频在线观看| 在线免费观看日韩欧美| 色8久久人人97超碰香蕉987|