Subversion Repositories Kolibri OS

Rev

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