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

📄 inffast.asm

📁 zlib dll in wince 5.0 parfrom
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0ef0 
	nop.m	 0
	nop.m	 0
	br.cond.sptk.many $LN52@inflate_fa#;;		    //192 	cc:0
 }
$LN40@inflate_fa:

// 193  :                     }
// 194  :                     from = window - OFF;
// 195  :                     if (write == 0) {           /* very common case */

 {   .mib  //R-Addr: 0X0f00 
	adds	r27=window$, sp				    //194 	cc:0
	adds	r22=from$, sp				    //194 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0f10 
	ld8	r26=[r27];;				    //194 	cc:1
	adds	r25=-1, r26				    //194 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0f20 
	st8	[r22]=r25;;				    //194 	cc:3
	adds	r21=write$, sp				    //195 	cc:0
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0f30 
	ld4	r20=[r21];;				    //195 	cc:1
	cmp4.ne.unc p14,p15=r0, r20			    //195 	cc:2
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0f40 
	nop.m	 0
	nop.m	 0
  (p14)	br.cond.dptk.few $LN39@inflate_fa#;;		    //195 	cc:2
 }

// 196  :                         from += wsize - op;
// 197  :                         if (op < len) {         /* some from window */

 {   .mmi  //R-Addr: 0X0f50 
	adds	r19=wsize$, sp				    //196 	cc:0
	adds	r17=op$, sp				    //196 	cc:0
	adds	r10=from$, sp				    //196 	cc:0
 }
 {   .mmi  //R-Addr: 0X0f60 
	adds	r31=from$, sp;;				    //196 	cc:0
	ld4	r18=[r19]				    //196 	cc:1
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X0f70 
	ld4	r16=[r17];;				    //196 	cc:1
	ld8	r9=[r10]				    //196 	cc:2
	sub	r15=r18, r16;;				    //196 	cc:2
 }
 {   .mii  //R-Addr: 0X0f80 
	nop.m	 0
	zxt4	r11=r15;;				    //196 	cc:3
	add	r8=r9, r11;;				    //196 	cc:4
 }
 {   .mmi  //R-Addr: 0X0f90 
	st8	[r31]=r8;;				    //196 	cc:5
	adds	r30=op$, sp				    //197 	cc:0
	adds	r28=len$, sp;;				    //197 	cc:0
 }
 {   .mmb  //R-Addr: 0X0fa0 
	ld4	r29=[r30]				    //197 	cc:1
	ld4	r27=[r28]				    //197 	cc:1
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0fb0 
	cmp4.geu.unc p14,p15=r29, r27			    //197 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.few $LN38@inflate_fa#;;		    //197 	cc:2
 }

// 198  :                             len -= op;

 {   .mmi  //R-Addr: 0X0fc0 
	adds	r26=len$, sp				    //198 	cc:0
	adds	r22=op$, sp				    //198 	cc:0
	adds	r19=len$, sp;;				    //198 	cc:0
 }
 {   .mmb  //R-Addr: 0X0fd0 
	ld4	r25=[r26]				    //198 	cc:1
	ld4	r21=[r22]				    //198 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0fe0 
	sub	r20=r25, r21;;				    //198 	cc:2
	st4	[r19]=r20				    //198 	cc:3
	nop.i	 0;;
 }
$LN37@inflate_fa:

// 199  :                             do {
// 200  :                                 PUP(out) = PUP(from);
// 201  :                             } while (--op);

 {   .mmi  //R-Addr: 0X0ff0 
	adds	r18=from$, sp				    //200 	cc:0
	adds	r15=from$, sp				    //200 	cc:0
	adds	r11=out$, sp				    //200 	cc:0
 }
 {   .mmi  //R-Addr: 0X01000 
	adds	r8=out$, sp				    //200 	cc:0
	adds	r31=from$, sp				    //200 	cc:0
	adds	r28=out$, sp;;				    //200 	cc:0
 }
 {   .mmi  //R-Addr: 0X01010 
	ld8	r17=[r18];;				    //200 	cc:1
	adds	r16=1, r17				    //200 	cc:2
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X01020 
	st8	[r15]=r16				    //200 	cc:3
	ld8	r10=[r11]				    //200 	cc:3
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01030 
	adds	r9=1, r10;;				    //200 	cc:4
	st8	[r8]=r9					    //200 	cc:5
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X01040 
	ld8	r30=[r31]				    //200 	cc:5
	ld8	r27=[r28]				    //200 	cc:5
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01050 
	ld1	r29=[r30];;				    //200 	cc:7
	st1	[r27]=r29				    //200 	cc:8
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X01060 
	adds	r26=op$, sp				    //201 	cc:0
	adds	r21=op$, sp				    //201 	cc:0
	adds	r20=op$, sp;;				    //201 	cc:0
 }
 {   .mmi  //R-Addr: 0X01070 
	ld4	r25=[r26];;				    //201 	cc:1
	adds	r22=-1, r25				    //201 	cc:2
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X01080 
	st4	[r21]=r22				    //201 	cc:3
	ld4	r19=[r20]				    //201 	cc:3
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X01090 
	cmp4.ne.unc p14,p15=r0, r19			    //201 	cc:4
	nop.m	 0
  (p14)	br.cond.dptk.many $LN37@inflate_fa#;;		    //201 	cc:4
 }

// 202  :                             from = out - dist;  /* rest from output */

 {   .mmi  //R-Addr: 0X010a0 
	adds	r18=dist$, sp				    //202 	cc:0
	adds	r16=out$, sp				    //202 	cc:0
	adds	r10=from$, sp;;				    //202 	cc:0
 }
 {   .mmb  //R-Addr: 0X010b0 
	ld4	r17=[r18]				    //202 	cc:1
	ld8	r15=[r16]				    //202 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X010c0 
	sub	r11=r15, r17;;				    //202 	cc:2
	st8	[r10]=r11				    //202 	cc:3
	nop.i	 0;;
 }
$LN38@inflate_fa:

// 203  :                         }

 {   .mmb  //R-Addr: 0X010d0 
	nop.m	 0
	nop.m	 0
	br.cond.sptk.few $LN19@inflate_fa#;;		    //203 	cc:0
 }
$LN39@inflate_fa:

// 204  :                     }
// 205  :                     else if (write < op) {      /* wrap around window */

 {   .mib  //R-Addr: 0X010e0 
	adds	r9=write$, sp				    //205 	cc:0
	adds	r31=op$, sp				    //205 	cc:0
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X010f0 
	ld4	r8=[r9]					    //205 	cc:1
	ld4	r30=[r31]				    //205 	cc:1
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X01100 
	cmp4.geu.unc p14,p15=r8, r30			    //205 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.few $LN33@inflate_fa#;;		    //205 	cc:2
 }

// 206  :                         from += wsize + write - op;
// 207  :                         op -= write;
// 208  :                         if (op < len) {         /* some from end of window */

 {   .mmi  //R-Addr: 0X01110 
	adds	r29=wsize$, sp				    //206 	cc:0
	adds	r27=write$, sp				    //206 	cc:0
	adds	r22=op$, sp				    //206 	cc:0
 }
 {   .mib  //R-Addr: 0X01120 
	adds	r18=from$, sp				    //206 	cc:0
	adds	r15=from$, sp				    //206 	cc:0
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X01130 
	ld4	r28=[r29]				    //206 	cc:1
	ld4	r26=[r27]				    //206 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01140 
	ld4	r21=[r22]				    //206 	cc:2
	ld8	r17=[r18]				    //206 	cc:2
	add	r25=r28, r26;;				    //206 	cc:2
 }
 {   .mmi  //R-Addr: 0X01150 
	sub	r20=r25, r21;;				    //206 	cc:3
	nop.m	 0
	zxt4	r19=r20;;				    //206 	cc:4
 }
 {   .mmi  //R-Addr: 0X01160 
	add	r16=r17, r19;;				    //206 	cc:5
	st8	[r15]=r16				    //206 	cc:6
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X01170 
	adds	r11=op$, sp				    //207 	cc:0
	adds	r9=write$, sp				    //207 	cc:0
	adds	r30=op$, sp;;				    //207 	cc:0
 }
 {   .mmb  //R-Addr: 0X01180 
	ld4	r10=[r11]				    //207 	cc:1
	ld4	r8=[r9]					    //207 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01190 
	sub	r31=r10, r8;;				    //207 	cc:2
	st4	[r30]=r31				    //207 	cc:3
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X011a0 
	adds	r29=op$, sp				    //208 	cc:0
	adds	r27=len$, sp				    //208 	cc:0
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X011b0 
	ld4	r28=[r29]				    //208 	cc:1
	ld4	r26=[r27]				    //208 	cc:1
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X011c0 
	cmp4.geu.unc p14,p15=r28, r26			    //208 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.few $LN32@inflate_fa#;;		    //208 	cc:2
 }

// 209  :                             len -= op;

 {   .mmi  //R-Addr: 0X011d0 
	adds	r25=len$, sp				    //209 	cc:0
	adds	r21=op$, sp				    //209 	cc:0
	adds	r18=len$, sp;;				    //209 	cc:0
 }
 {   .mmb  //R-Addr: 0X011e0 
	ld4	r22=[r25]				    //209 	cc:1
	ld4	r20=[r21]				    //209 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X011f0 
	sub	r19=r22, r20;;				    //209 	cc:2
	st4	[r18]=r19				    //209 	cc:3
	nop.i	 0;;
 }
$LN31@inflate_fa:

// 210  :                             do {
// 211  :                                 PUP(out) = PUP(from);
// 212  :                             } while (--op);

 {   .mmi  //R-Addr: 0X01200 
	adds	r17=from$, sp				    //211 	cc:0
	adds	r11=from$, sp				    //211 	cc:0
	adds	r10=out$, sp				    //211 	cc:0
 }
 {   .mmi  //R-Addr: 0X01210 
	adds	r31=out$, sp				    //211 	cc:0
	adds	r30=from$, sp				    //211 	cc:0
	adds	r27=out$, sp;;				    //211 	cc:0
 }
 {   .mmi  //R-Addr: 0X01220 
	ld8	r16=[r17];;				    //211 	cc:1
	adds	r15=1, r16				    //211 	cc:2
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X01230 
	st8	[r11]=r15				    //211 	cc:3
	ld8	r9=[r10]				    //211 	cc:3
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01240 
	adds	r8=1, r9;;				    //211 	cc:4
	st8	[r31]=r8				    //211 	cc:5
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X01250 
	ld8	r29=[r30]				    //211 	cc:5
	ld8	r26=[r27]				    //211 	cc:5
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01260 
	ld1	r28=[r29];;				    //211 	cc:7
	st1	[r26]=r28				    //211 	cc:8
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X01270 
	adds	r25=op$, sp				    //212 	cc:0
	adds	r20=op$, sp				    //212 	cc:0
	adds	r19=op$, sp;;				    //212 	cc:0
 }
 {   .mmi  //R-Addr: 0X01280 
	ld4	r22=[r25];;				    //212 	cc:1
	adds	r21=-1, r22				    //212 	cc:2
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X01290 
	st4	[r20]=r21				    //212 	cc:3
	ld4	r18=[r19]				    //212 	cc:3
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X012a0 
	cmp4.ne.unc p14,p15=r0, r18			    //212 	cc:4
	nop.m	 0
  (p14)	br.cond.dptk.many $LN31@inflate_fa#;;		    //212 	cc:4
 }

// 213  :                             from = window - OFF;
// 214  :                             if (write < len) {  /* some from start of window */

 {   .mib  //R-Addr: 0X012b0 
	adds	r17=window$, sp				    //213 	cc:0
	adds	r11=from$, sp				    //213 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X012c0 
	ld8	r16=[r17];;				    //213 	cc:1
	adds	r15=-1, r16				    //213 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X012d0 
	st8	[r11]=r15;;				    //213 	cc:3
	adds	r10=write$, sp				    //214 	cc:0
	adds	r8=len$, sp;;				    //214 	cc:0
 }
 {   .mmb  //R-Addr: 0X012e0 
	ld4	r9=[r10]				    //214 	cc:1
	ld4	r31=[r8]				    //214 	cc:1
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X012f0 
	cmp4.geu.unc p14,p15=r9, r31			    //214 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.few $LN32@inflate_fa#;;		    //214 	cc:2
 }

// 215  :                                 op = write;
// 216  :                                 len -= op;

 {   .mib  //R-Addr: 0X01300 
	adds	r30=write$, sp				    //215 	cc:0
	adds	r28=op$, sp				    //215 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01310 
	ld4	r29=[r30];;				    //215 	cc:1
	st4	[r28]=r29				    //215 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X01320 
	adds	r27=len$, sp				    //216 	cc:0
	adds	r25=op$, sp				    //216 	cc:0
	adds	r20=len$, sp;;				    //216 	cc:0
 }
 {   .mmb  //R-Addr: 0X01330 
	ld4	r26=[r27]				    //216 	cc:1
	ld4	r22=[r25]				    //216 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01340 
	sub	r21=r26, r22;;				    //216 	cc:2
	st4	[r20]=r21				    //216 	cc:3
	nop.i	 0;;
 }
$LN27@inflate_fa:

// 217  :                                 do {
// 218  :                                     PUP(out) = PUP(from);
// 219  :                                 } while (--op);

 {   .mmi  //R-Addr: 0X01350 
	adds	r19=from$, sp				    //218 	cc:0
	adds	r16=from$, sp				    //218 	cc:0
	adds	r15=out$, sp				    //218 	cc:0
 }
 {   .mmi  //R-Addr: 0X01360 
	adds	r9=out$, sp				    //218 	cc:0
	adds	r8=from$, sp				    //218 	cc:0
	adds	r29=out$, sp;;				    //218 	cc:0
 }
 {   .mmi  //R-Addr: 0X01370 
	ld8	r18=[r19];;				    //218 	cc:1
	adds	r17=1, r18				    //218 	cc:2
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X01380 
	st8	[r16]=r17				    //218 	cc:3
	ld8	r11=[r15]				    //218 	cc:3
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01390 
	adds	r10=1, r11;;				    //218 	cc:4
	st8	[r9]=r10				    //218 	cc:5
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X013a0 
	ld8	r31=[r8]				    //218 	cc:5
	ld8	r28=[r29]				    //218 	cc:5
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X013b0 
	ld1	r30=[r31];;				    //218 	cc:7
	st1	[r28]=r30				    //218 	cc:8
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X013c0 
	adds	r27=op$, sp				    //219 	cc:0
	adds	r22=op$, sp				    //219 	cc:0
	adds	r21=op$, sp;;				    //219 	cc:0
 }
 {   .mmi  //R-Addr: 0X013d0 
	ld4	r26=[r27];;				    //219 	cc:1
	adds	r25=-1, r26				    //219 	cc:2
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X013e0 
	st4	[r22]=r25				    //219 	cc:3
	ld4	r20=[r21]				    //219 	cc:3
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X013f0 
	cmp4.ne.unc p14,p15=r0, r20			    //219 	cc:4
	nop.m	 0
  (p14)	br.cond.dptk.many $LN27@inflate_fa#;;		    //219 	cc:4
 }

// 220  :                                 from = out - dist;      /* rest from output */

 {   .mmi  //R-Addr: 0X01400 
	adds	r19=dist$, sp				    //220 	cc:0
	adds	r17=out$, sp				    //220 	cc:0
	adds	r11=from$, sp;;				    //220 	cc:0
 }
 {   .mmb  //R-Addr: 0X01410 
	ld4	r18=[r19]				    //220 	cc:1
	ld8	r16=[r17]				    //220 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01420 
	sub	r15=r16, r18;;				    //220 	cc:2
	st8	[r11]=r15				    //220 	cc:3
	nop.i	 0;;
 }
$LN32@inflate_fa:

// 221  :                             }
// 222  :                         }
// 223  :                     }

⌨️ 快捷键说明

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