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

📄 inffast.asm

📁 zlib dll in wince 5.0 parfrom
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	ld4	r29=[r30];;				    //122 	cc:3
	ld4	r26=[r27]				    //122 	cc:4
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0420 
	ld1	r31=[r8];;				    //122 	cc:5
	nop.m	 0
	shl	r28=r31, r29;;				    //122 	cc:7
 }
 {   .mmi  //R-Addr: 0X0430 
	add	r25=r26, r28;;				    //122 	cc:10
	st4	[r22]=r25				    //122 	cc:11
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X0440 
	adds	r21=bits$, sp				    //123 	cc:0
	adds	r18=bits$, sp				    //123 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0450 
	ld4	r20=[r21];;				    //123 	cc:1
	adds	r19=8, r20				    //123 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0460 
	st4	[r18]=r19;;				    //123 	cc:3
	adds	r17=in$, sp				    //124 	cc:0
	adds	r11=in$, sp				    //124 	cc:0
 }
 {   .mmi  //R-Addr: 0X0470 
	adds	r10=in$, sp				    //124 	cc:0
	adds	r31=bits$, sp				    //124 	cc:0
	adds	r28=hold$, sp;;				    //124 	cc:0
 }
 {   .mii  //R-Addr: 0X0480 
	ld8	r16=[r17]				    //124 	cc:1
	adds	r25=hold$, sp;;				    //124 	cc:1
	adds	r15=1, r16;;				    //124 	cc:2
 }
 {   .mmb  //R-Addr: 0X0490 
	st8	[r11]=r15				    //124 	cc:3
	ld8	r9=[r10]				    //124 	cc:3
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X04a0 
	ld4	r30=[r31];;				    //124 	cc:3
	ld4	r27=[r28]				    //124 	cc:4
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X04b0 
	ld1	r8=[r9];;				    //124 	cc:5
	nop.m	 0
	shl	r29=r8, r30;;				    //124 	cc:7
 }
 {   .mmi  //R-Addr: 0X04c0 
	add	r26=r27, r29;;				    //124 	cc:10
	st4	[r25]=r26				    //124 	cc:11
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X04d0 
	adds	r22=bits$, sp				    //125 	cc:0
	adds	r19=bits$, sp				    //125 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X04e0 
	ld4	r21=[r22];;				    //125 	cc:1
	adds	r20=8, r21				    //125 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X04f0 
	st4	[r19]=r20;;				    //125 	cc:3
	nop.m	 0
	nop.i	 0;;
 }
$LN51@inflate_fa:

// 126  :         }
// 127  :         this = lcode[hold & lmask];

 {   .mmi  //R-Addr: 0X0500 
	adds	r18=hold$, sp				    //127 	cc:0
	adds	r16=lmask$, sp				    //127 	cc:0
	adds	r8=lcode$, sp				    //127 	cc:0
 }
 {   .mmi  //R-Addr: 0X0510 
	adds	r22=this$, sp;;				    //127 	cc:0
	ld4	r17=[r18]				    //127 	cc:1
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X0520 
	ld4	r15=[r16];;				    //127 	cc:1
	ld8	r31=[r8]				    //127 	cc:2
	and	r11=r17, r15;;				    //127 	cc:2
 }
 {   .mii  //R-Addr: 0X0530 
	nop.m	 0
	zxt4	r10=r11;;				    //127 	cc:3
	shl	r9=r10, 2;;				    //127 	cc:4
 }
 {   .mmi  //R-Addr: 0X0540 
	add	r30=r31, r9;;				    //127 	cc:5
	mov	r29=r30					    //127 	cc:6
	adds	r28=2, r30;;				    //127 	cc:6
 }
 {   .mmb  //R-Addr: 0X0550 
	ld2	r27=[r29]				    //127 	cc:7
	ld2	r26=[r28]				    //127 	cc:7
	nop.b	 0;;
 }
 {   .mib  //R-Addr: 0X0560 
	nop.m	 0
	dep	r25=r26, r27, 16, 16			    //127 	cc:8
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0570 
	st4	[r22]=r25				    //127 	cc:9
	nop.m	 0
	nop.b	 0;;
 }
$dolen$78820:

// 128  :       dolen:
// 129  :         op = (unsigned)(this.bits);
// 130  :         hold >>= op;
// 131  :         bits -= op;
// 132  :         op = (unsigned)(this.op);
// 133  :         if (op == 0) {                          /* literal */

 {   .mib  //R-Addr: 0X0580 
	adds	r21=this$+1, sp				    //129 	cc:0
	adds	r19=op$, sp				    //129 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0590 
	ld1	r20=[r21];;				    //129 	cc:1
	st4	[r19]=r20				    //129 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X05a0 
	adds	r18=hold$, sp				    //130 	cc:0
	adds	r16=op$, sp				    //130 	cc:0
	adds	r10=hold$, sp;;				    //130 	cc:0
 }
 {   .mmb  //R-Addr: 0X05b0 
	ld4	r17=[r18]				    //130 	cc:1
	ld4	r15=[r16]				    //130 	cc:1
	nop.b	 0;;
 }
 {   .mib  //R-Addr: 0X05c0 
	nop.m	 0
	shr.u	r11=r17, r15				    //130 	cc:3
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X05d0 
	st4	[r10]=r11;;				    //130 	cc:6
	adds	r9=bits$, sp				    //131 	cc:0
	adds	r31=op$, sp				    //131 	cc:0
 }
 {   .mmi  //R-Addr: 0X05e0 
	adds	r28=bits$, sp;;				    //131 	cc:0
	ld4	r8=[r9]					    //131 	cc:1
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X05f0 
	ld4	r30=[r31];;				    //131 	cc:1
	sub	r29=r8, r30				    //131 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0600 
	st4	[r28]=r29;;				    //131 	cc:3
	adds	r27=this$, sp				    //132 	cc:0
	adds	r25=op$, sp;;				    //132 	cc:0
 }
 {   .mmi  //R-Addr: 0X0610 
	ld1	r26=[r27];;				    //132 	cc:1
	st4	[r25]=r26				    //132 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0620 
	adds	r22=op$, sp;;				    //133 	cc:0
	ld4	r21=[r22]				    //133 	cc:1
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0630 
	cmp4.ne.unc p14,p15=r0, r21			    //133 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.few $LN50@inflate_fa#;;		    //133 	cc:2
 }

// 134  :             Tracevv((stderr, this.val >= 0x20 && this.val < 0x7f ?
// 135  :                     "inflate:         literal '%c'\n" :
// 136  :                     "inflate:         literal 0x%02x\n", this.val));
// 137  :             PUP(out) = (unsigned char)(this.val);

 {   .mmi  //R-Addr: 0X0640 
	adds	r20=out$, sp				    //137 	cc:0
	adds	r17=out$, sp				    //137 	cc:0
	adds	r16=this$+2, sp				    //137 	cc:0
 }
 {   .mmi  //R-Addr: 0X0650 
	adds	r11=out$, sp;;				    //137 	cc:0
	ld8	r19=[r20]				    //137 	cc:1
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0660 
	adds	r18=1, r19;;				    //137 	cc:2
	st8	[r17]=r18				    //137 	cc:3
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0670 
	ld2	r15=[r16]				    //137 	cc:3
	ld8	r10=[r11]				    //137 	cc:3
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0680 
	st1	[r10]=r15				    //137 	cc:5
	nop.m	 0
	br.cond.sptk.few $LN53@inflate_fa#;;		    //137 	cc:0
 }
$LN50@inflate_fa:

// 138  :         }
// 139  :         else if (op & 16) {                     /* length base */

 {   .mmi  //R-Addr: 0X0690 
	adds	r9=op$, sp;;				    //139 	cc:0
	ld4	r8=[r9]					    //139 	cc:1
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X06a0 
	nop.m	 0
	tbit.z.unc p14,p15=r8, 4			    //139 	cc:2
  (p14)	br.cond.dptk.few $LN48@inflate_fa#;;		    //139 	cc:2
 }

// 140  :             len = (unsigned)(this.val);
// 141  :             op &= 15;                           /* number of extra bits */
// 142  :             if (op) {

 {   .mib  //R-Addr: 0X06b0 
	adds	r31=this$+2, sp				    //140 	cc:0
	adds	r29=len$, sp				    //140 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X06c0 
	ld2	r30=[r31];;				    //140 	cc:1
	st4	[r29]=r30				    //140 	cc:2
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X06d0 
	adds	r28=op$, sp				    //141 	cc:0
	adds	r25=op$, sp				    //141 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X06e0 
	ld4	r27=[r28];;				    //141 	cc:1
	and	r26=15, r27				    //141 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X06f0 
	st4	[r25]=r26;;				    //141 	cc:3
	adds	r22=op$, sp				    //142 	cc:0
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0700 
	ld4	r21=[r22];;				    //142 	cc:1
	cmp4.eq.unc p14,p15=r0, r21			    //142 	cc:2
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0710 
	nop.m	 0
	nop.m	 0
  (p14)	br.cond.dptk.few $LN47@inflate_fa#;;		    //142 	cc:2
 }

// 143  :                 if (bits < op) {

 {   .mib  //R-Addr: 0X0720 
	adds	r20=bits$, sp				    //143 	cc:0
	adds	r18=op$, sp				    //143 	cc:0
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0730 
	ld4	r19=[r20]				    //143 	cc:1
	ld4	r17=[r18]				    //143 	cc:1
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0740 
	cmp4.geu.unc p14,p15=r19, r17			    //143 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.many $LN46@inflate_fa#;;		    //143 	cc:2
 }

// 144  :                     hold += (unsigned long)(PUP(in)) << bits;
// 145  :                     bits += 8;

 {   .mmi  //R-Addr: 0X0750 
	adds	r16=in$, sp				    //144 	cc:0
	adds	r10=in$, sp				    //144 	cc:0
	adds	r9=in$, sp				    //144 	cc:0
 }
 {   .mmi  //R-Addr: 0X0760 
	adds	r30=bits$, sp				    //144 	cc:0
	adds	r27=hold$, sp				    //144 	cc:0
	adds	r22=hold$, sp;;				    //144 	cc:0
 }
 {   .mmi  //R-Addr: 0X0770 
	ld8	r15=[r16];;				    //144 	cc:1
	adds	r11=1, r15				    //144 	cc:2
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0780 
	st8	[r10]=r11				    //144 	cc:3
	ld8	r8=[r9]					    //144 	cc:3
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X0790 
	ld4	r29=[r30];;				    //144 	cc:3
	ld4	r26=[r27]				    //144 	cc:4
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X07a0 
	ld1	r31=[r8];;				    //144 	cc:5
	nop.m	 0
	shl	r28=r31, r29;;				    //144 	cc:7
 }
 {   .mmi  //R-Addr: 0X07b0 
	add	r25=r26, r28;;				    //144 	cc:10
	st4	[r22]=r25				    //144 	cc:11
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X07c0 
	adds	r21=bits$, sp				    //145 	cc:0
	adds	r18=bits$, sp				    //145 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X07d0 
	ld4	r20=[r21];;				    //145 	cc:1
	adds	r19=8, r20				    //145 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X07e0 
	st4	[r18]=r19;;				    //145 	cc:3
	nop.m	 0
	nop.i	 0;;
 }
$LN46@inflate_fa:

// 146  :                 }
// 147  :                 len += (unsigned)hold & ((1U << op) - 1);
// 148  :                 hold >>= op;
// 149  :                 bits -= op;

 {   .mmi  //R-Addr: 0X07f0 
	adds	r17=op$, sp				    //147 	cc:0
	mov	r15=1					    //147 	cc:0
	adds	r9=hold$, sp				    //147 	cc:0
 }
 {   .mib  //R-Addr: 0X0800 
	adds	r30=len$, sp				    //147 	cc:0
	adds	r27=len$, sp				    //147 	cc:0
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0810 
	ld4	r16=[r17]				    //147 	cc:1
	ld4	r8=[r9]					    //147 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0820 
	ld4	r29=[r30];;				    //147 	cc:2
	nop.m	 0
	shl	r11=r15, r16;;				    //147 	cc:3
 }
 {   .mmi  //R-Addr: 0X0830 
	adds	r10=-1, r11;;				    //147 	cc:6
	and	r31=r8, r10				    //147 	cc:7
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0840 
	add	r28=r29, r31;;				    //147 	cc:8
	st4	[r27]=r28				    //147 	cc:9
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0850 
	adds	r26=hold$, sp				    //148 	cc:0
	adds	r22=op$, sp				    //148 	cc:0
	adds	r19=hold$, sp;;				    //148 	cc:0
 }
 {   .mmb  //R-Addr: 0X0860 
	ld4	r25=[r26]				    //148 	cc:1
	ld4	r21=[r22]				    //148 	cc:1
	nop.b	 0;;
 }
 {   .mib  //R-Addr: 0X0870 
	nop.m	 0
	shr.u	r20=r25, r21				    //148 	cc:3
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0880 
	st4	[r19]=r20;;				    //148 	cc:6
	adds	r18=bits$, sp				    //149 	cc:0
	adds	r16=op$, sp				    //149 	cc:0
 }
 {   .mmi  //R-Addr: 0X0890 
	adds	r10=bits$, sp;;				    //149 	cc:0
	ld4	r17=[r18]				    //149 	cc:1
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X08a0 
	ld4	r15=[r16];;				    //149 	cc:1
	sub	r11=r17, r15				    //149 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X08b0 
	st4	[r10]=r11;;				    //149 	cc:3
	nop.m	 0
	nop.i	 0;;
 }
$LN47@inflate_fa:

// 150  :             }
// 151  :             Tracevv((stderr, "inflate:         length %u\n", len));
// 152  :             if (bits < 15) {

 {   .mmi  //R-Addr: 0X08c0 
	adds	r9=bits$, sp;;				    //152 	cc:0
	ld4	r8=[r9]					    //152 	cc:1
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X08d0 
	cmp4.leu.unc p14,p15=15, r8			    //152 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.many $LN45@inflate_fa#;;		    //152 	cc:2
 }

// 153  :                 hold += (unsigned long)(PUP(in)) << bits;
// 154  :                 bits += 8;
// 155  :                 hold += (unsigned long)(PUP(in)) << bits;
// 156  :                 bits += 8;

 {   .mmi  //R-Addr: 0X08e0 
	adds	r31=in$, sp				    //153 	cc:0
	adds	r28=in$, sp				    //153 	cc:0
	adds	r27=in$, sp				    //153 	cc:0
 }
 {   .mmi  //R-Addr: 0X08f0 
	adds	r22=bits$, sp				    //153 	cc:0
	adds	r19=hold$, sp				    //153 	cc:0
	adds	r16=hold$, sp;;				    //153 	cc:0
 }
 {   .mmi  //R-Addr: 0X0900 
	ld8	r30=[r31];;				    //153 	cc:1
	adds	r29=1, r30				    //153 	cc:2
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0910 
	st8	[r28]=r29				    //153 	cc:3
	ld8	r26=[r27]				    //153 	cc:3
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X0920 
	ld4	r21=[r22];;				    //153 	cc:3
	ld4	r18=[r19]				    //153 	cc:4
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0930 
	ld1	r25=[r26];;				    //153 	cc:5
	nop.m	 0
	shl	r20=r25, r21;;				    //153 	cc:7
 }
 {   .mmi  //R-Addr: 0X0940 
	add	r17=r18, r20;;				    //153 	cc:10
	st4	[r16]=r17				    //153 	cc:11
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X0950 
	adds	r15=bits$, sp				    //154 	cc:0
	adds	r9=bits$, sp				    //154 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0960 
	ld4	r11=[r15];;				    //154 	cc:1
	adds	r10=8, r11				    //154 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0970 
	st4	[r9]=r10;;				    //154 	cc:3
	adds	r8=in$, sp				    //155 	cc:0
	adds	r29=in$, sp				    //155 	cc:0

⌨️ 快捷键说明

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