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

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

?? gvmat32.asm

?? 許多壓縮算法都用到了ZLIP算法
?? ASM
?? 第 1 頁 / 共 2 頁
字號:
;; gvmat32.asm -- Asm portion of the optimized longest_match for 32 bits x86; Copyright (C) 1995-1996 Jean-loup Gailly and Gilles Vollant.; File written by Gilles Vollant, by modifiying the longest_match;  from Jean-loup Gailly in deflate.c; It need wmask == 0x7fff;     (assembly code is faster with a fixed wmask);; For Visual C++ 4.2 and ML 6.11c (version in directory \MASM611C of Win95 DDK);   I compile with : "ml /coff /Zi /c gvmat32.asm";;uInt longest_match_7fff(s, cur_match);    deflate_state *s;;    IPos cur_match;                             /* current match */	NbStack         equ     76	cur_match       equ     dword ptr[esp+NbStack-0]	str_s           equ     dword ptr[esp+NbStack-4]; 5 dword on top (ret,ebp,esi,edi,ebx)	adrret          equ     dword ptr[esp+NbStack-8]	pushebp         equ     dword ptr[esp+NbStack-12]	pushedi         equ     dword ptr[esp+NbStack-16]	pushesi         equ     dword ptr[esp+NbStack-20]	pushebx         equ     dword ptr[esp+NbStack-24]	chain_length    equ     dword ptr [esp+NbStack-28]	limit           equ     dword ptr [esp+NbStack-32]	best_len        equ     dword ptr [esp+NbStack-36]	window          equ     dword ptr [esp+NbStack-40]	prev            equ     dword ptr [esp+NbStack-44]	scan_start      equ      word ptr [esp+NbStack-48]	wmask           equ     dword ptr [esp+NbStack-52]	match_start_ptr equ     dword ptr [esp+NbStack-56]	nice_match      equ     dword ptr [esp+NbStack-60]	scan            equ     dword ptr [esp+NbStack-64]	windowlen       equ     dword ptr [esp+NbStack-68]	match_start     equ     dword ptr [esp+NbStack-72]	strend          equ     dword ptr [esp+NbStack-76]	NbStackAdd      equ     (NbStack-24)    .386p    name    gvmatch    .MODEL  FLAT;  all the +4 offsets are due to the addition of pending_buf_size (in zlib;  in the deflate_state structure since the asm code was first written;  (if you compile with zlib 1.0.4 or older, remove the +4).;  Note : these value are good with a 8 bytes boundary pack structure    dep_chain_length    equ     70h+4    dep_window          equ     2ch+4    dep_strstart        equ     60h+4    dep_prev_length     equ     6ch+4    dep_nice_match      equ     84h+4    dep_w_size          equ     20h+4    dep_prev            equ     34h+4    dep_w_mask          equ     28h+4    dep_good_match      equ     80h+4    dep_match_start     equ     64h+4    dep_lookahead       equ     68h+4_TEXT                   segmentIFDEF NOUNDERLINE			public  longest_match_7fff			public  longest_match_686;                        public  match_initELSE			public  _longest_match_7fff			public  _longest_match_686;                        public  _match_initENDIF    MAX_MATCH           equ     258    MIN_MATCH           equ     3    MIN_LOOKAHEAD       equ     (MAX_MATCH+MIN_MATCH+1)IFDEF NOUNDERLINE;match_init      proc near;                ret;match_init      endpELSE;_match_init     proc near;                ret;_match_init     endpENDIFIFDEF NOUNDERLINElongest_match_7fff   proc nearELSE_longest_match_7fff  proc nearENDIF	mov     edx,[esp+4]	push    ebp	push    edi	push    esi	push    ebx	sub     esp,NbStackAdd; initialize or check the variables used in match.asm.	mov     ebp,edx; chain_length = s->max_chain_length; if (prev_length>=good_match) chain_length >>= 2	mov     edx,[ebp+dep_chain_length]	mov     ebx,[ebp+dep_prev_length]	cmp     [ebp+dep_good_match],ebx	ja      noshr	shr     edx,2noshr:; we increment chain_length because in the asm, the --chain_lenght is in the beginning of the loop	inc     edx	mov     edi,[ebp+dep_nice_match]	mov     chain_length,edx	mov     eax,[ebp+dep_lookahead]	cmp     eax,edi; if ((uInt)nice_match > s->lookahead) nice_match = s->lookahead;	jae     nolookaheadnicematch	mov     edi,eaxnolookaheadnicematch:; best_len = s->prev_length	mov     best_len,ebx; window = s->window	mov     esi,[ebp+dep_window]	mov     ecx,[ebp+dep_strstart]	mov     window,esi	mov     nice_match,edi; scan = window + strstart	add     esi,ecx	mov     scan,esi; dx = *window	mov     dx,word ptr [esi]; bx = *(window+best_len-1)	mov     bx,word ptr [esi+ebx-1]	add     esi,MAX_MATCH-1; scan_start = *scan	mov     scan_start,dx; strend = scan + MAX_MATCH-1	mov     strend,esi; bx = scan_end = *(window+best_len-1);    IPos limit = s->strstart > (IPos)MAX_DIST(s) ?;        s->strstart - (IPos)MAX_DIST(s) : NIL;	mov     esi,[ebp+dep_w_size]	sub     esi,MIN_LOOKAHEAD; here esi = MAX_DIST(s)	sub     ecx,esi	ja      nodist	xor     ecx,ecxnodist:	mov     limit,ecx; prev = s->prev	mov     edx,[ebp+dep_prev]	mov     prev,edx;	mov     edx,dword ptr [ebp+dep_match_start]	mov     bp,scan_start	mov     eax,cur_match	mov     match_start,edx	mov     edx,window	mov     edi,edx	add     edi,best_len	mov     esi,prev	dec     edi; windowlen = window + best_len -1	mov     windowlen,edi	jmp     beginloop2	align   4; here, in the loop;       eax = ax = cur_match;       ecx = limit;        bx = scan_end;        bp = scan_start;       edi = windowlen (window + best_len -1);       esi = prev;// here; chain_length <=16normalbeg0add16:	add     chain_length,16	jz      exitloopnormalbeg0:	cmp     word ptr[edi+eax],bx	je      normalbeg2norollrcontlabnoroll:; cur_match = prev[cur_match & wmask]	and     eax,7fffh	mov     ax,word ptr[esi+eax*2]; if cur_match > limit, go to exitloop	cmp     ecx,eax	jnb     exitloop; if --chain_length != 0, go to exitloop	dec     chain_length	jnz     normalbeg0	jmp     exitloopnormalbeg2noroll:; if (scan_start==*(cur_match+window)) goto normalbeg2	cmp     bp,word ptr[edx+eax]	jne     rcontlabnoroll	jmp     normalbeg2contloop3:	mov     edi,windowlen; cur_match = prev[cur_match & wmask]	and     eax,7fffh	mov     ax,word ptr[esi+eax*2]; if cur_match > limit, go to exitloop	cmp     ecx,eaxjnbexitloopshort1:	jnb     exitloop; if --chain_length != 0, go to exitloop; begin the main loopbeginloop2:	sub     chain_length,16+1; if chain_length <=16, don't use the unrolled loop	jna     normalbeg0add16do16:	cmp     word ptr[edi+eax],bx	je      normalbeg2dc0maccn   MACRO   lab	and     eax,7fffh	mov     ax,word ptr[esi+eax*2]	cmp     ecx,eax	jnb     exitloop	cmp     word ptr[edi+eax],bx	je      lab	ENDMrcontloop0:	maccn   normalbeg2dc1rcontloop1:	maccn   normalbeg2dc2rcontloop2:	maccn   normalbeg2dc3rcontloop3:	maccn   normalbeg2dc4rcontloop4:	maccn   normalbeg2dc5rcontloop5:	maccn   normalbeg2dc6rcontloop6:	maccn   normalbeg2dc7rcontloop7:	maccn   normalbeg2dc8rcontloop8:	maccn   normalbeg2dc9rcontloop9:	maccn   normalbeg2dc10rcontloop10:	maccn   short normalbeg2dc11rcontloop11:	maccn   short normalbeg2dc12rcontloop12:	maccn   short normalbeg2dc13rcontloop13:	maccn   short normalbeg2dc14rcontloop14:	maccn   short normalbeg2dc15rcontloop15:	and     eax,7fffh	mov     ax,word ptr[esi+eax*2]	cmp     ecx,eax	jnb     exitloop	sub     chain_length,16	ja      do16	jmp     normalbeg0add16;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;normbeg MACRO   rcontlab,valsub; if we are here, we know that *(match+best_len-1) == scan_end	cmp     bp,word ptr[edx+eax]; if (match != scan_start) goto rcontlab	jne     rcontlab; calculate the good chain_length, and we'll compare scan and match string	add     chain_length,16-valsub	jmp     iseq	ENDMnormalbeg2dc11:	normbeg rcontloop11,11normalbeg2dc12:	normbeg short rcontloop12,12normalbeg2dc13:	normbeg short rcontloop13,13normalbeg2dc14:	normbeg short rcontloop14,14normalbeg2dc15:	normbeg short rcontloop15,15normalbeg2dc10:	normbeg rcontloop10,10normalbeg2dc9:	normbeg rcontloop9,9normalbeg2dc8:	normbeg rcontloop8,8normalbeg2dc7:	normbeg rcontloop7,7normalbeg2dc6:	normbeg rcontloop6,6normalbeg2dc5:	normbeg rcontloop5,5normalbeg2dc4:	normbeg rcontloop4,4normalbeg2dc3:	normbeg rcontloop3,3normalbeg2dc2:	normbeg rcontloop2,2normalbeg2dc1:	normbeg rcontloop1,1normalbeg2dc0:	normbeg rcontloop0,0; we go in normalbeg2 because *(ushf*)(match+best_len-1) == scan_endnormalbeg2:	mov     edi,window	cmp     bp,word ptr[edi+eax]	jne     contloop3                   ; if *(ushf*)match != scan_start, continueiseq:; if we are here, we know that *(match+best_len-1) == scan_end; and (match == scan_start)	mov     edi,edx	mov     esi,scan                    ; esi = scan	add     edi,eax                     ; edi = window + cur_match = match	mov     edx,[esi+3]                 ; compare manually dword at match+3	xor     edx,[edi+3]                 ; and scan +3	jz      begincompare                ; if equal, go to long compare; we will determine the unmatch byte and calculate len (in esi)	or      dl,dl	je      eq1rr	mov     esi,3	jmp     trfinvaleq1rr:	or      dx,dx	je      eq1	mov     esi,4	jmp     trfinvaleq1:	and     edx,0ffffffh	jz      eq11	mov     esi,5	jmp     trfinvaleq11:	mov     esi,6	jmp     trfinvalbegincompare:	; here we now scan and match begin same	add     edi,6	add     esi,6	mov     ecx,(MAX_MATCH-(2+4))/4     ; scan for at most MAX_MATCH bytes	repe    cmpsd                       ; loop until mismatch	je      trfin                       ; go to trfin if not unmatch; we determine the unmatch byte	sub     esi,4	mov     edx,[edi-4]	xor     edx,[esi]	or      dl,dl	jnz     trfin	inc     esi	or      dx,dx	jnz     trfin	inc     esi	and     edx,0ffffffh	jnz     trfin	inc     esitrfin:	sub     esi,scan          ; esi = lentrfinval:; here we have finised compare, and esi contain len of equal string	cmp     esi,best_len        ; if len > best_len, go newbestlen	ja      short newbestlen; now we restore edx, ecx and esi, for the big loop	mov     esi,prev	mov     ecx,limit	mov     edx,window	jmp     contloop3newbestlen:	mov     best_len,esi        ; len become best_len

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
九色|91porny| 日韩欧美一区二区不卡| 在线亚洲人成电影网站色www| 欧美另类高清zo欧美| 欧美极品美女视频| 丝袜美腿亚洲一区| 色先锋久久av资源部| 精品久久一区二区三区| 天堂蜜桃91精品| 色婷婷激情综合| 国产精品视频在线看| 日韩高清一区二区| 久久女同性恋中文字幕| 午夜精品123| 日本韩国一区二区三区| 国产精品久久久久影视| 狠狠色伊人亚洲综合成人| 欧美日韩中文字幕一区二区| 国产精品高潮呻吟久久| 丁香婷婷综合激情五月色| 久久免费国产精品| 国产美女在线精品| 337p日本欧洲亚洲大胆色噜噜| 图片区小说区区亚洲影院| 欧美性猛片xxxx免费看久爱| 欧美激情在线一区二区三区| 精品无人区卡一卡二卡三乱码免费卡 | 视频一区二区三区入口| 91污片在线观看| 国产精品水嫩水嫩| jizz一区二区| 国产精品另类一区| av电影在线观看一区| 国产精品美女久久福利网站| 欧美日韩久久不卡| 亚洲一区二区三区四区在线观看 | 激情六月婷婷久久| 欧美电视剧免费全集观看| 美女视频网站黄色亚洲| 日韩丝袜美女视频| 韩国毛片一区二区三区| 26uuu国产在线精品一区二区| 久久精品国产精品亚洲综合| 亚洲精品在线电影| 激情欧美日韩一区二区| 国产婷婷一区二区| 99精品在线观看视频| 一区二区三区欧美视频| 欧美剧在线免费观看网站 | 蜜桃久久av一区| 日韩欧美亚洲一区二区| 国产激情视频一区二区三区欧美| 久久久久久久久久久久久久久99 | 久久国产尿小便嘘嘘尿| 久久久久9999亚洲精品| 99精品视频在线观看| 亚洲午夜精品在线| 91精品国产综合久久精品app| 老司机免费视频一区二区三区| 久久一留热品黄| 一本一道波多野结衣一区二区| 亚洲尤物视频在线| 精品女同一区二区| 91一区二区在线| 日韩影视精彩在线| 国产精品福利在线播放| 5566中文字幕一区二区电影 | 九九热在线视频观看这里只有精品| 精品1区2区在线观看| 波多野结衣在线一区| 一区二区日韩av| 欧美xingq一区二区| thepron国产精品| 日本欧美一区二区三区| 国产精品久久久久三级| 日韩亚洲欧美一区二区三区| 91天堂素人约啪| 精品在线播放免费| 亚洲国产日韩a在线播放性色| 亚洲精品在线电影| 欧美日韩国产精品自在自线| 国产精品系列在线播放| 夜夜爽夜夜爽精品视频| 国产视频一区在线播放| 欧美美女网站色| 99久久精品国产导航| 国产麻豆成人精品| 日本美女视频一区二区| 一区视频在线播放| 久久久久久免费| 在线91免费看| 欧洲一区二区三区在线| 丁香一区二区三区| 国内成人免费视频| 亚洲国产日韩av| 亚洲九九爱视频| 中文字幕日本乱码精品影院| 精品福利一区二区三区免费视频| 欧美色图12p| 欧美丝袜丝nylons| 91精品福利视频| 91在线观看高清| 成人免费av网站| 成人黄色免费短视频| 国产精品1区2区3区| 激情综合网天天干| 免费欧美在线视频| 国产精品每日更新在线播放网址| 国产精品中文字幕欧美| 国产一级精品在线| 中文字幕乱码久久午夜不卡 | 精品区一区二区| 一区二区三区在线影院| 欧美大片日本大片免费观看| 日韩一区二区影院| 91玉足脚交白嫩脚丫在线播放| 国产精品99久久久久久有的能看 | 久久精品国产精品青草| 日韩高清一区在线| 色悠悠久久综合| 成人av资源在线| 色综合天天综合在线视频| 色婷婷久久久亚洲一区二区三区| 99re这里只有精品视频首页| 色综合色狠狠天天综合色| 91福利视频在线| 制服视频三区第一页精品| 欧美妇女性影城| 2023国产精品自拍| 欧美国产日韩精品免费观看| 国产精品久久影院| 亚洲午夜国产一区99re久久| 奇米影视在线99精品| 老司机精品视频在线| 成人永久免费视频| 色婷婷综合久久久中文字幕| 欧美疯狂做受xxxx富婆| 欧美精品一区二区在线播放| 中文字幕av一区二区三区高| 一区二区三区色| 看国产成人h片视频| 成人午夜精品一区二区三区| 色综合久久久网| 欧美一级片在线| 久久精品视频免费| 一区二区三区中文免费| 麻豆精品国产91久久久久久| 国产aⅴ精品一区二区三区色成熟| jizz一区二区| 51久久夜色精品国产麻豆| 国产欧美精品一区二区色综合| 一区二区三区日韩欧美精品 | 国产成人免费视频网站| 日本精品裸体写真集在线观看| 日韩三级在线观看| 国产精品美女久久久久aⅴ国产馆| 一区二区三区蜜桃| 国产伦精品一区二区三区免费| 一本色道**综合亚洲精品蜜桃冫| 51精品久久久久久久蜜臀| 欧美经典一区二区| 天堂在线亚洲视频| 99精品热视频| 26uuu精品一区二区| 亚洲一区二区三区四区在线| 国产精品资源网| 欧美一二三在线| 亚洲一区二区3| caoporm超碰国产精品| 欧美tickling挠脚心丨vk| 亚洲一区中文在线| 不卡视频免费播放| 亚洲精品一区二区在线观看| 亚洲一区二区三区美女| 99热精品国产| 国产女主播一区| 久久黄色级2电影| 91精品国产一区二区三区香蕉| 一区二区三区精密机械公司| 高清日韩电视剧大全免费| 日韩欧美国产一区二区在线播放 | 欧美色图免费看| 亚洲欧美一区二区三区国产精品| 国产麻豆精品在线| 日韩三级免费观看| 日韩av中文字幕一区二区三区| 欧美亚洲图片小说| 亚洲精品第1页| 99久久免费视频.com| 欧美激情在线免费观看| 极品少妇xxxx精品少妇| 欧美va亚洲va香蕉在线| 理论电影国产精品| 5566中文字幕一区二区电影| 午夜电影一区二区| 欧美日韩国产一二三| 亚洲小说春色综合另类电影| 色先锋aa成人| 亚洲五月六月丁香激情| 欧美系列亚洲系列|