106,9 → 106,9 |
cmp ah,1 |
jne still |
|
.exit: |
.exit: ; ª®¥æ ¯à®£à ¬¬ë |
mcall SF_SYS_MISC,SSF_MEM_FREE,[m2] |
mcall SF_TERMINATE_PROCESS ; ¨ ç¥ ª®¥æ ¯à®£à ¬¬ë |
mcall SF_TERMINATE_PROCESS |
|
align 4 |
draw_window: |
164,8 → 164,12 |
mov ecx,[m0size] |
mov word[eax+z_stream.avail_in],cx ;à §¬¥à ᦨ¬ ¥¬ë¦ ¤ ëå |
mov [eax+z_stream.next_out],m1 ;ãáâ ¢«¨¢ ¥¬ ¡ãä¥à ¤«ï ᦠâ¨ï |
mov word[eax+z_stream.avail_out],1024 ;à §¬¥à ¡ãä¥à ¤«ï ᦠâ¨ï |
mov word[eax+z_stream.avail_out],1024 ;à §¬¥à ¡ãä¥à ¤«ï ᦠâ¨ï (¬ ªá¨¬ã¬ 16 ¡) |
|
;¢ëç¨á«ï¥¬ crc ¤«ï ᦨ¬ ¥¬ë¦ ¤ ëå |
stdcall [calc_crc32], 0,m0,ecx |
mov edx,eax |
|
;call print_z_struct |
|
stdcall [deflate], my_strm, Z_FINISH ;Z_NO_FLUSH |
172,21 → 176,30 |
|
;call print_z_struct |
|
;à §¬¥à ᦠâëå ¤ ëå: 1024-word[eax+z_stream.avail_out] |
mov eax,my_strm |
;à §¬¥à ᦠâëå ¤ ëå: 1024-word[my_strm.avail_out] |
mov ecx,1024 |
sub cx,word[eax+z_stream.avail_out] |
sub cx,word[my_strm.avail_out] |
mov [m1size],ecx |
|
;assert(ret != Z_STREAM_ERROR) |
;while (strm.avail_out == 0) |
|
;áâ ¢¨¬ crc ᦠâë¥ ¤ ë¥ |
mov ecx,[m1size] |
sub ecx,4 |
add ecx,m1 |
mov [ecx],edx |
|
;ä®à¬¨à®¢ ¨¥ ⥪áâ ¤«ï ®â®¡à ¦¥¨ï ᦠâëå ¤ ëå |
;¢ 16-à¨ç®¬ ¢¨¤¥, 㦮 ⮫쪮 ¤«ï ¯à¨¬¥à |
mov ebx,[m1size] |
mov esi,m1 |
mov edi,buf |
mov edx,7 |
align 4 |
.cycle1: ;rows |
mov ecx,32 |
align 4 |
.cycle0: ;cols |
stdcall hex_in_str, edi,[esi],2 |
add edi,2 |
199,10 → 212,10 |
mov byte[edi-1],0 |
dec edx |
jnz .cycle1 |
|
.cycle1end: |
mov byte[edi],0 |
|
;㤠«¥¨¥ ¡ãä¥à á à ¥¥ à ᯠª®¢ 묨 ¤ 묨 |
mcall SF_SYS_MISC,SSF_MEM_FREE,[m2] |
|
mov eax,[m1size] |
211,7 → 224,7 |
mov eax,m1 |
add eax,2 |
stdcall [deflate_unpack],eax,m2size |
mov [m2],eax |
mov [m2],eax ;§ ¯¨áì ®¢ëå à ᯠª®¢ ëå ¤ ëå |
mov ecx,[m0size] ;;; ??? |
mov [m2size],ecx |
ret |
243,6 → 256,7 |
deflateReset dd sz_deflateReset |
deflate dd sz_deflate |
deflateEnd dd sz_deflateEnd |
calc_crc32 dd sz_calc_crc32 |
|
dd 0,0 |
|
252,6 → 266,8 |
sz_deflateReset db 'deflateReset',0 |
sz_deflate db 'deflate',0 |
sz_deflateEnd db 'deflateEnd',0 |
sz_calc_crc32 db 'calc_crc32',0 |
|
;-------------------------------------------------- |
system_dir_0 db '/sys/lib/' |
lib_name_0 db 'archiver.obj',0 |