Rev 6639 | Rev 6797 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6639 | Rev 6741 | ||
---|---|---|---|
Line 153... | Line 153... | ||
153 | ; Output a short LSB first on the stream. |
153 | ; Output a short LSB first on the stream. |
154 | ; IN assertion: there is enough room in pendingBuf. |
154 | ; IN assertion: there is enough room in pendingBuf. |
Line 155... | Line 155... | ||
155 | 155 | ||
156 | macro put_short s, w |
156 | macro put_short s, w |
157 | { |
157 | { |
158 | movzx eax,word[s+deflate_state.pending] |
158 | mov eax,[s+deflate_state.pending] |
159 | add eax,[s+deflate_state.pending_buf] |
159 | add eax,[s+deflate_state.pending_buf] |
160 | mov word[eax],w |
160 | mov word[eax],w |
161 | add word[s+deflate_state.pending],2 |
161 | add dword[s+deflate_state.pending],2 |
Line 162... | Line 162... | ||
162 | } |
162 | } |
163 | 163 | ||
164 | ; =========================================================================== |
164 | ; =========================================================================== |
Line 1873... | Line 1873... | ||
1873 | 1873 | ||
1874 | ; Check that the overlay between pending_buf and d_buf+l_buf is ok: |
1874 | ; Check that the overlay between pending_buf and d_buf+l_buf is ok: |
1875 | mov eax,[lx] |
1875 | mov eax,[lx] |
1876 | shl eax,1 |
1876 | shl eax,1 |
1877 | add eax,[edi+deflate_state.lit_bufsize] |
1877 | add eax,[edi+deflate_state.lit_bufsize] |
1878 | cmp word[edi+deflate_state.pending],ax |
1878 | cmp [edi+deflate_state.pending],eax |
1879 | jl @f |
1879 | jl @f |
1880 | zlib_assert 'pendingBuf overflow' ;Assert(..<..) |
1880 | zlib_assert 'pendingBuf overflow' ;Assert(..<..) |
1881 | @@: |
1881 | @@: |
1882 | mov eax,[edi+deflate_state.last_lit] |
1882 | mov eax,[edi+deflate_state.last_lit] |