Rev 589 | Rev 920 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 589 | Rev 893 | ||
---|---|---|---|
Line 130... | Line 130... | ||
130 | shr eax, cl |
130 | shr eax, cl |
131 | imul eax, LZMA_LIT_SIZE*4 |
131 | imul eax, LZMA_LIT_SIZE*4 |
132 | lea eax, [ebp + eax + .p+.Literal*4] |
132 | lea eax, [ebp + eax + .p+.Literal*4] |
133 | cmp ebx, .kNumLitStates |
133 | cmp ebx, .kNumLitStates |
134 | jb .literal |
134 | jb .literal |
135 | xor edx, edx |
135 | mov edx, edi |
136 | sub edx, [ebp+.rep0] |
136 | sub edx, [ebp+.rep0] |
- | 137 | cmp edx, [ebp+streamInfo.bufPtr] |
|
- | 138 | jb .before_buf |
|
- | 139 | @@: |
|
137 | mov dl, [edi + edx] |
140 | mov dl, [edx] |
138 | call .LzmaLiteralDecodeMatch |
141 | call .LzmaLiteralDecodeMatch |
- | 142 | jmp .got_byte |
|
- | 143 | .before_buf: |
|
- | 144 | add edx, [ebp+streamInfo.bufSize] |
|
- | 145 | cmp edx, [ebp+streamInfo.bufPtr] |
|
- | 146 | jb return.err |
|
139 | jmp @f |
147 | jmp @b |
140 | .literal: |
148 | .literal: |
141 | call .LzmaLiteralDecode |
149 | call .LzmaLiteralDecode |
142 | @@: |
150 | .got_byte: |
143 | mov [ebp+.previousByte], al |
151 | mov [ebp+.previousByte], al |
144 | stosb |
152 | stosb |
145 | mov al, bl |
153 | mov al, bl |
146 | cmp bl, 4 |
154 | cmp bl, 4 |
147 | jb @f |
155 | jb @f |
Line 165... | Line 173... | ||
165 | call .RangeDecoderBitDecode |
173 | call .RangeDecoderBitDecode |
166 | jc .1101 |
174 | jc .1101 |
167 | cmp bl, 7 |
175 | cmp bl, 7 |
168 | setae bl |
176 | setae bl |
169 | lea ebx, [9 + ebx + ebx] |
177 | lea ebx, [9 + ebx + ebx] |
170 | xor edx, edx |
178 | mov edx, edi |
171 | sub edx, [ebp+.rep0] |
179 | sub edx, [ebp+.rep0] |
- | 180 | cmp edx, [ebp+streamInfo.bufPtr] |
|
- | 181 | jae @f |
|
- | 182 | add edx, [ebp+streamInfo.bufSize] |
|
- | 183 | cmp edx, [ebp+streamInfo.bufPtr] |
|
- | 184 | jb return.err |
|
- | 185 | @@: |
|
172 | mov al, [edi + edx] |
186 | mov al, [edx] |
173 | stosb |
187 | stosb |
174 | mov [ebp+.previousByte], al |
188 | mov [ebp+.previousByte], al |
175 | jmp .main_loop |
189 | jmp .main_loop |
176 | .111: |
190 | .111: |
177 | lea eax, [ebp + .p + .IsRepG1*4 + ebx*4] |
191 | lea eax, [ebp + .p + .IsRepG1*4 + ebx*4] |