save 4 bytes in __LZMA_ELF00__

This commit is contained in:
John Reiser
2006-06-24 16:48:43 -07:00
parent 02bc48925a
commit dd5b7825d5
11 changed files with 5723 additions and 5728 deletions
File diff suppressed because it is too large Load Diff
+518 -518
View File
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
File diff suppressed because it is too large Load Diff
+574 -574
View File
File diff suppressed because it is too large Load Diff
+5 -7
View File
@@ -93,24 +93,22 @@ LZMA_LIT_SIZE equ 768
mov ebp, esp ; save stack
xor eax,eax ; 0
xor eax,eax ; 0
lodsb ; al= 1 byte for LzmaDecodeProperties()
mov dl,9
div dl ; (ah:rem, al:quo)= ax / dl
mov cl,ah ; cl = lit_context_bits
movzx eax,al ; 1st_byte / 9
mov ah,0 ; ax= 1st_byte / 9
mov dl,5
div dl ; ah= lit_pos_bits; al= pos_bits
mov ch,cl ; ch = lit_context_bits
mov ch,cl ; ch = lit_context_bits
add cl,ah ; cl = lit_context_bits + lit_pos_bits;
mov ebx, -LZMA_LIT_SIZE
sal ebx, cl
add ebx, -LZMA_BASE_SIZE
; /* inSizeProcessed, outSizeProcessed, *_bits, CLzmaDecoderState */
lea ebx,[-(2*4 +4) + 2*ebx + esp]
and ebx, byte (~0<<4) ; 16-byte align
lea ebx,[-(2*4 +4) + 2*(-LZMA_BASE_SIZE + ebx) + esp]
and ebx, byte (~0<<5) ; 32-byte align
.elf_clearstack1:
push byte 0
cmp esp,ebx