Subversion Repositories Kolibri OS

Rev

Rev 6639 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 6639 Rev 6847
Line 135... Line 135...
135
;    const Bytef* source
135
;    const Bytef* source
136
;    uInt  len
136
;    uInt  len
137
align 4
137
align 4
138
proc zmemcpy uses ecx edi esi, dest:dword, source:dword, len:dword
138
proc zmemcpy uses ecx edi esi, dest:dword, source:dword, len:dword
139
	mov ecx,[len]
139
	mov ecx,[len]
140
	cmp ecx,0
140
	test ecx,ecx
141
	jle @f
141
	jz .end0
142
		mov edi,[dest]
142
		mov edi,[dest]
143
		mov esi,[source]
143
		mov esi,[source]
-
 
144
		bt ecx,0 ;кратно 2 ?
-
 
145
		jnc @f
144
		rep movsb
146
			rep movsb
145
		jmp .end0
147
			jmp .end0
146
	@@:
148
		@@:
147
zlib_debug 'zmemcpy size = %d',ecx
149
		bt ecx,1 ;кратно 4 ?
-
 
150
		jnc @f
-
 
151
			shr ecx,1
-
 
152
			rep movsw
-
 
153
			jmp .end0
-
 
154
		@@:
-
 
155
		shr ecx,2
-
 
156
		rep movsd
148
	.end0:
157
	.end0:
149
	ret
158
	ret
150
endp
159
endp
Line 151... Line 160...
151
 
160