mirror of
https://github.com/moparisthebest/Simba
synced 2024-11-25 10:42:20 -05:00
32 lines
567 B
PHP
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'];
|