/programs/fs/kfar/trunk/kfar_arc/kfar_arc.asm |
---|
2,8 → 2,8 |
; project name: KFar_Arc - plugin for KFar, which supports various archives |
; target platform: KolibriOS |
; compiler: FASM 1.67.14 |
; version: 0.13 |
; last update: 2008-11-02 (Nov 02, 2008) |
; version: 0.14 |
; last update: 2008-11-15 (Nov 15, 2008) |
; minimal KFar version: 0.41 |
; minimal kernel: no limit |
; |
/programs/fs/kfar/trunk/kfar_arc/lzma.inc |
---|
274,7 → 274,7 |
.repmovsbr: |
mov eax, [ebp+.rep0] |
cmp eax, [ebp+.dictSize] |
jae return.err |
ja return.err |
mov esi, edi |
sub esi, eax |
mov eax, [ebp+streamInfo.bufPtr] |
282,6 → 282,7 |
ja .repmovsb0 |
mov eax, [ebp+.outEnd] |
sub eax, edi |
jz .done1 |
push ecx |
cmp ecx, eax |
jb @f |
291,6 → 292,7 |
rep movsb |
pop ecx |
jz .repmovsb1 |
.done1: |
pop [ebp+.inPtr] |
mov [ebp+.state], ebx |
mov [ebp+.ecx], ecx |
299,8 → 301,8 |
ret |
.repmovsb0: |
mov edx, [ebp+.dictSize] |
cmp edx, [ebp+streamInfo.bufSize] |
jnz return.err |
; cmp edx, [ebp+streamInfo.bufSize] |
; jnz return.err |
add esi, edx |
push ecx |
cmp ecx, eax |
309,6 → 311,7 |
@@: |
mov eax, [ebp+.outEnd] |
sub eax, edi |
jz .done2 |
cmp ecx, eax |
jb @f |
mov ecx, eax |
322,6 → 325,9 |
mov al, [edi-1] |
mov [ebp+.previousByte], al |
jmp .main_loop |
.done2: |
pop ecx |
jmp .done1 |
.main_loop_done: |
mov [ebp+.state], ebx |
mov [ebp+.continue], .main_loop |