📄 bzlib_decompress.lst
字号:
390:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** EOB = s->nInUse+1; 391:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** nblockMAX = 100000 * s->blockSize100k; 392:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** groupNo = -1; 393:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** groupPos = 0; 394:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 395:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** for (i = 0; i <= 255; i++) s->unzftab[i] = 0; 396:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 397:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*-- MTF init --*/ 398:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** { 399:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Int32 ii, jj, kk; 400:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** kk = MTFA_SIZE-1; 401:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** for (ii = 256 / MTFL_SIZE - 1; ii >= 0; ii--) { 402:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** for (jj = MTFL_SIZE-1; jj >= 0; jj--) { 403:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[kk] = (UChar)(ii * MTFL_SIZE + jj); 404:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** kk--; 405:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 406:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfbase[ii] = kk + 1; 407:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 408:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 409:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*-- end MTF init --*/ 410:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 411:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** nblock = 0; 412:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** GET_MTF_VAL(BZ_X_MTF_1, BZ_X_MTF_2, nextSym); 413:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 414:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** while (True) { 415:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 416:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG) 417:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** WATCHDOG_RESET(); 418:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #endif 419:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (nextSym == EOB) break; 420:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 421:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (nextSym == BZ_RUNA || nextSym == BZ_RUNB) { 422:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 423:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** es = -1; 424:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** N = 1; 425:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** do {GAS LISTING /tmp/cccqP2ln.s page 12 426:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (nextSym == BZ_RUNA) es = es + (0+1) * N; else 427:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (nextSym == BZ_RUNB) es = es + (1+1) * N; 428:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** N = N * 2; 429:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** GET_MTF_VAL(BZ_X_MTF_3, BZ_X_MTF_4, nextSym); 430:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 431:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** while (nextSym == BZ_RUNA || nextSym == BZ_RUNB); 432:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 433:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** es++; 434:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** uc = s->seqToUnseq[ s->mtfa[s->mtfbase[0]] ]; 435:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->unzftab[uc] += es; 436:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 437:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (s->smallDecompress) 438:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** while (es > 0) { 439:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR); 440:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->ll16[nblock] = (UInt16)uc; 441:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** nblock++; 442:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** es--; 443:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 444:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** else 445:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** while (es > 0) { 446:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR); 447:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->tt[nblock] = (UInt32)uc; 448:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** nblock++; 449:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** es--; 450:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** }; 451:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 452:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** continue; 453:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 454:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } else { 455:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 456:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (nblock >= nblockMAX) RETURN(BZ_DATA_ERROR); 457:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 458:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*-- uc = MTF ( nextSym-1 ) --*/ 459:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** { 460:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Int32 ii, jj, kk, pp, lno, off; 461:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** UInt32 nn; 462:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** nn = (UInt32)(nextSym - 1); 463:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 464:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (nn < MTFL_SIZE) { 465:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /* avoid general-case expense */ 466:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** pp = s->mtfbase[0]; 467:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** uc = s->mtfa[pp+nn]; 468:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** while (nn > 3) { 469:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** Int32 z = pp+nn; 470:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[(z) ] = s->mtfa[(z)-1]; 471:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[(z)-1] = s->mtfa[(z)-2]; 472:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[(z)-2] = s->mtfa[(z)-3]; 473:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[(z)-3] = s->mtfa[(z)-4]; 474:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** nn -= 4; 475:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 476:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** while (nn > 0) { 477:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[(pp+nn)] = s->mtfa[(pp+nn)-1]; nn--; 478:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** }; 479:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[pp] = uc; 480:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } else { 481:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /* general case */ 482:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** lno = nn / MTFL_SIZE;GAS LISTING /tmp/cccqP2ln.s page 13 483:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** off = nn % MTFL_SIZE; 484:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** pp = s->mtfbase[lno] + off; 485:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** uc = s->mtfa[pp]; 486:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** while (pp > s->mtfbase[lno]) { 487:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[pp] = s->mtfa[pp-1]; pp--; 488:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** }; 489:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfbase[lno]++; 490:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** while (lno > 0) { 491:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfbase[lno]--; 492:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[s->mtfbase[lno]] 493:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** = s->mtfa[s->mtfbase[lno-1] + MTFL_SIZE - 1]; 494:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** lno--; 495:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 496:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfbase[0]--; 497:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[s->mtfbase[0]] = uc; 498:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (s->mtfbase[0] == 0) { 499:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** kk = MTFA_SIZE-1; 500:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** for (ii = 256 / MTFL_SIZE-1; ii >= 0; ii--) { 501:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #if defined(CONFIG_HW_WATCHDOG) || defined(CONFIG_WATCHDOG) 502:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** WATCHDOG_RESET(); 503:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** #endif 504:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** for (jj = MTFL_SIZE-1; jj >= 0; jj--) { 505:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfa[kk] = s->mtfa[s->mtfbase[ii] + jj]; 506:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** kk--; 507:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 508:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->mtfbase[ii] = kk + 1; 509:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 510:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 511:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 512:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 513:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*-- end uc = MTF ( nextSym-1 ) --*/ 514:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 515:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->unzftab[s->seqToUnseq[uc]]++; 516:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (s->smallDecompress) 517:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->ll16[nblock] = (UInt16)(s->seqToUnseq[uc]); else 518:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->tt[nblock] = (UInt32)(s->seqToUnseq[uc]); 519:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** nblock++; 520:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 521:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** GET_MTF_VAL(BZ_X_MTF_5, BZ_X_MTF_6, nextSym); 522:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** continue; 523:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 524:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** } 525:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 526:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /* Now we know what nblock is, we can do a better sanity 527:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** check on s->origPtr. 528:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** */ 529:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (s->origPtr < 0 || s->origPtr >= nblock) 530:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** RETURN(BZ_DATA_ERROR); 531:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 532:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->state_out_len = 0; 533:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->state_out_ch = 0; 534:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** BZ_INITIALISE_CRC ( s->calculatedBlockCRC ); 535:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** s->state = BZ_X_OUTPUT; 536:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** if (s->verbosity >= 2) VPrintf0 ( "rt+rld" ); 537:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 538:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** /*-- Set up cftab to facilitate generation of
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -