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

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

?? wm_shrx.s

?? 內(nèi)核是系統(tǒng)的心臟
?? S
字號:
	.file	"wm_shrx.S"
/*---------------------------------------------------------------------------+
 |  wm_shrx.S                                                                |
 |                                                                           |
 | 64 bit right shift functions                                              |
 |                                                                           |
 | Copyright (C) 1992    W. Metzenthen, 22 Parker St, Ormond, Vic 3163,      |
 |                       Australia.  E-mail   billm@vaxc.cc.monash.edu.au    |
 |                                                                           |
 | Call from C as:                                                           |
 |   unsigned shrx(void *arg1, unsigned arg2)                                |
 | and                                                                       |
 |   unsigned shrxs(void *arg1, unsigned arg2)                               |
 |                                                                           |
 +---------------------------------------------------------------------------*/

#include "fpu_asm.h"

.text
	.align 2,144

/*---------------------------------------------------------------------------+
 |   unsigned shrx(void *arg1, unsigned arg2)                                |
 |                                                                           |
 |   Extended shift right function.                                          |
 |   Fastest for small shifts.                                               |
 |   Shifts the 64 bit quantity pointed to by the first arg (arg1)           |
 |   right by the number of bits specified by the second arg (arg2).         |
 |   Forms a 96 bit quantity from the 64 bit arg and eax:                    |
 |                [  64 bit arg ][ eax ]                                     |
 |            shift right  --------->                                        |
 |   The eax register is initialized to 0 before the shifting.               |
 |   Results returned in the 64 bit arg and eax.                             |
 +---------------------------------------------------------------------------*/

	.globl	_shrx

_shrx:
	push	%ebp
	movl	%esp,%ebp
	pushl	%esi
	movl	PARAM2,%ecx
	movl	PARAM1,%esi
	cmpl	$32,%ecx	/* shrd only works for 0..31 bits */
	jnc	L_more_than_31

/* less than 32 bits */
	pushl	%ebx
	movl	(%esi),%ebx	/* lsl */
	movl	4(%esi),%edx	/* msl */
	xorl	%eax,%eax	/* extension */
	shrd	%cl,%ebx,%eax
	shrd	%cl,%edx,%ebx
	shr	%cl,%edx
	movl	%ebx,(%esi)
	movl	%edx,4(%esi)
	popl	%ebx
	popl	%esi
	leave
	ret

L_more_than_31:
	cmpl	$64,%ecx
	jnc	L_more_than_63

	subb	$32,%cl
	movl	(%esi),%eax	/* lsl */
	movl	4(%esi),%edx	/* msl */
	shrd	%cl,%edx,%eax
	shr	%cl,%edx
	movl	%edx,(%esi)
	movl	$0,4(%esi)
	popl	%esi
	leave
	ret

L_more_than_63:
	cmpl	$96,%ecx
	jnc	L_more_than_95

	subb	$64,%cl
	movl	4(%esi),%eax	/* msl */
	shr	%cl,%eax
	xorl	%edx,%edx
	movl	%edx,(%esi)
	movl	%edx,4(%esi)
	popl	%esi
	leave
	ret

L_more_than_95:
	xorl	%eax,%eax
	movl	%eax,(%esi)
	movl	%eax,4(%esi)
	popl	%esi
	leave
	ret


/*---------------------------------------------------------------------------+
 |   unsigned shrxs(void *arg1, unsigned arg2)                               |
 |                                                                           |
 |   Extended shift right function (optimized for small floating point       |
 |   integers).                                                              |
 |   Shifts the 64 bit quantity pointed to by the first arg (arg1)           |
 |   right by the number of bits specified by the second arg (arg2).         |
 |   Forms a 96 bit quantity from the 64 bit arg and eax:                    |
 |                [  64 bit arg ][ eax ]                                     |
 |            shift right  --------->                                        |
 |   The eax register is initialized to 0 before the shifting.               |
 |   The lower 8 bits of eax are lost and replaced by a flag which is        |
 |   set (to 0x01) if any bit, apart from the first one, is set in the       |
 |   part which has been shifted out of the arg.                             |
 |   Results returned in the 64 bit arg and eax.                             |
 +---------------------------------------------------------------------------*/
	.globl	_shrxs
_shrxs:
	push	%ebp
	movl	%esp,%ebp
	pushl	%esi
	pushl	%ebx
	movl	PARAM2,%ecx
	movl	PARAM1,%esi
	cmpl	$64,%ecx	/* shrd only works for 0..31 bits */
	jnc	Ls_more_than_63

	cmpl	$32,%ecx	/* shrd only works for 0..31 bits */
	jc	Ls_less_than_32

/* We got here without jumps by assuming that the most common requirement
   is for small integers */
/* Shift by [32..63] bits */
	subb	$32,%cl
	movl	(%esi),%eax	/* lsl */
	movl	4(%esi),%edx	/* msl */
	xorl	%ebx,%ebx
	shrd	%cl,%eax,%ebx
	shrd	%cl,%edx,%eax
	shr	%cl,%edx
	orl	%ebx,%ebx		/* test these 32 bits */
	setne	%bl
	test	$0x7fffffff,%eax	/* and 31 bits here */
	setne	%bh
	orw	%bx,%bx			/* Any of the 63 bit set ? */
	setne	%al
	movl	%edx,(%esi)
	movl	$0,4(%esi)
	popl	%ebx
	popl	%esi
	leave
	ret

/* Shift by [0..31] bits */
Ls_less_than_32:
	movl	(%esi),%ebx	/* lsl */
	movl	4(%esi),%edx	/* msl */
	xorl	%eax,%eax	/* extension */
	shrd	%cl,%ebx,%eax
	shrd	%cl,%edx,%ebx
	shr	%cl,%edx
	test	$0x7fffffff,%eax	/* only need to look at eax here */
	setne	%al
	movl	%ebx,(%esi)
	movl	%edx,4(%esi)
	popl	%ebx
	popl	%esi
	leave
	ret

/* Shift by [64..95] bits */
Ls_more_than_63:
	cmpl	$96,%ecx
	jnc	Ls_more_than_95

	subb	$64,%cl
	movl	(%esi),%ebx	/* lsl */
	movl	4(%esi),%eax	/* msl */
	xorl	%edx,%edx	/* extension */
	shrd	%cl,%ebx,%edx
	shrd	%cl,%eax,%ebx
	shr	%cl,%eax
	orl	%ebx,%edx
	setne	%bl
	test	$0x7fffffff,%eax	/* only need to look at eax here */
	setne	%bh
	orw	%bx,%bx
	setne	%al
	xorl	%edx,%edx
	movl	%edx,(%esi)	/* set to zero */
	movl	%edx,4(%esi)	/* set to zero */
	popl	%ebx
	popl	%esi
	leave
	ret

Ls_more_than_95:
/* Shift by [96..inf) bits */
	xorl	%eax,%eax
	movl	(%esi),%ebx
	orl	4(%esi),%ebx
	setne	%al
	xorl	%ebx,%ebx
	movl	%ebx,(%esi)
	movl	%ebx,4(%esi)
	popl	%ebx
	popl	%esi
	leave
	ret

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
经典三级视频一区| 激情成人综合网| 精品免费国产二区三区| 色综合天天在线| 国产精品一区二区无线| 婷婷久久综合九色综合绿巨人| 久久久亚洲午夜电影| 欧美日韩专区在线| 91免费国产在线观看| 国产福利视频一区二区三区| 视频一区欧美日韩| 亚洲图片你懂的| 国产欧美日韩卡一| 精品国产免费久久| 欧美一级在线免费| 欧美日韩一区二区三区免费看| 成人黄色小视频在线观看| 久久99国产精品尤物| 免费xxxx性欧美18vr| 香蕉影视欧美成人| 亚洲愉拍自拍另类高清精品| 中文成人av在线| 国产亚洲一二三区| 久久久久国产成人精品亚洲午夜| 日韩女优视频免费观看| 91精品国产入口| 在线成人高清不卡| 欧美日韩一区三区| 欧美吞精做爰啪啪高潮| 欧美艳星brazzers| 欧美视频中文字幕| 欧美亚洲愉拍一区二区| 日本韩国精品在线| 91麻豆精品在线观看| 99久久精品国产毛片| 91一区一区三区| 在线观看国产一区二区| 欧洲精品一区二区三区在线观看| 91啪亚洲精品| 欧美三区免费完整视频在线观看| 91免费视频观看| 欧美性猛交xxxx黑人交| 欧美人与z0zoxxxx视频| 欧美一区二区三区四区视频 | 日韩亚洲欧美中文三级| 这里只有精品免费| 欧美一级理论性理论a| 日韩欧美中文一区二区| 精品国产91亚洲一区二区三区婷婷| 日韩午夜精品电影| 亚洲精品一区二区三区精华液 | 26uuu国产电影一区二区| 2022国产精品视频| 亚洲国产成人自拍| 亚洲天堂福利av| 亚洲国产乱码最新视频| 日本一不卡视频| 国产精品自拍一区| www.欧美日韩| 欧美色精品天天在线观看视频| 91精品国产综合久久香蕉麻豆| 精品福利一区二区三区免费视频| 久久久99精品免费观看不卡| 国产精品福利一区| 亚洲一二三四久久| 久久99国产精品免费| 成人国产在线观看| 欧美嫩在线观看| 26uuu国产电影一区二区| 亚洲天堂久久久久久久| 日本一区中文字幕| 成人激情电影免费在线观看| 欧美性三三影院| 久久综合av免费| 亚洲精品免费电影| 麻豆成人综合网| 97精品超碰一区二区三区| 91麻豆精品国产91久久久久| 久久精品亚洲国产奇米99| 亚洲精品视频自拍| 久久99精品久久久久久动态图 | 欧美精品日韩精品| 久久久www成人免费无遮挡大片 | 毛片av中文字幕一区二区| 丰满少妇久久久久久久| 欧美日韩国产首页| 日本一二三不卡| 免费高清成人在线| 欧美最新大片在线看| 久久久久久久久久久久久久久99| 亚洲一区二区成人在线观看| 国产99一区视频免费| 欧美日本高清视频在线观看| 国产精品久久久久久久久免费丝袜 | 激情综合色综合久久| 色综合久久综合网97色综合| 26uuu亚洲综合色| 香蕉加勒比综合久久| 91蝌蚪porny| 久久久亚洲精品石原莉奈| 日韩精品久久理论片| 91福利资源站| 日韩一区在线看| 国产精品一品视频| 日韩精品一区二区三区四区| 亚洲免费在线观看视频| 国产a区久久久| 欧美精品一区二区三区高清aⅴ| 亚洲成人一区二区在线观看| 91丨九色丨蝌蚪丨老版| 国产欧美中文在线| 狠狠色狠狠色综合系列| 777色狠狠一区二区三区| 亚洲欧美色图小说| 99精品国产99久久久久久白柏| 26uuu久久天堂性欧美| 美女尤物国产一区| 欧美精品v国产精品v日韩精品 | 国产在线日韩欧美| 欧美一区二区三区白人| 亚洲高清不卡在线观看| 一本色道久久综合亚洲91| 国产精品卡一卡二| 成人福利视频网站| 国产精品久久毛片av大全日韩| 国产福利不卡视频| 国产视频一区二区在线| 国产一区二区不卡在线| 久久影院电视剧免费观看| 久久99国产精品成人| 精品sm在线观看| 国模大尺度一区二区三区| 久久这里只有精品首页| 国产黄色精品网站| 国产精品入口麻豆九色| 99久久精品国产导航| 亚洲蜜臀av乱码久久精品| 91久久精品一区二区三| 亚洲一区二区视频在线观看| 欧美怡红院视频| 轻轻草成人在线| 精品国产自在久精品国产| 国产一区二区电影| 亚洲欧洲三级电影| 在线观看日韩毛片| 日日摸夜夜添夜夜添亚洲女人| 日韩美女在线视频| 国产激情视频一区二区三区欧美 | 欧美日韩不卡在线| 日韩电影在线一区| 久久亚洲影视婷婷| www.久久精品| 亚洲成年人网站在线观看| 欧美一区二区在线免费播放 | 国内一区二区视频| 中文字幕第一区综合| 99久久免费国产| 亚洲国产中文字幕| 日韩欧美国产午夜精品| 国产成人综合网站| 亚洲色图清纯唯美| 欧美精品一卡两卡| 国产在线一区观看| 亚洲欧美日韩在线| 日韩免费电影网站| 99v久久综合狠狠综合久久| 亚洲gay无套男同| www国产亚洲精品久久麻豆| 成人aa视频在线观看| 午夜激情一区二区| 国产蜜臀av在线一区二区三区| 色av一区二区| 黄页网站大全一区二区| 亚洲免费在线播放| 亚洲精品一区二区三区蜜桃下载 | 成人av免费在线播放| 亚洲成a人片在线不卡一二三区| 欧美成人a视频| 99久久精品国产麻豆演员表| 日本免费新一区视频| 中文字幕亚洲在| 日韩亚洲欧美高清| 91一区二区在线| 经典三级视频一区| 香蕉乱码成人久久天堂爱免费| 国产午夜精品一区二区三区嫩草 | 欧美日韩免费观看一区三区| 国产在线精品一区二区| 亚洲一区二区不卡免费| 国产三级精品三级在线专区| 欧美日韩国产综合草草| 大美女一区二区三区| 美女脱光内衣内裤视频久久影院| 中文字幕一区在线观看视频| 精品欧美乱码久久久久久1区2区| 91麻豆国产自产在线观看| 国产在线日韩欧美| 日本va欧美va精品| 亚洲一区二区三区不卡国产欧美| 国产精品美女久久久久久2018|