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

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

?? x_store.s

?? Vxworks OS source code
?? S
字號:
/* x_store.s - Motorola 68040 FP storage routines (EXC) *//* Copyright 1991-1993 Wind River Systems, Inc. */	.data	.globl	_copyright_wind_river	.long	_copyright_wind_river/*modification history--------------------01e,21jul93,kdl  added .text (SPR #2372).01d,23aug92,jcf  changed bxxx to jxx.01c,26may92,rrr  the tree shuffle01b,10jan92,kdl  added modification history; general cleanup.01a,15aug91,kdl  original version, from Motorola FPSP v2.0.*//*DESCRIPTION	x_storesa 3.2 1/24/91	__x_store --- store operand to memory or register	Used by underflow and overflow handlers.	a6 = points to fp value to be stored.		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.X_STORE	idnt    2,1 Motorola 040 Floating Point Software Package	section	8NOMANUAL*/fpreg_mask:	.byte	0x80,0x40,0x20,0x10,0x08,0x04,0x02,0x01#include "fpsp040E.h"|	xref	__x_mem_write|	xref	__x_get_fline|	xref	__x_g_opcls|	xref	__x_g_dfmtou|	xref	__x_reg_dest	.globl	__x_dest_ext	.globl	__x_dest_dbl	.globl	__x_dest_sgl	.text	.globl	__x_store__x_store:	btst	#E3,a6@(E_BYTE)	jeq 	E1_stoE3_sto:	movel	a6@(CMDREG3B),d0	bfextu	d0{#6:#3},d0		| isolate dest. reg from cmdreg3bsto_fp:	lea	fpreg_mask,a1	moveb	a1@(d0:w),d0		| convert reg# to dynamic register mask	tstb	a0@(LOCAL_SGN)	jeq 	is_pos	bset	#sign_bit,a0@(LOCAL_EX)is_pos:	fmovemx	a0@,d0		| move to correct register||	if fp0-fp3 is being modified, we must put a copy|	in the USER_FPn variable on the stack because all exception|	handlers restore fp0-fp3 from there.|	cmpb	#0x80,d0	jne 	not_fp0	fmovemx fp0-fp0,a6@(USER_FP0)	rtsnot_fp0:	cmpb	#0x40,d0	jne 	not_fp1	fmovemx fp1-fp1,a6@(USER_FP1)	rtsnot_fp1:	cmpb	#0x20,d0	jne 	not_fp2	fmovemx fp2-fp2,a6@(USER_FP2)	rtsnot_fp2:	cmpb	#0x10,d0	jne 	not_fp3	fmovemx fp3-fp3,a6@(USER_FP3)	rtsnot_fp3:	rtsE1_sto:	bsrl	__x_g_opcls		| returns opclass in d0	cmpib	#3,d0	jeq 	opc011		| branch if opclass 3	movel	a6@(CMDREG1B),d0	bfextu	d0{#6:#3},d0	| extract destination register	jra 	sto_fpopc011:	bsrl	__x_g_dfmtou	| returns dest format in d0|				| ext=00, sgl=01, dbl=10	movel	a0,a1		| save source addr in a1	movel	a6@(EXC_EA),a0	| get the address	cmpil	#0,d0		| if dest format is extended	jeq 	__x_dest_ext	| then branch	cmpil	#1,d0		| if dest format is single	jeq 	__x_dest_sgl	| then branch||	fall through to __x_dest_dbl|||	__x_dest_dbl --- write double precision value to user space||Input|	a0 -> destination address|	a1 -> source in extended precision|Output|	a0 -> destroyed|	a1 -> destroyed|	d0 -> 0||Changes extended precision to double precision.| Note: no attempt is made to round the extended value to double.|	dbl_sign = ext_sign|	dbl_exp = ext_exp - 0x3fff(ext bias) + 0x7ff(dbl bias)|	get rid of ext integer bit|	dbl_mant = ext_mant{62:12}||	    	---------------   ---------------    ---------------|  extended ->  |s|    exp    |   |1| ms mant   |    | ls mant     ||	    	---------------   ---------------    ---------------|	   	 95	    64    63 62	      32      31     11	  0|				     |			     ||				     |			     ||				     |			     ||		 	             v   		     v|	    		      ---------------   ---------------|  double   ->  	      |s|exp| mant  |   |  mant       ||	    		      ---------------   ---------------|	   	 	      63     51   32   31	       0|__x_dest_dbl:	clrl	d0		| clear d0	movew	a1@(LOCAL_EX),d0	| get exponent	subw	#0x3fff,d0	| subtract extended precision bias	cmpw	#0x4000,d0	| check if inf	jeq 	inf		| if so, special case	addw	#0x3ff,d0	| add double precision bias	swap	d0		| d0 now in upper word	lsll	#4,d0		| d0 now in proper place for dbl prec exp	tstb	a1@(LOCAL_SGN)	jeq 	get_mant	| if postive, go process mantissa	bset	#31,d0		| if negative, put in sign information|				|  before continuing	jra 	get_mant	| go process mantissainf:	movel	#0x7ff00000,d0	| load dbl inf exponent	clrl	a1@(LOCAL_HI)	| clear msb	tstb	a1@(LOCAL_SGN)	jeq 	dbl_inf		| if positive, go ahead and write it	bset	#31,d0		| if negative put in sign informationdbl_inf:	movel	d0,a1@(LOCAL_EX)	| put the new exp back on the stack	jra 	dbl_wrtget_mant:	movel	a1@(LOCAL_HI),d1	| get ms mantissa	bfextu	d1{#1:#20},d1	| get upper 20 bits of ms	orl	d1,d0		| put these bits in ms word of double	movel	d0,a1@(LOCAL_EX)	| put the new exp back on the stack	movel	a1@(LOCAL_HI),d1	| get ms mantissa	movel	#21,d0		| load shift count	lsll	d0,d1		| put lower 11 bits in upper bits	movel	d1,a1@(LOCAL_HI)	| build lower lword in memory	movel	a1@(LOCAL_LO),d1	| get ls mantissa	bfextu	d1{#0:#21},d0	| get ls 21 bits of double	orl	d0,a1@(LOCAL_HI)	| put them in double resultdbl_wrt:	movel	#0x8,d0		| byte count for double precision number	exg	a0,a1		| a0=supervisor source, a1=user dest	bsrl	__x_mem_write	/* | move the number to the user's memory */	rts||	__x_dest_sgl --- write single precision value to user space||Input|	a0 -> destination address|	a1 -> source in extended precision||Output|	a0 -> destroyed|	a1 -> destroyed|	d0 -> 0||Changes extended precision to single precision.|	sgl_sign = ext_sign|	sgl_exp = ext_exp - 0x3fff(ext bias) + 0x7f(sgl bias)|	get rid of ext integer bit|	sgl_mant = ext_mant{62:12}||	    	---------------   ---------------    ---------------|  extended ->  |s|    exp    |   |1| ms mant   |    | ls mant     ||	    	---------------   ---------------    ---------------|	   	 95	    64    63 62	   40 32      31     12	  0|				     |	   ||				     |	   ||				     |	   ||		 	             v     v|	    		      ---------------|  single   ->  	      |s|exp| mant  ||	    		      ---------------|	   	 	      31     22     0|__x_dest_sgl:	clrl	d0	movew	a1@(LOCAL_EX),d0	| get exponent	subw	#0x3fff,d0	| subtract extended precision bias	cmpw	#0x4000,d0	| check if inf	jeq 	__x_sinf		| if so, special case	addw	#0x7f,d0		| add single precision bias	swap	d0		| put exp in upper word of d0	lsll	#7,d0		| shift it into single exp bits	tstb	a1@(LOCAL_SGN)	jeq 	get_sman	| if positive, continue	bset	#31,d0		| if negative, put in sign first	jra 	get_sman	| get mantissa__x_sinf:	movel	#0x7f800000,d0	| load single inf exp to d0	tstb	a1@(LOCAL_SGN)	jeq 	sgl_wrt		| if positive, continue	bset	#31,d0		| if negative, put in sign info	jra 	sgl_wrtget_sman:	movel	a1@(LOCAL_HI),d1	| get ms mantissa	bfextu	d1{#1:#23},d1	| get upper 23 bits of ms	orl	d1,d0		| put these bits in ms word of singlesgl_wrt:	movel	d0,a6@(L_SCR1)	| put the new exp back on the stack	movel	#0x4,d0		| byte count for single precision number	tstl	a0		| users destination address	jeq 	sgl_Dn		| destination is a data register	exg	a0,a1		| a0=supervisor source, a1=user dest	lea	a6@(L_SCR1),a0	| point a0 to data	bsrl	__x_mem_write	/* | move the number to the user's memory */	rtssgl_Dn:	bsrl	__x_get_fline	| returns fline word in d0	andw	#0x7,d0		| isolate register number	movel	d0,d1		| d1 has size:reg formatted for __x_reg_dest	orl	#0x10,d1		| reg_dest wants size added to reg#	jra 	__x_reg_dest	| size is X, rts in __x_reg_dest will|				| return to caller of __x_dest_sgl__x_dest_ext:	tstb	a1@(LOCAL_SGN)	| put back sign into exponent word	jeq 	dstx_cont	bset	#sign_bit,a1@(LOCAL_EX)dstx_cont:	clrb	a1@(LOCAL_SGN)	| clear out the sign byte	movel	#0x0c,d0		| byte count for extended number	exg	a0,a1		| a0=supervisor source, a1=user dest	bsrl	__x_mem_write	/* | move the number to the user's memory */	rts|	end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
一区二区三区蜜桃网| 国产伦理精品不卡| 偷拍日韩校园综合在线| 免费在线观看成人| 成人av影院在线| 精品国产凹凸成av人导航| 日韩亚洲欧美一区二区三区| 久久久精品免费网站| 亚洲综合在线免费观看| 国产一区二区三区最好精华液| 高清不卡在线观看av| 精品视频在线免费看| 久久免费看少妇高潮| 亚洲精品国产精品乱码不99| 91精品国产手机| 亚洲欧美日韩一区二区 | 国产精品一区二区在线看| 欧美视频一区在线| 91精品国产综合久久蜜臀| 久久影视一区二区| 一区二区在线观看视频| 午夜精品免费在线观看| 国产精品资源网站| 中文字幕在线不卡视频| 日韩区在线观看| 国产精品卡一卡二卡三| 国产乱人伦偷精品视频免下载| 欧美视频三区在线播放| 中文字幕一区二区三区在线不卡| 老司机精品视频导航| 911精品国产一区二区在线| 亚洲高清三级视频| 日韩一区二区在线观看视频播放 | 亚洲午夜精品网| 岛国av在线一区| 884aa四虎影成人精品一区| 国产精品久久久久久户外露出| 中文字幕在线不卡| 久99久精品视频免费观看| 5566中文字幕一区二区电影| 视频在线在亚洲| 高清成人免费视频| 欧美一级片在线观看| 亚洲国产精品精华液ab| 亚洲国产日产av| 国内精品国产三级国产a久久| 不卡高清视频专区| 国产91在线观看丝袜| 国产人妖乱国产精品人妖| 免费在线观看视频一区| 色av成人天堂桃色av| 亚洲女与黑人做爰| 激情综合网最新| 日韩一区二区高清| 天天综合网 天天综合色| aaa亚洲精品| 欧美精品在线一区二区| 欧美一区二区黄色| 亚洲欧美中日韩| 欧美一区二区三区免费观看视频| 久久五月婷婷丁香社区| 国产91对白在线观看九色| 国产一区二区精品久久| 日韩一级精品视频在线观看| 国产精品视频第一区| 国产精品一二二区| 亚洲精品五月天| 8x8x8国产精品| 91蜜桃视频在线| 久久精品这里都是精品| 风间由美中文字幕在线看视频国产欧美 | 亚洲自拍与偷拍| 久久婷婷色综合| 精品中文av资源站在线观看| 欧美性欧美巨大黑白大战| 久久网站热最新地址| 国产乱一区二区| 国产欧美一区二区精品性色| 亚洲一区二区三区三| 99视频超级精品| 亚洲成av人片一区二区三区| 精品国产乱码久久久久久老虎| 国产福利一区二区| 五月婷婷色综合| 国产精品精品国产色婷婷| 欧美视频第二页| 国产精品911| 日韩中文字幕亚洲一区二区va在线| 精品国产百合女同互慰| 欧美日韩免费在线视频| kk眼镜猥琐国模调教系列一区二区 | 欧美日韩中文字幕精品| 色偷偷成人一区二区三区91 | 99久久国产综合精品麻豆| 日韩欧美国产电影| 国产精品99久久久久久久vr| 中文字幕巨乱亚洲| 欧美主播一区二区三区| 亚洲最大成人综合| 国产欧美久久久精品影院| 日韩一区二区视频| 色婷婷综合视频在线观看| 美腿丝袜亚洲三区| 欧美一区二区三区小说| 韩国午夜理伦三级不卡影院| 亚洲3atv精品一区二区三区| 18成人在线观看| 国产精品国产自产拍在线| 欧美精三区欧美精三区| 欧美色爱综合网| 免费黄网站欧美| 日韩电影在线免费看| 日韩精品电影在线| 日韩av中文在线观看| 亚洲高清久久久| 日韩精品色哟哟| 午夜电影一区二区三区| 亚洲欧洲成人自拍| 一区二区三区资源| 亚洲三级在线免费| 天堂久久一区二区三区| 亚洲成人免费看| 黄色日韩三级电影| 国产一区二区精品在线观看| 成人在线视频一区二区| 国产精品一二三四区| 成人av免费在线观看| 国内成人自拍视频| 色综合久久天天| 欧美精品日韩精品| 久久久久久亚洲综合影院红桃| 国产精品色哟哟| 水野朝阳av一区二区三区| 精品一区二区三区久久久| 丁香亚洲综合激情啪啪综合| 国产成人av资源| 欧美午夜精品久久久| 久久久久久久久一| 亚洲午夜日本在线观看| 国产美女精品人人做人人爽| 99vv1com这只有精品| 日韩免费视频线观看| 亚洲美女区一区| 成人性生交大片免费看中文| 欧美三级资源在线| 欧美亚洲国产一卡| 欧美一区二区播放| 亚洲与欧洲av电影| 国产成人av一区二区三区在线| 欧美性色综合网| 久久久不卡网国产精品一区| 日韩av中文字幕一区二区三区| 91在线观看免费视频| 久久人人超碰精品| 天天影视网天天综合色在线播放| 久久国产福利国产秒拍| 欧美久久婷婷综合色| 国产精品麻豆网站| 激情综合色综合久久| 欧美人伦禁忌dvd放荡欲情| 亚洲女女做受ⅹxx高潮| va亚洲va日韩不卡在线观看| 欧美韩日一区二区三区四区| 欧美日韩精品是欧美日韩精品| 中文字幕一区二区三区四区| 国产剧情一区二区三区| 久久综合国产精品| 成人动漫中文字幕| 亚洲精品免费电影| 欧美日韩在线播放一区| 午夜免费久久看| 久久综合九色综合欧美亚洲| 高清国产午夜精品久久久久久| 亚洲欧美成人一区二区三区| 欧美色大人视频| 国产在线不卡一区| **欧美大码日韩| 91精品国产综合久久久蜜臀粉嫩 | eeuss鲁片一区二区三区在线看| 亚洲视频电影在线| 欧美日韩精品免费| 国产激情偷乱视频一区二区三区| 亚洲素人一区二区| 精品国产成人在线影院 | 日韩欧美综合在线| a亚洲天堂av| 久久99精品久久久久婷婷| 亚洲视频小说图片| www欧美成人18+| 欧美性色aⅴ视频一区日韩精品| 国产高清久久久久| 五月激情综合色| 国产精品国产三级国产普通话三级| 欧美一区二区三区免费大片 | 亚洲综合色噜噜狠狠| 国产欧美日韩一区二区三区在线观看 | 一区二区三区丝袜| 国产欧美精品一区| 欧美成人午夜电影| 欧美精品777|