Rev 6799 | Rev 6819 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6799 | Rev 6801 | ||
---|---|---|---|
Line 2910... | Line 2910... | ||
2910 | cmp dword[edx+deflate_state.strstart],0 |
2910 | cmp dword[edx+deflate_state.strstart],0 |
2911 | jle .end1 ;if (..>=.. && ..>..) |
2911 | jle .end1 ;if (..>=.. && ..>..) |
2912 | mov esi,[edx+deflate_state.window] |
2912 | mov esi,[edx+deflate_state.window] |
2913 | add esi,[edx+deflate_state.strstart] |
2913 | add esi,[edx+deflate_state.strstart] |
2914 | dec esi |
2914 | dec esi |
2915 | lodsb |
2915 | lodsb ;prev = *scan; ++scan |
2916 | mov edi,esi |
2916 | mov edi,esi |
2917 | scasb |
2917 | scasb |
2918 | jnz .end2 |
2918 | jnz .end2 |
2919 | scasb |
2919 | scasb |
2920 | jnz .end2 |
2920 | jnz .end2 |
Line 2923... | Line 2923... | ||
2923 | ;edi = scan ;scan goes up to strend for length of run |
2923 | ;edi = scan ;scan goes up to strend for length of run |
2924 | ; al = prev ;byte at distance one to match |
2924 | ; al = prev ;byte at distance one to match |
2925 | ;ecx = strend-scan |
2925 | ;ecx = strend-scan |
2926 | mov ecx,MAX_MATCH-2 |
2926 | mov ecx,MAX_MATCH-2 |
2927 | repz scasb |
2927 | repz scasb |
- | 2928 | dec edi |
|
2928 | sub edi,[edx+deflate_state.window] |
2929 | sub edi,[edx+deflate_state.window] |
2929 | sub edi,[edx+deflate_state.strstart] |
2930 | sub edi,[edx+deflate_state.strstart] |
2930 | mov [edx+deflate_state.match_length],edi |
2931 | mov [edx+deflate_state.match_length],edi |
2931 | mov eax,[edx+deflate_state.lookahead] |
2932 | mov eax,[edx+deflate_state.lookahead] |
2932 | cmp [edx+deflate_state.match_length],eax |
2933 | cmp [edx+deflate_state.match_length],eax |