Subversion Repositories Kolibri OS

Rev

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

Rev 6617 Rev 6639
Line 104... Line 104...
104
	mcall SF_GET_BUTTON
104
	mcall SF_GET_BUTTON
Line 105... Line 105...
105
 
105
 
106
	cmp ah,1
106
	cmp ah,1
Line 107... Line 107...
107
	jne still
107
	jne still
108
 
108
 
109
.exit:
109
.exit: ; ª®­¥æ ¯à®£à ¬¬ë
Line 110... Line 110...
110
  	mcall SF_SYS_MISC,SSF_MEM_FREE,[m2]
110
  	mcall SF_SYS_MISC,SSF_MEM_FREE,[m2]
111
    mcall SF_TERMINATE_PROCESS ; ¨­ ç¥ ª®­¥æ ¯à®£à ¬¬ë
111
    mcall SF_TERMINATE_PROCESS
112
 
112
 
113
align 4
113
align 4
Line 162... Line 162...
162
	mov eax,my_strm
162
	mov eax,my_strm
163
	mov [eax+z_stream.next_in],m0 ;ãáâ ­ ¢«¨¢ ¥¬ ¯ ¬ïâì ¤«ï ᦠâ¨ï
163
	mov [eax+z_stream.next_in],m0 ;ãáâ ­ ¢«¨¢ ¥¬ ¯ ¬ïâì ¤«ï ᦠâ¨ï
164
	mov ecx,[m0size]
164
	mov ecx,[m0size]
165
	mov word[eax+z_stream.avail_in],cx ;à §¬¥à ᦨ¬ ¥¬ë¦ ¤ ­­ëå
165
	mov word[eax+z_stream.avail_in],cx ;à §¬¥à ᦨ¬ ¥¬ë¦ ¤ ­­ëå
166
	mov [eax+z_stream.next_out],m1 ;ãáâ ­ ¢«¨¢ ¥¬ ¡ãä¥à ¤«ï ᦠâ¨ï
166
	mov [eax+z_stream.next_out],m1 ;ãáâ ­ ¢«¨¢ ¥¬ ¡ãä¥à ¤«ï ᦠâ¨ï
167
	mov word[eax+z_stream.avail_out],1024 ;à §¬¥à ¡ãä¥à  ¤«ï ᦠâ¨ï
167
	mov word[eax+z_stream.avail_out],1024 ;à §¬¥à ¡ãä¥à  ¤«ï ᦠâ¨ï (¬ ªá¨¬ã¬ 16 Š¡)
-
 
168
 
-
 
169
	;¢ëç¨á«ï¥¬ crc ¤«ï ᦨ¬ ¥¬ë¦ ¤ ­­ëå
-
 
170
	stdcall [calc_crc32], 0,m0,ecx
-
 
171
	mov edx,eax
Line 168... Line 172...
168
 
172
 
Line 169... Line 173...
169
	;call print_z_struct
173
	;call print_z_struct
Line 170... Line 174...
170
 
174
 
Line 171... Line 175...
171
	stdcall [deflate], my_strm, Z_FINISH ;Z_NO_FLUSH
175
	stdcall [deflate], my_strm, Z_FINISH ;Z_NO_FLUSH
172
 
-
 
173
	;call print_z_struct
176
 
174
 
177
	;call print_z_struct
175
	;à §¬¥à ᦠâëå ¤ ­­ëå: 1024-word[eax+z_stream.avail_out]
178
 
Line 176... Line 179...
176
	mov eax,my_strm
179
	;à §¬¥à ᦠâëå ¤ ­­ëå: 1024-word[my_strm.avail_out]
177
	mov ecx,1024
180
	mov ecx,1024
Line -... Line 181...
-
 
181
	sub cx,word[my_strm.avail_out]
-
 
182
	mov [m1size],ecx
-
 
183
 
-
 
184
	;assert(ret != Z_STREAM_ERROR)
-
 
185
	;while (strm.avail_out == 0)
-
 
186
 
-
 
187
	;áâ ¢¨¬ crc ­  ᦠâë¥ ¤ ­­ë¥
-
 
188
	mov ecx,[m1size]
178
	sub cx,word[eax+z_stream.avail_out]
189
	sub ecx,4
179
	mov [m1size],ecx
190
	add ecx,m1
180
 
191
	mov [ecx],edx
181
;assert(ret != Z_STREAM_ERROR)
192
 
-
 
193
	;ä®à¬¨à®¢ ­¨¥ ⥪áâ  ¤«ï ®â®¡à ¦¥­¨ï ᦠâëå ¤ ­­ëå
182
;while (strm.avail_out == 0)
194
	;¢ 16-à¨ç­®¬ ¢¨¤¥, ­ã¦­® ⮫쪮 ¤«ï ¯à¨¬¥à 
183
 
195
	mov ebx,[m1size]
-
 
196
	mov esi,m1
184
	mov ebx,[m1size]
197
	mov edi,buf
185
	mov esi,m1
198
	mov edx,7
186
	mov edi,buf
199
align 4
187
	mov edx,7
200
	.cycle1: ;rows
188
	.cycle1: ;rows
201
	mov ecx,32
Line 197... Line 210...
197
		inc edi
210
		inc edi
198
		loop .cycle0
211
		loop .cycle0
199
	mov byte[edi-1],0
212
	mov byte[edi-1],0
200
	dec edx
213
	dec edx
201
	jnz .cycle1
214
	jnz .cycle1
202
 
-
 
203
	.cycle1end:
215
	.cycle1end:
204
	mov byte[edi],0
216
	mov byte[edi],0
Line -... Line 217...
-
 
217
 
205
 
218
	;㤠«¥­¨¥ ¡ãä¥à  á à ­¥¥ à á¯ ª®¢ ­­ë¬¨ ¤ ­­ë¬¨
Line 206... Line 219...
206
	mcall SF_SYS_MISC,SSF_MEM_FREE,[m2]
219
	mcall SF_SYS_MISC,SSF_MEM_FREE,[m2]
207
	
220
	
208
	mov eax,[m1size]
221
	mov eax,[m1size]
209
	sub eax,2 ;;; 2? or 6?
222
	sub eax,2 ;;; 2? or 6?
210
	mov [m2size],eax
223
	mov [m2size],eax
211
	mov eax,m1
224
	mov eax,m1
212
	add eax,2
225
	add eax,2
213
	stdcall [deflate_unpack],eax,m2size
226
	stdcall [deflate_unpack],eax,m2size
214
	mov [m2],eax
227
	mov [m2],eax ;§ ¯¨áì ­®¢ëå à á¯ ª®¢ ­­ëå ¤ ­­ëå
215
	mov ecx,[m0size] ;;; ???
228
	mov ecx,[m0size] ;;; ???
Line 216... Line 229...
216
	mov [m2size],ecx
229
	mov [m2size],ecx
Line 241... Line 254...
241
	deflateInit		dd sz_deflateInit
254
	deflateInit		dd sz_deflateInit
242
	deflateInit2	dd sz_deflateInit2
255
	deflateInit2	dd sz_deflateInit2
243
	deflateReset	dd sz_deflateReset
256
	deflateReset	dd sz_deflateReset
244
	deflate			dd sz_deflate
257
	deflate			dd sz_deflate
245
	deflateEnd		dd sz_deflateEnd
258
	deflateEnd		dd sz_deflateEnd
-
 
259
	calc_crc32		dd sz_calc_crc32
Line 246... Line 260...
246
 
260
 
Line 247... Line 261...
247
	dd 0,0
261
	dd 0,0
248
 
262
 
249
;	sz_lib_init db 'lib_init',0
263
;	sz_lib_init db 'lib_init',0
250
	sz_deflateInit db 'deflateInit',0
264
	sz_deflateInit db 'deflateInit',0
251
	sz_deflateInit2 db 'deflateInit2',0
265
	sz_deflateInit2 db 'deflateInit2',0
252
	sz_deflateReset db 'deflateReset',0
266
	sz_deflateReset db 'deflateReset',0
-
 
267
	sz_deflate db 'deflate',0
-
 
268
	sz_deflateEnd db 'deflateEnd',0
253
	sz_deflate db 'deflate',0
269
	sz_calc_crc32 db 'calc_crc32',0
254
	sz_deflateEnd db 'deflateEnd',0
270
 
255
;--------------------------------------------------
271
;--------------------------------------------------
Line 256... Line 272...
256
system_dir_0 db '/sys/lib/'
272
system_dir_0 db '/sys/lib/'