1
0
mirror of https://github.com/moparisthebest/Simba synced 2024-11-14 13:25:14 -05:00
Simba/Units/Misc/bzip2si386.inc

32 lines
567 B
PHP

{$ASMMODE intel}
{$define HAVE_DETRANSFORM}
procedure TDecompressBzip2Stream.detransform;assembler;
asm
{ mov edx,offset c
call mcount}
xor edx,edx
lea ebx,[esi+TDecompressBzip2Stream.cftab]
mov ecx,[esi+TDecompressBzip2Stream.tt_count]
push esi
push ebp
mov esi,[esi+TDecompressBzip2Stream.tt]
mov edi,esi
lea ebp,[4*ecx+esi]
jmp @a2
@a1:
movzx eax,byte [esi]
mov ecx,[ebx+4*eax]
inc dword [ebx+4*eax]
or [edi+4*ecx],edx
add edx,$100
add esi,4
@a2:
cmp esi,ebp
jne @a1
pop ebp
pop esi
end ['eax','ebx','ecx','edx','edi'];