⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 bzlib_decompress.lst

📁 au1200下的boot代码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 243:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (uc != BZ_HDR_h) RETURN(BZ_DATA_ERROR_MAGIC); 244:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  245:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_BITS(BZ_X_MAGIC_4, s->blockSize100k, 8) 246:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (s->blockSize100k < (BZ_HDR_0 + 1) || 247:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	  s->blockSize100k > (BZ_HDR_0 + 9)) RETURN(BZ_DATA_ERROR_MAGIC); 248:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->blockSize100k -= BZ_HDR_0; 249:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  250:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (s->smallDecompress) { 251:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 s->ll16 = BZALLOC( s->blockSize100k * 100000 * sizeof(UInt16) ); 252:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 s->ll4  = BZALLOC( 253:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 		      ((1 + s->blockSize100k * 100000) >> 1) * sizeof(UChar) 254:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 		   );GAS LISTING /tmp/cccqP2ln.s 			page 9 255:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 if (s->ll16 == NULL || s->ll4 == NULL) RETURN(BZ_MEM_ERROR); 256:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       } else { 257:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 s->tt  = BZALLOC( s->blockSize100k * 100000 * sizeof(Int32) ); 258:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 if (s->tt == NULL) RETURN(BZ_MEM_ERROR); 259:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       } 260:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  261:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BLKHDR_1, uc); 262:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  263:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (uc == 0x17) goto endhdr_2; 264:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (uc != 0x31) RETURN(BZ_DATA_ERROR); 265:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BLKHDR_2, uc); 266:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (uc != 0x41) RETURN(BZ_DATA_ERROR); 267:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BLKHDR_3, uc); 268:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (uc != 0x59) RETURN(BZ_DATA_ERROR); 269:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BLKHDR_4, uc); 270:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (uc != 0x26) RETURN(BZ_DATA_ERROR); 271:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BLKHDR_5, uc); 272:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (uc != 0x53) RETURN(BZ_DATA_ERROR); 273:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BLKHDR_6, uc); 274:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (uc != 0x59) RETURN(BZ_DATA_ERROR); 275:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  276:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->currBlockNo++; 277:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (s->verbosity >= 2) 278:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 VPrintf1 ( "\n    [%d: huff+mtf ", s->currBlockNo ); 279:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  280:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->storedBlockCRC = 0; 281:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BCRC_1, uc); 282:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc); 283:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BCRC_2, uc); 284:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc); 285:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BCRC_3, uc); 286:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc); 287:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_BCRC_4, uc); 288:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->storedBlockCRC = (s->storedBlockCRC << 8) | ((UInt32)uc); 289:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  290:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_BITS(BZ_X_RANDBIT, s->blockRandomised, 1); 291:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  292:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->origPtr = 0; 293:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_ORIGPTR_1, uc); 294:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->origPtr = (s->origPtr << 8) | ((Int32)uc); 295:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_ORIGPTR_2, uc); 296:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->origPtr = (s->origPtr << 8) | ((Int32)uc); 297:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_UCHAR(BZ_X_ORIGPTR_3, uc); 298:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       s->origPtr = (s->origPtr << 8) | ((Int32)uc); 299:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  300:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (s->origPtr < 0) 301:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 RETURN(BZ_DATA_ERROR); 302:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (s->origPtr > 10 + 100000*s->blockSize100k) 303:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 RETURN(BZ_DATA_ERROR); 304:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  305:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       /*--- Receive the mapping table ---*/ 306:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       for (i = 0; i < 16; i++) { 307:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 GET_BIT(BZ_X_MAPPING_1, uc); 308:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 if (uc == 1) 309:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    s->inUse16[i] = True; else 310:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    s->inUse16[i] = False; 311:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       }GAS LISTING /tmp/cccqP2ln.s 			page 10 312:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  313:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       for (i = 0; i < 256; i++) s->inUse[i] = False; 314:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  315:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       for (i = 0; i < 16; i++) 316:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 if (s->inUse16[i]) 317:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    for (j = 0; j < 16; j++) { 318:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	       GET_BIT(BZ_X_MAPPING_2, uc); 319:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	       if (uc == 1) s->inUse[i * 16 + j] = True; 320:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    } 321:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       makeMaps_d ( s ); 322:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (s->nInUse == 0) RETURN(BZ_DATA_ERROR); 323:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       alphaSize = s->nInUse+2; 324:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  325:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       /*--- Now the selectors ---*/ 326:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_BITS(BZ_X_SELECTOR_1, nGroups, 3); 327:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (nGroups < 2 || nGroups > 6) RETURN(BZ_DATA_ERROR); 328:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       GET_BITS(BZ_X_SELECTOR_2, nSelectors, 15); 329:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       if (nSelectors < 1) RETURN(BZ_DATA_ERROR); 330:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       for (i = 0; i < nSelectors; i++) { 331:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 j = 0; 332:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 while (True) { 333:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    GET_BIT(BZ_X_SELECTOR_3, uc); 334:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    if (uc == 0) break; 335:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    j++; 336:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    if (j >= nGroups) RETURN(BZ_DATA_ERROR); 337:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 } 338:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 s->selectorMtf[i] = j; 339:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       } 340:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  341:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       /*--- Undo the MTF values for the selectors. ---*/ 342:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       { 343:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 UChar pos[BZ_N_GROUPS], tmp, v; 344:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 for (v = 0; v < nGroups; v++) pos[v] = v; 345:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  346:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 for (i = 0; i < nSelectors; i++) { 347:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    v = s->selectorMtf[i]; 348:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    tmp = pos[v]; 349:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    while (v > 0) { pos[v] = pos[v-1]; v--; } 350:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    pos[0] = tmp; 351:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    s->selector[i] = tmp; 352:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 } 353:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       } 354:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  355:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       /*--- Now the coding tables ---*/ 356:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       for (t = 0; t < nGroups; t++) { 357:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 GET_BITS(BZ_X_CODING_1, curr, 5); 358:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 for (i = 0; i < alphaSize; i++) { 359:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    while (True) { 360:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	       if (curr < 1 || curr > 20) RETURN(BZ_DATA_ERROR); 361:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	       GET_BIT(BZ_X_CODING_2, uc); 362:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	       if (uc == 0) break; 363:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	       GET_BIT(BZ_X_CODING_3, uc); 364:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	       if (uc == 0) curr++; else curr--; 365:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    } 366:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    s->len[t][i] = curr; 367:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 } 368:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       }GAS LISTING /tmp/cccqP2ln.s 			page 11 369:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  370:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       /*--- Create the Huffman decoding tables ---*/ 371:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       for (t = 0; t < nGroups; t++) { 372:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 minLen = 32; 373:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 maxLen = 0; 374:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 for (i = 0; i < alphaSize; i++) { 375:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    if (s->len[t][i] > maxLen) maxLen = s->len[t][i]; 376:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    if (s->len[t][i] < minLen) minLen = s->len[t][i]; 377:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 } 378:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 BZ2_hbCreateDecodeTables ( 379:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    &(s->limit[t][0]), 380:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    &(s->base[t][0]), 381:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    &(s->perm[t][0]), 382:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    &(s->len[t][0]), 383:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	    minLen, maxLen, alphaSize 384:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 ); 385:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 	 s->minLens[t] = minLen; 386:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       } 387:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****  388:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c ****       /*--- Now the MTF values ---*/ 389:/mnt/hgfs/boot/booter/source/applications/booter/bzlib_decompress.c **** 

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -