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

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

?? get_op.s

?? vxworks的源代碼
?? S
?? 第 1 頁 / 共 2 頁
字號:
/* get_op.s - Motorola 68040 FP get opclass routine (EXC) *//* Copyright 1991-1993 Wind River Systems, Inc. */	.data	.globl	_copyright_wind_river	.long	_copyright_wind_river/*modification history--------------------01f,31may96,ms   updated to mototorola version 2.301e,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	get_opsa 3.5 4/26/91 Description: This routine is called by the unsupported format/datatype exception handler ('unsupp' - vector 55) and the unimplementedinstruction exception handler ('unimp' - vector 11).  'get_op'determines the opclass (0, 2, or 3) and branches to theopclass handler routine.  See 68881/2 User's Manual table 4-11for a description of the opclasses.For UNSUPPORTED data/format (exception vector 55) and forUNIMPLEMENTED instructions (exception vector 11) the followingapplies:- For unnormormalized numbers (opclass 0, 2, or 3) thenumber(s) is normalized and the operand type tag is updated.- For a packed number (opclass 2) the number is unpacked and theoperand type tag is updated.- For denormalized numbers (opclass 0 or 2) the number(s) is notchanged but passed to the next module.  The next module forunimp is __x_do_func, the next module for unsupp is __x_res_func.For UNSUPPORTED data/format (exception vector 55) only thefollowing applies:- If there is a move out with a packed number (opclass 3) thenumber is packed and written to user memory.  For the otheropclasses the number(s) are written back to the fsave stackand the instruction is then restored back into the '040.  The'040 is then able to complete the instruction.For example:faddx fpm,fpn where the fpm contains an unnormalized number.The '040 takes an unsupported data trap and gets to thisroutine.  The number is normalized, put back on the stack andthen an frestore is done to restore the instruction back intothe '040.  The '040 then re-executes the faddx fpm,fpn witha normalized number in the source and the instruction issuccessful.Next consider if in the process of normalizing the un-normalized number it becomes a denormalized number.  Theroutine which converts the unnorm to a norm (called mk_norm)detects this and tags the number as a denorm.  The routine__x_res_func sees the denorm tag and converts the denorm to anorm.  The instruction is then restored back into the '040which re_executess the instruction.		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.GET_OP    idnt    2,1 Motorola 040 Floating Point Software Package	section	8NOMANUAL*/#include "fpsp040E.h"	.globl	__x_PIRN,__x_PIRZRM,__x_PIRP	.globl	__x_SMALRN,__x_SMALRZRM,__x_SMALRP	.globl	__x_BIGRN,__x_BIGRZRM,__x_BIGRP__x_PIRN:	.long 0x40000000,0xc90fdaa2,0x2168c235    | pi__x_PIRZRM:	.long 0x40000000,0xc90fdaa2,0x2168c234    | pi__x_PIRP:	.long 0x40000000,0xc90fdaa2,0x2168c235    | pi|round to nearest__x_SMALRN:	.long 0x3ffd0000,0x9a209a84,0xfbcff798    | log10(2)	.long 0x40000000,0xadf85458,0xa2bb4a9a    | e	.long 0x3fff0000,0xb8aa3b29,0x5c17f0bc    | log2(e)	.long 0x3ffd0000,0xde5bd8a9,0x37287195    | log10(e)	.long 0x00000000,0x00000000,0x00000000    | 0.0| round to zero; round to negative infinity__x_SMALRZRM:	.long 0x3ffd0000,0x9a209a84,0xfbcff798    | log10(2)	.long 0x40000000,0xadf85458,0xa2bb4a9a    | e	.long 0x3fff0000,0xb8aa3b29,0x5c17f0bb    | log2(e)	.long 0x3ffd0000,0xde5bd8a9,0x37287195    | log10(e)	.long 0x00000000,0x00000000,0x00000000    | 0.0| round to positive infinity__x_SMALRP:	.long 0x3ffd0000,0x9a209a84,0xfbcff799    | log10(2)	.long 0x40000000,0xadf85458,0xa2bb4a9b    | e	.long 0x3fff0000,0xb8aa3b29,0x5c17f0bc    | log2(e)	.long 0x3ffd0000,0xde5bd8a9,0x37287195    | log10(e)	.long 0x00000000,0x00000000,0x00000000    | 0.0|round to nearest__x_BIGRN:	.long 0x3ffe0000,0xb17217f7,0xd1cf79ac    | ln(2)	.long 0x40000000,0x935d8ddd,0xaaa8ac17    | ln(10)	.long 0x3fff0000,0x80000000,0x00000000    | 10 ^ 0	.globl	__x_PTENRN__x_PTENRN:	.long 0x40020000,0xA0000000,0x00000000    | 10 ^ 1	.long 0x40050000,0xC8000000,0x00000000    | 10 ^ 2	.long 0x400C0000,0x9C400000,0x00000000    | 10 ^ 4	.long 0x40190000,0xBEBC2000,0x00000000    | 10 ^ 8	.long 0x40340000,0x8E1BC9BF,0x04000000    | 10 ^ 16	.long 0x40690000,0x9DC5ADA8,0x2B70B59E    | 10 ^ 32	.long 0x40D30000,0xC2781F49,0xFFCFA6D5    | 10 ^ 64	.long 0x41A80000,0x93BA47C9,0x80E98CE0    | 10 ^ 128	.long 0x43510000,0xAA7EEBFB,0x9DF9DE8E    | 10 ^ 256	.long 0x46A30000,0xE319A0AE,0xA60E91C7    | 10 ^ 512	.long 0x4D480000,0xC9767586,0x81750C17    | 10 ^ 1024	.long 0x5A920000,0x9E8B3B5D,0xC53D5DE5    | 10 ^ 2048	.long 0x75250000,0xC4605202,0x8A20979B    | 10 ^ 4096|round to minus infinity__x_BIGRZRM:	.long 0x3ffe0000,0xb17217f7,0xd1cf79ab    | ln(2)	.long 0x40000000,0x935d8ddd,0xaaa8ac16    | ln(10)	.long 0x3fff0000,0x80000000,0x00000000    | 10 ^ 0	.globl	__x_PTENRM__x_PTENRM:	.long 0x40020000,0xA0000000,0x00000000    | 10 ^ 1	.long 0x40050000,0xC8000000,0x00000000    | 10 ^ 2	.long 0x400C0000,0x9C400000,0x00000000    | 10 ^ 4	.long 0x40190000,0xBEBC2000,0x00000000    | 10 ^ 8	.long 0x40340000,0x8E1BC9BF,0x04000000    | 10 ^ 16	.long 0x40690000,0x9DC5ADA8,0x2B70B59D    | 10 ^ 32	.long 0x40D30000,0xC2781F49,0xFFCFA6D5    | 10 ^ 64	.long 0x41A80000,0x93BA47C9,0x80E98CDF    | 10 ^ 128	.long 0x43510000,0xAA7EEBFB,0x9DF9DE8D    | 10 ^ 256	.long 0x46A30000,0xE319A0AE,0xA60E91C6    | 10 ^ 512	.long 0x4D480000,0xC9767586,0x81750C17    | 10 ^ 1024	.long 0x5A920000,0x9E8B3B5D,0xC53D5DE5    | 10 ^ 2048	.long 0x75250000,0xC4605202,0x8A20979A    | 10 ^ 4096|round to positive infinity__x_BIGRP:	.long 0x3ffe0000,0xb17217f7,0xd1cf79ac    | ln(2)	.long 0x40000000,0x935d8ddd,0xaaa8ac17    | ln(10)	.long 0x3fff0000,0x80000000,0x00000000    | 10 ^ 0	.globl	__x_PTENRP__x_PTENRP:	.long 0x40020000,0xA0000000,0x00000000    | 10 ^ 1	.long 0x40050000,0xC8000000,0x00000000    | 10 ^ 2	.long 0x400C0000,0x9C400000,0x00000000    | 10 ^ 4	.long 0x40190000,0xBEBC2000,0x00000000    | 10 ^ 8	.long 0x40340000,0x8E1BC9BF,0x04000000    | 10 ^ 16	.long 0x40690000,0x9DC5ADA8,0x2B70B59E    | 10 ^ 32	.long 0x40D30000,0xC2781F49,0xFFCFA6D6    | 10 ^ 64	.long 0x41A80000,0x93BA47C9,0x80E98CE0    | 10 ^ 128	.long 0x43510000,0xAA7EEBFB,0x9DF9DE8E    | 10 ^ 256	.long 0x46A30000,0xE319A0AE,0xA60E91C7    | 10 ^ 512	.long 0x4D480000,0xC9767586,0x81750C18    | 10 ^ 1024	.long 0x5A920000,0x9E8B3B5D,0xC53D5DE6    | 10 ^ 2048	.long 0x75250000,0xC4605202,0x8A20979B    | 10 ^ 4096|	xref	__x_nrm_zero|	xref	__x_decbin|	xref	__x_round	.globl    __x_get_op	.globl    __x_uns_getop	.globl    __x_uni_getop	.text__x_get_op:	clrb	a6@(DY_MO_FLG)	tstb	a6@(UFLG_TMP)	| test flag for unsupp/unimp state	jeq 	__x_uni_getop__x_uns_getop:	btst	#direction_bit,a6@(CMDREG1B)	jne 	opclass3	| branch if a fmovel out (any kind)	btst	#6,a6@(CMDREG1B)	jeq 	uns_notpacked	bfextu	a6@(CMDREG1B){#3:#3},d0	cmpb	#3,d0	jeq 	pack_source	| check for a packed src op, branch if souns_notpacked:	bsrl	chk_dy_mo	| set the dyadic/monadic flag	tstb	a6@(DY_MO_FLG)	jeq 	src_op_ck	| if monadic, go check src op|				| else, check dst op (fall through)	btst	#7,a6@(DTAG)	jeq 	src_op_ck	| if dst op is norm, check src op	jra 	dst_ex_dnrm	| else, handle destination unnorm/dnrm__x_uni_getop:	bfextu	a6@(CMDREG1B){#0:#6},d0 | get opclass and src fields	cmpil	#0x17,d0		| if op class and size fields are 0x17,|				| it is FMOVECR|  if not, continue|| If the instruction is fmovecr, exit __x_get_op.  It is handled| in __x_do_func and smovecrsa.|	jne 	not_fmovecr	| handle fmovecr as an unimplemented inst	rtsnot_fmovecr:	btst	#E1,a6@(E_BYTE)	| if set, there is a packed operand	jne 	pack_source	| check for packed src op, branch if so| The following lines of are coded to optimize on normalized operands	moveb	a6@(STAG),d0	orb	a6@(DTAG),d0	| check if either of STAG/DTAG msb set	jmi 	dest_op_ck	| if so, some op needs to be fixed	rtsdest_op_ck:	btst	#7,a6@(DTAG)	| check for unsupported data types in	jeq 	src_op_ck	| the destination, if not, check src op	bsrl	chk_dy_mo	| set dyadic/monadic flag	tstb	a6@(DY_MO_FLG)	|	jeq 	src_op_ck	| if monadic, check src op|| At this point, destination has an extended denorm or unnorm.|dst_ex_dnrm:	movew	a6@(FPTEMP_EX),d0 | get destination exponent	andiw	#0x7fff,d0	| mask sign, check if exp = 0000	jeq 	src_op_ck	| if denorm then check source op.|				| denorms are taken care of in __x_res_func|				| (unsupp) or __x_do_func (unimp)|				| else unnorm fall through	lea	a6@(FPTEMP),a0	| point a0 to dop - used in mk_norm	bsrl	mk_norm		| go normalize - mk_norm returns:|				| L_SCR1{7:5} = operand tag|				| 	(000 = norm, 100 = denorm)|				| L_SCR1{4} = fpte15 or ete15|				| 	0 = exp >  0x3fff|				| 	1 = exp <= 0x3fff|				| and puts the normalized num back|				| on the fsave stack|	moveb	a6@(L_SCR1),a6@(DTAG) | write the new tag # fpte15|				| to the fsave stack and fall|				| through to check source operand|src_op_ck:	btst	#7,a6@(STAG)	jeq 	end_getop	| check for unsupported data types on the|				| source operand	btst	#5,a6@(STAG)	jne 	src_sd_dnrm	| if bit 5 set, handle sgl/dbl denorms|| At this point only unnorms or extended denorms are possible.|src_ex_dnrm:	movew	a6@(ETEMP_EX),d0 | get source exponent	andiw	#0x7fff,d0	| mask sign, check if exp = 0000	jeq 	end_getop	| if denorm then exit, denorms are|				| handled in __x_do_func	lea	a6@(ETEMP),a0	| point a0 to sop - used in mk_norm	bsrl	mk_norm		| go normalize - mk_norm returns:|				| L_SCR1{7:5} = operand tag|				| 	(000 = norm, 100 = denorm)|				| L_SCR1{4} = fpte15 or ete15|				| 	0 = exp >  0x3fff|				| 	1 = exp <= 0x3fff|				| and puts the normalized num back|				| on the fsave stack|	moveb	a6@(L_SCR1),a6@(STAG) | write the new tag # ete15	rts			| end_getop|| At this point, only single or double denorms are possible.| If the inst is not fmove, normalize the source.  If it is,| do nothing to the input.|src_sd_dnrm:	btst	#4,a6@(CMDREG1B)	| differentiate between sgl/dbl denorm	jne 	is_doubleis_single:	movew	#0x3f81,d1	| write bias for sgl denorm	jra 	common		| goto the common codeis_double:	movew	#0x3c01,d1	| write the bias for a dbl denormcommon:	btst	#sign_bit,a6@(ETEMP_EX) | grab sign bit of mantissa	jeq 	pos	bset	#15,d1		| set sign bit because it is negativepos:	movew	d1,a6@(ETEMP_EX)|				| put exponent on stack	movew	a6@(CMDREG1B),d1	andw	#0xe3ff,d1	| clear out source specifier	orw	#0x0800,d1	| set source specifier to extended prec	movew	d1,a6@(CMDREG1B)	| write back to the command word in stack|				| this is needed to fix unsupp data stack	lea	a6@(ETEMP),a0	| point a0 to sop	bsrl	mk_norm		| convert sgl/dbl denorm to norm	moveb	a6@(L_SCR1),a6@(STAG) | put tag into source tag reg - d0	rts			| end_getop|| At this point, the source is definitely packed, whether| instruction is dyadic or monadic is still unknown|pack_source:	movel	a6@(FPTEMP_LO),a6@(ETEMP)	| write ms part of packed|				| number to etemp slot	bsrl	chk_dy_mo	| set dyadic/monadic flag	bsrl	unpack	tstb	a6@(DY_MO_FLG)	jeq 	end_getop	| if monadic, exit|				| else, fix FPTEMPpack_dya:	bfextu	a6@(CMDREG1B){#6:#3},d0 | extract dest fp reg	movel	#7,d1	subl	d0,d1	clrl	d0	bset	d1,d0		| set up d0 as a dynamic register mask	fmovemx d0,a6@(FPTEMP)	| write to FPTEMP	btst	#7,a6@(DTAG)	| check dest tag for unnorm or denorm	jne 	dst_ex_dnrm	| else, handle the unnorm or ext denorm

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久se这里有精品| 亚洲综合在线免费观看| 欧美精品在线观看播放| 色综合夜色一区| 成人h版在线观看| 成人精品视频一区二区三区 | 宅男噜噜噜66一区二区66| 色综合久久久久综合99| 日本久久电影网| 色av成人天堂桃色av| 一本一道久久a久久精品| 色拍拍在线精品视频8848| 欧美性感一区二区三区| 欧美午夜电影在线播放| 欧美高清性hdvideosex| 在线成人小视频| 精品国产成人系列| 中文字幕亚洲在| 一区二区三区色| 麻豆久久久久久久| 国产精品亚洲一区二区三区妖精 | 亚洲精品综合在线| 亚洲国产成人va在线观看天堂| 日韩av二区在线播放| 久久成人免费网站| 波多野结衣精品在线| 欧美影视一区在线| 日韩手机在线导航| 国产精品国产三级国产aⅴ原创| 亚洲精品成人少妇| 蜜臂av日日欢夜夜爽一区| 国产夫妻精品视频| 精品视频免费在线| 日本一区二区三区高清不卡| 亚洲精品成人在线| 国产乱色国产精品免费视频| 91丨九色丨蝌蚪富婆spa| 3d动漫精品啪啪1区2区免费| 久久久久久97三级| 三级一区在线视频先锋| 国产精品影视天天线| 在线亚洲高清视频| 久久久不卡网国产精品二区| 亚洲伊人色欲综合网| 国产精品主播直播| 欧美日产国产精品| 亚洲欧美在线aaa| 美女精品一区二区| 欧美三级中文字幕| 亚洲色图视频网站| 国产精品自拍毛片| 日韩欧美亚洲国产精品字幕久久久| 自拍视频在线观看一区二区| 毛片基地黄久久久久久天堂| 色综合视频在线观看| 久久久久久久免费视频了| 天天操天天综合网| 色视频欧美一区二区三区| 亚洲国产电影在线观看| 人禽交欧美网站| 欧美亚洲动漫另类| 亚洲三级小视频| 成人免费观看视频| 国产亚洲污的网站| 美女国产一区二区三区| 欧美乱妇15p| 亚洲一区二区三区小说| 99国产精品久| 亚洲免费在线视频| 91在线porny国产在线看| 国产午夜精品久久久久久免费视| 蜜臀久久99精品久久久画质超高清| 欧美性生活久久| 亚洲猫色日本管| 色婷婷综合久久久| 亚洲一区二区欧美激情| 色婷婷亚洲精品| 亚洲一区自拍偷拍| 欧美日韩国产成人在线91| 亚洲一区二区三区四区在线观看| 色爱区综合激月婷婷| 亚洲一区二区三区中文字幕在线 | 亚洲第一成年网| 在线亚洲一区观看| 亚洲综合偷拍欧美一区色| 欧美性xxxxxx少妇| 午夜欧美视频在线观看 | 久久久精品天堂| 国产精品夜夜嗨| 综合久久国产九一剧情麻豆| 日本精品一级二级| 亚洲二区在线视频| 欧美精品乱码久久久久久| 欧美aaa在线| 国产亚洲综合在线| 99久精品国产| 亚洲第一电影网| 精品国一区二区三区| 国产米奇在线777精品观看| 久久色在线视频| 91在线播放网址| 五月婷婷欧美视频| 久久久久国产精品免费免费搜索| 国产成人99久久亚洲综合精品| 国产精品毛片无遮挡高清| 色狠狠桃花综合| 久久电影网电视剧免费观看| 国产精品污污网站在线观看| 欧美在线视频你懂得| 麻豆精品视频在线| 亚洲精品乱码久久久久久| 在线不卡a资源高清| 国产成人免费视频网站| 亚洲综合小说图片| 久久精品综合网| 欧美日本乱大交xxxxx| 国产一区美女在线| 一区二区三区在线观看动漫| 欧美成va人片在线观看| 99国产精品99久久久久久| 麻豆91免费看| 亚洲精品国产a久久久久久| 欧美精品一区二区三区四区 | 欧美成人伊人久久综合网| 成人免费看视频| 蜜臀av一区二区在线观看| 亚洲精品中文在线影院| 久久久99精品免费观看不卡| 在线看日本不卡| 国产91丝袜在线18| 麻豆久久一区二区| 丝袜国产日韩另类美女| 中文字幕一区二区在线观看| 精品免费一区二区三区| 欧美揉bbbbb揉bbbbb| 成人app软件下载大全免费| 久久99精品国产.久久久久久 | 久久精品国产精品青草| 亚洲一卡二卡三卡四卡五卡| 国产欧美精品一区二区三区四区| 欧美一区二区大片| 7878成人国产在线观看| 欧美性生活影院| 91国偷自产一区二区三区观看| 成人性色生活片免费看爆迷你毛片| 男女视频一区二区| 午夜电影网一区| 亚洲五月六月丁香激情| 一区二区三区中文在线| 亚洲欧美日韩在线播放| 国产精品久久久久久久久搜平片| 久久久久99精品一区| 久久青草欧美一区二区三区| 精品少妇一区二区三区日产乱码| 777精品伊人久久久久大香线蕉| 欧美色图激情小说| 欧美日韩国产首页| 欧美日韩一区三区| 91精品午夜视频| 日韩精品在线网站| 久久久国产午夜精品| 久久久久久久久久久久久女国产乱| 欧美zozo另类异族| 久久青草欧美一区二区三区| 久久久久久久久久久久电影 | 肉丝袜脚交视频一区二区| 午夜天堂影视香蕉久久| 日韩和欧美一区二区| 美国一区二区三区在线播放| 精品一区二区国语对白| 国产精品69毛片高清亚洲| jizz一区二区| 日本韩国精品在线| 日韩亚洲欧美成人一区| 久久色.com| 中文字幕欧美一| 婷婷六月综合网| 韩国午夜理伦三级不卡影院| 国产成人av影院| 日本高清无吗v一区| 欧美一级夜夜爽| 国产精品美女久久久久久久网站| 亚洲男人的天堂av| 麻豆精品一区二区三区| 成人激情校园春色| 欧美日韩国产综合一区二区| 精品区一区二区| 亚洲精品日产精品乱码不卡| 强制捆绑调教一区二区| 成人精品免费视频| 在线播放一区二区三区| 日本一区二区三级电影在线观看| 亚洲激情男女视频| 国产在线精品免费av| 色综合天天综合狠狠| 精品三级在线观看| 亚洲一区二区三区四区在线 | 综合色天天鬼久久鬼色| 日韩电影在线一区| eeuss鲁片一区二区三区|