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

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

?? multiply.s

?? 操作系統(tǒng)SunOS 4.1.3版本的源碼
?? S
字號:
/* *	.seg	"data" *	.asciz	"@(#)multiply.s 1.1 92/07/30 Copyr 1987 Sun Micro" *	.align	4 */	.seg	"text"!	Copyright (c) 1987 by Sun Microsystems, Inc.#include <machine/asm_linkage.h>/* * procedure to perform a 32 by 32 signed integer multiply. * pass the multiplier into %o0, and the multiplicand into %o1 * the least significant 32 bits of the result will be returned in %o0, * and the most significant in %o1 * * Most signed integer multiplies involve small positive numbers, so it is * worthwhile to optimize for short multiplies at the expense of long  * multiplies.  This code checks the size of the multiplier, and has * special cases for the following: * *	4 or fewer bit multipliers:	18 or 19 instruction cycles *	8 or fewer bit multipliers:	25 or 26 instruction cycles *	12 or fewer bit multipliers:	33 or 34 instruction cycles *	16 or fewer bit multipliers:	41 or 42 instruction cycles * * Long multipliers require 60 to 64 instruction cycles: * *	+x * +y		60 instruction cycles *	+x * -y		64 instruction cycles *	-x * +y		62 instruction cycles *	-x * -y		62 instruction cycles * * This code indicates that overflow has occured, by leaving the Z condition * code clear. The following call sequence would be used if you wish to * deal with overflow: * *	 	call	.mul *		nop		( or set up last parameter here ) *		bnz	overflow_code	(or tnz to overflow handler) */	RTENTRY(.mul)	wr	%o0, %y			! multiplier to Y register	andncc	%o0, 0xf, %o4		! mask out lower 4 bits; if branch					! taken, %o4, N and V have been cleared 	be	mul_4bit		! 4-bit multiplier	sethi	%hi(0xffff0000), %o5	! mask for 16-bit case; have to					! wait 3 instructions after wd					! before %y has stabilized anyway	andncc	%o0, 0xff, %o4	be,a	mul_8bit		! 8-bit multiplier	mulscc	%o4, %o1, %o4		! first iteration of 9	andncc	%o0, 0xfff, %o4	be,a	mul_12bit		! 12-bit multiplier	mulscc	%o4, %o1, %o4		! first iteration of 13	andcc	%o0, %o5, %o4	be,a	mul_16bit		! 16-bit multiplier	mulscc	%o4, %o1, %o4		! first iteration of 17	andcc	%g0, %g0, %o4		! zero the partial product					! and clear N and V conditions	!	! long multiply	!	mulscc	%o4, %o1, %o4		! first iteration of 33	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4		! 32nd iteration	mulscc	%o4, %g0, %o4		! last iteration only shifts	!	! For unsigned multiplies, a pure shifty-add approach yields the	! correct result.  Signed multiplies introduce complications.	!	! With 32-bit twos-complement numbers, -x can be represented as	!	!	((2 - (x/(2**32)) mod 2) * 2**32.	!	! To simplify the equations, the radix point can be moved to just	! to the left of the sign bit.  So:	!	! 	 x *  y	= (xy) mod 2	!	-x *  y	= (2 - x) mod 2 * y = (2y - xy) mod 2	!	 x * -y	= x * (2 - y) mod 2 = (2x - xy) mod 2	!	-x * -y = (2 - x) * (2 - y) = (4 - 2x - 2y + xy) mod 2	!	! Because of the way the shift into the partial product is calculated	! (N xor V), the extra term is automagically removed for negative	! multiplicands, so no adjustment is necessary.	!	! if the multiplier is negative, the result is:	! 	!	-xy + x * (2**32)	!	! we fix that here	!	tst	%o0	rd	%y, %o0	bge	1f	tst	%o0			! for overflow check	sub	%o4, %o1, %o4		! subtract (2**32) * %o1; bits 63-32					! of the product are in %o4	!	! The multiply hasn't overflowed if:	!	low-order bits are positive and high-order bits are 0	!	low-order bits are negative and high-order bits are -1	!	! if you are not interested in detecting overflow,	! replace the following code with:	!	!	1:	retl		!		mov	%o4, %o1	!1:	bge	2f			! if low-order bits were positive.	mov	%o4, %o1		! return most sig. bits of prod	retl				! leaf routine return	subcc	%o1, -1, %g0		! set Z if high order bits are -1 (for					! negative product)2:	retl				! leaf routine return	addcc	%o1, %g0, %g0		! set Z if high order bits are 0 (for					! positive product)	!	! 4-bit multiply	!mul_4bit:	mulscc	%o4, %o1, %o4		! first iteration of 5	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4		! 4th iteration	mulscc	%o4, %g0, %o4		! last iteration only shifts	rd	%y, %o5	sll	%o4, 4, %o0		! left shift middle bits by 4 bits	srl	%o5, 28, %o5		! right shift low bits by 28 bits	!	! The multiply hasn't overflowed if:	!	low-order bits are positive and high-order bits are 0	!	low-order bits are negative and high-order bits are -1	!	! if you are not interested in detecting overflow,	! replace the following code with:	!	!		or	%o5, %o0, %o0	!		retl		!		sra	%o4, 28, %o1	!	orcc	%o5, %o0, %o0		! merge for true product	bge	3f			! if low-order bits were positive.	sra	%o4, 28, %o1		! right shift high bits by 28 bits					! and put into  %o1	retl				! leaf routine return	subcc	%o1, -1, %g0		! set Z if high order bits are -1 (for					! negative product)3:	retl				! leaf routine return	addcc	%o1, %g0, %g0		! set Z if high order bits are 0	!	! 8-bit multiply	!mul_8bit:	mulscc	%o4, %o1, %o4		! second iteration of 9	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4		! 8th iteration	mulscc	%o4, %g0, %o4		! last iteration only shifts	rd	%y, %o5	sll	%o4, 8, %o0		! left shift middle bits by 8 bits	srl	%o5, 24, %o5		! right shift low bits by 24 bits	!	! The multiply hasn't overflowed if:	!	low-order bits are positive and high-order bits are 0	!	low-order bits are negative and high-order bits are -1	!	! if you are not interested in detecting overflow,	! replace the following code with:	!	!		or	%o5, %o0, %o0	!		retl		!		sra	%o4, 24, %o1	!	orcc	%o5, %o0, %o0		! merge for true product	bge	4f			! if low-order bits were positive.	sra	%o4, 24, %o1		! right shift high bits by 24 bits					! and put into  %o1	retl				! leaf routine return	subcc	%o1, -1, %g0		! set Z if high order bits are -1 (for					! negative product)4:	retl				! leaf routine return	addcc	%o1, %g0, %g0		! set Z if high order bits are 0	!	! 12-bit multiply	!mul_12bit:	mulscc	%o4, %o1, %o4		! second iteration of 13	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4		! 12th iteration	mulscc	%o4, %g0, %o4		! last iteration only shifts	rd	%y, %o5	sll	%o4, 12, %o0		! left shift middle bits by 12 bits	srl	%o5, 20, %o5		! right shift low bits by 20 bits	!	! The multiply hasn't overflowed if:	!	low-order bits are positive and high-order bits are 0	!	low-order bits are negative and high-order bits are -1	!	! if you are not interested in detecting overflow,	! replace the following code with:	!	!		or	%o5, %o0, %o0	!		retl		!		sra	%o4, 20, %o1	!	orcc	%o5, %o0, %o0		! merge for true product	bge	5f			! if low-order bits were positive.	sra	%o4, 20, %o1		! right shift high bits by 20 bits					! and put into  %o1	retl				! leaf routine return	subcc	%o1, -1, %g0		! set Z if high order bits are -1 (for					! negative product)5:	retl				! leaf routine return	addcc	%o1, %g0, %g0		! set Z if high order bits are 0	!	! 16-bit multiply	!mul_16bit:	mulscc	%o4, %o1, %o4		! second iteration of 17	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4	mulscc	%o4, %o1, %o4		! 16th iteration	mulscc	%o4, %g0, %o4		! last iteration only shifts	rd	%y, %o5	sll	%o4, 16, %o0		! left shift middle bits by 16 bits	srl	%o5, 16, %o5		! right shift low bits by 16 bits	!	! The multiply hasn't overflowed if:	!	low-order bits are positive and high-order bits are 0	!	low-order bits are negative and high-order bits are -1	!	! if you are not interested in detecting overflow,	! replace the following code with:	!	!		or	%o5, %o0, %o0	!		retl		!		sra	%o4, 16, %o1	!	orcc	%o5, %o0, %o0		! merge for true product	bge	6f			! if low-order bits were positive.	sra	%o4, 16, %o1		! right shift high bits by 16 bits					! and put into  %o1	retl				! leaf routine return	subcc	%o1, -1, %g0		! set Z if high order bits are -1 (for					! negative product)6:	retl				! leaf routine return	addcc	%o1, %g0, %g0		! set Z if high order bits are 0

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人午夜激情在线| 一区二区三区日韩欧美精品| 美女视频免费一区| 欧美久久免费观看| 免费高清视频精品| 久久综合久久综合久久| 粉嫩av一区二区三区在线播放 | 91精品国产综合久久精品性色 | 欧美aa在线视频| 日韩精品专区在线| 成人黄动漫网站免费app| 亚洲精品高清在线| 欧美精品黑人性xxxx| 国产美女一区二区三区| 中文字幕一区二区三区在线观看| 色婷婷国产精品| 蜜臀久久99精品久久久久久9 | 夜夜亚洲天天久久| 91精品国产全国免费观看| 国产成人丝袜美腿| 亚洲另类在线制服丝袜| 91精品国产色综合久久| 成人av在线看| 天堂蜜桃91精品| 久久久久久久综合| 一本色道久久加勒比精品 | 欧美无砖专区一中文字| 精品一二三四在线| 亚洲综合丝袜美腿| 亚洲精品一区二区精华| 91国偷自产一区二区三区观看 | 国产成人aaa| 天天综合色天天| 国产精品麻豆视频| 欧美一区二区三区在线| proumb性欧美在线观看| 午夜视频在线观看一区二区三区| 国产午夜一区二区三区| 精品婷婷伊人一区三区三| 国产麻豆9l精品三级站| 亚洲第一福利一区| 综合久久久久久| 日韩一区二区在线看片| 色婷婷综合视频在线观看| 国产一区二区三区免费在线观看 | 欧美一区二区黄| 色先锋久久av资源部| 国产成人在线观看免费网站| 图片区小说区区亚洲影院| 中文字幕乱码日本亚洲一区二区| 91精品国产综合久久久久久久久久 | 欧美精品一区二区三区蜜桃| 在线看国产一区| 高清在线观看日韩| 美女视频黄a大片欧美| 亚洲综合在线免费观看| 国产精品福利影院| 国产亚洲精品中文字幕| 精品福利一区二区三区免费视频| 欧美日韩精品一区二区三区四区 | 日产欧产美韩系列久久99| 亚洲蜜臀av乱码久久精品| 国产精品热久久久久夜色精品三区| 精品捆绑美女sm三区| 欧美一级理论片| 制服.丝袜.亚洲.另类.中文| 欧美日韩国产大片| 欧美亚洲禁片免费| 色女孩综合影院| 99热99精品| 91免费看`日韩一区二区| 成人a区在线观看| 国产91丝袜在线播放| 国产成人自拍高清视频在线免费播放| 老色鬼精品视频在线观看播放| 青青草原综合久久大伊人精品| 午夜av电影一区| 偷偷要91色婷婷| 麻豆一区二区在线| 激情久久五月天| 国产成人免费在线观看| 粉嫩高潮美女一区二区三区| 不卡一区二区在线| 成人动漫在线一区| 91丝袜国产在线播放| 色综合久久综合网欧美综合网| 色婷婷综合激情| 欧美日韩亚洲丝袜制服| 欧美一级欧美三级| 久久久久久久综合狠狠综合| 国产亚洲人成网站| 1000部国产精品成人观看| 亚洲欧美综合在线精品| 一区二区三区色| 日韩中文字幕一区二区三区| 久久精品99国产精品| 国产成人综合精品三级| 99久久精品国产一区二区三区| 91精品福利视频| 欧美一区2区视频在线观看| 精品日韩成人av| 欧美国产日本视频| 一区二区三区国产豹纹内裤在线| 日韩av一区二区三区| 国产一区视频网站| 99vv1com这只有精品| 91精品国产全国免费观看| 国产亚洲视频系列| 亚洲一区二区精品3399| 九九热在线视频观看这里只有精品| 国产美女久久久久| 欧美色精品在线视频| 欧美变态凌虐bdsm| 亚洲视频在线一区二区| 美女视频一区二区| 99久久精品国产网站| 欧美一区二区三区人| 1区2区3区国产精品| 三级精品在线观看| 99综合影院在线| 日韩一区二区三区电影在线观看 | 91香蕉视频污| 日韩女优电影在线观看| 亚洲精品高清在线| 国产一区二区福利视频| 91黄色免费看| 中文字幕精品在线不卡| 日本网站在线观看一区二区三区| 成人激情电影免费在线观看| 欧美一区二区三区爱爱| 亚洲欧美日韩国产一区二区三区| 老色鬼精品视频在线观看播放| 91国产丝袜在线播放| 国产欧美一区二区精品忘忧草| 天天av天天翘天天综合网 | 欧美性猛片xxxx免费看久爱| 欧美精品一区二| 天堂久久一区二区三区| 99久久99久久精品免费观看| 欧美精品一区在线观看| 日本网站在线观看一区二区三区| 91日韩精品一区| 欧美经典三级视频一区二区三区| 青草av.久久免费一区| 欧美在线免费播放| 国产精品久久久久久久久免费桃花 | 91首页免费视频| 国产午夜一区二区三区| 美腿丝袜亚洲综合| 欧美日韩一级大片网址| 亚洲精品免费在线| 91小视频在线免费看| 国产精品久久久久久久岛一牛影视 | 国产自产视频一区二区三区| 欧美一区二区三区日韩视频| 五月天一区二区| 欧美午夜精品一区| 亚洲人精品午夜| 91麻豆精东视频| 亚洲男女毛片无遮挡| www.av亚洲| 亚洲天堂成人在线观看| 成人晚上爱看视频| 久久女同性恋中文字幕| 国产一区二区三区精品欧美日韩一区二区三区 | 91丨九色丨蝌蚪富婆spa| 国产欧美一区二区三区沐欲| 国产传媒久久文化传媒| 欧美国产乱子伦| 波多野结衣在线aⅴ中文字幕不卡| 久久伊人中文字幕| 精品综合久久久久久8888| 日韩片之四级片| 久久av中文字幕片| 欧美不卡视频一区| 国产一区二区伦理片| 久久久久国产精品麻豆| 国产成人av自拍| 中文字幕不卡的av| 91色婷婷久久久久合中文| 亚洲毛片av在线| 欧美嫩在线观看| 美腿丝袜亚洲一区| 久久久三级国产网站| av不卡在线观看| 一二三区精品福利视频| 69久久99精品久久久久婷婷 | 93久久精品日日躁夜夜躁欧美| 中文字幕av一区二区三区免费看| 91在线视频播放地址| 亚洲自拍偷拍欧美| 日韩一二三四区| 国产成人在线观看免费网站| 亚洲摸摸操操av| 这里只有精品免费| 国产在线精品一区二区不卡了| 国产精品美女www爽爽爽| 欧美撒尿777hd撒尿| 蜜臀久久99精品久久久画质超高清| 久久久一区二区三区|