Subversion Repositories Kolibri OS

Rev

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]