📄 bzlib_decompress.lst
字号:
GAS LISTING /tmp/cccqP2ln.s page 1 1 .section .mdebug.abi32 2 .previous 3 .section .debug_abbrev,"",@progbits 4 $Ldebug_abbrev0: 5 .section .debug_info,"",@progbits 6 $Ldebug_info0: 7 .section .debug_line,"",@progbits 8 $Ldebug_line0: 9 0000 93040000 .text 9 02007500 9 00000101 9 FB0E0A00 9 01010101 10 $Ltext0: 11 .align 2 12 .globl BZ2_decompress 13 .ent BZ2_decompress 14 .type BZ2_decompress, @function 15 BZ2_decompress: 16 $LFB3: 17 .file 1 "/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c" 1:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*-------------------------------------------------------------*/ 2:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*--- Decompression machinery ---*/ 3:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*--- decompress.c ---*/ 4:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*-------------------------------------------------------------*/ 5:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 6:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*-- 7:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** This file is a part of bzip2 and/or libbzip2, a program and 8:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** library for lossless, block-sorting data compression. 9:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 10:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Copyright (C) 1996-2002 Julian R Seward. All rights reserved. 11:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 12:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Redistribution and use in source and binary forms, with or without 13:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** modification, are permitted provided that the following conditions 14:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** are met: 15:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 16:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 1. Redistributions of source code must retain the above copyright 17:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** notice, this list of conditions and the following disclaimer. 18:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 19:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 2. The origin of this software must not be misrepresented; you must 20:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** not claim that you wrote the original software. If you use this 21:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** software in a product, an acknowledgment in the product 22:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** documentation would be appreciated but is not required. 23:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 24:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 3. Altered source versions must be plainly marked as such, and must 25:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** not be misrepresented as being the original software. 26:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 27:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 4. The name of the author may not be used to endorse or promote 28:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** products derived from this software without specific prior written 29:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** permission. 30:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 31:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS 32:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED 33:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE 34:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY 35:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 36:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTEGAS LISTING /tmp/cccqP2ln.s page 2 37:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS 38:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, 39:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 40:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 41:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 42:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 43:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Julian Seward, Cambridge, UK. 44:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** jseward@acm.org 45:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** bzip2/libbzip2 version 1.0 of 21 March 2000 46:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 47:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** This program is based on (at least) the work of: 48:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Mike Burrows 49:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** David Wheeler 50:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Peter Fenwick 51:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Alistair Moffat 52:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Radford Neal 53:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Ian H. Witten 54:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Robert Sedgewick 55:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Jon L. Bentley 56:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 57:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** For more information on these sources, see the manual. 58:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** --*/ 59:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 60:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 61:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #include "bzlib_private.h" 62:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 63:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 64:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*---------------------------------------------------*/ 65:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** static 66:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** void makeMaps_d ( DState* s ) 67:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** { 68:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Int32 i; 69:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->nInUse = 0; 70:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** for (i = 0; i < 256; i++) 71:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (s->inUse[i]) { 72:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->seqToUnseq[s->nInUse] = i; 73:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->nInUse++; 74:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 75:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 76:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 77:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 78:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*---------------------------------------------------*/ 79:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #define RETURN(rrr) \ 80:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** { retVal = rrr; goto save_state_and_return; }; 81:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 82:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #define GET_BITS(lll,vvv,nnn) \ 83:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** case lll: s->state = lll; \ 84:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** while (True) { \ 85:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (s->bsLive >= nnn) { \ 86:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** UInt32 v; \ 87:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** v = (s->bsBuff >> \ 88:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** (s->bsLive-nnn)) & ((1 << nnn)-1); \ 89:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->bsLive -= nnn; \ 90:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** vvv = v; \ 91:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** break; \ 92:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } \ 93:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (s->strm->avail_in == 0) RETURN(BZ_OK); \GAS LISTING /tmp/cccqP2ln.s page 3 94:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->bsBuff \ 95:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** = (s->bsBuff << 8) | \ 96:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** ((UInt32) \ 97:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** (*((UChar*)(s->strm->next_in)))); \ 98:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->bsLive += 8; \ 99:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->strm->next_in++; \ 100:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->strm->avail_in--; \ 101:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->strm->total_in_lo32++; \ 102:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (s->strm->total_in_lo32 == 0) \ 103:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->strm->total_in_hi32++; \ 104:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 105:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 106:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #define GET_UCHAR(lll,uuu) \ 107:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** GET_BITS(lll,uuu,8) 108:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 109:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #define GET_BIT(lll,uuu) \ 110:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** GET_BITS(lll,uuu,1) 111:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 112:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*---------------------------------------------------*/ 113:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #define GET_MTF_VAL(label1,label2,lval) \ 114:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** { \ 115:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (groupPos == 0) { \ 116:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** groupNo++; \ 117:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (groupNo >= nSelectors) \ 118:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** RETURN(BZ_DATA_ERROR); \ 119:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** groupPos = BZ_G_SIZE; \ 120:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** gSel = s->selector[groupNo]; \ 121:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** gMinlen = s->minLens[gSel]; \ 122:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** gLimit = &(s->limit[gSel][0]); \ 123:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** gPerm = &(s->perm[gSel][0]); \ 124:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** gBase = &(s->base[gSel][0]); \ 125:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } \ 126:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** groupPos--; \
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -