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

📄 testzlib.asm

📁 zlib dll in wince 5.0 parfrom
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	mov	gp=r36					    //163 	cc:16
	mov	r8=r0					    //164 	cc:0
	br.cond.sptk.few $LN15@main#;;			    //164 	cc:0
 }
$LN14@main:

// 165  :     }
// 166  : 
// 167  :     if (ReadFileMemory(argv[1],&lFileSize,&FilePtr)==0)

 {   .mmi  //R-Addr: 0X0f0 
	adds	r11=argv$, sp				    //167 	cc:0
	adds	r39=FilePtr$, sp			    //167 	cc:0
	adds	r38=lFileSize$, sp;;			    //167 	cc:0
 }
 {   .mmi  //R-Addr: 0X0100 
	ld8	r10=[r11];;				    //167 	cc:1
	adds	r9=8, r10				    //167 	cc:2
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0110 
	ld8	r37=[r9]				    //167 	cc:3
	nop.m	 0
	br.call.sptk.few b0=ReadFileMemory#;;		    //167 	cc:3
 }
 {   .mib  //R-Addr: 0X0120 
	adds	r31=$T80478, sp				    //167 	cc:14
	adds	r30=$T80478, sp				    //167 	cc:14
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0130 
	st4	[r31]=r8				    //167 	cc:15
	ld4	r29=[r30]				    //167 	cc:15
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0140 
	cmp4.ne.unc p14,p15=r0, r29			    //167 	cc:16
	nop.m	 0
  (p14)	br.cond.dptk.few $LN13@main#;;			    //167 	cc:16
 }

// 168  :     {
// 169  :         printf("error reading %s\n",argv[1]);
// 170  :         return 1;

 {   .mmi  //R-Addr: 0X0150 
	addl	r22=@gprel(__imp_printf#),gp		    //169 	cc:0
	adds	r28=argv$, sp				    //169 	cc:0
	addl	r25=@ltoff($SG80338#),gp;;		    //169 	cc:0
 }
 {   .mmb  //R-Addr: 0X0160 
	ld8	r21=[r22]				    //169 	cc:1
	ld8	r27=[r28]				    //169 	cc:1
	nop.b	 0;;
 }
 {   .mib  //R-Addr: 0X0170 
	ld8	r37=[r25]				    //169 	cc:2
	adds	r26=8, r27				    //169 	cc:2
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0180 
	ld8	r20=[r21], 8				    //169 	cc:3
	ld8	r38=[r26]				    //169 	cc:3
	nop.b	 0;;
 }
 {   .mib  //R-Addr: 0X0190 
	ld8	gp=[r21]				    //169 	cc:4
	mov	b6=r20					    //169 	cc:4
	br.call.dptk.many b0=b6;;			    //169 	cc:4
 }
 {   .mmb  //R-Addr: 0X01a0 
	mov	gp=r36					    //169 	cc:16
	mov	r8=1					    //170 	cc:0
	br.cond.sptk.few $LN15@main#;;			    //170 	cc:0
 }

// 170  :         return 1;

 {   .mmb  //R-Addr: 0X01b0 
	nop.m	 0
	nop.m	 0
	br.cond.sptk.few $LN12@main#;;			    //170 	cc:0
 }
$LN13@main:

// 171  :     }
// 172  :     else printf("file %s read, %u bytes\n",argv[1],lFileSize);

 {   .mmi  //R-Addr: 0X01c0 
	addl	r11=@gprel(__imp_printf#),gp		    //172 	cc:0
	adds	r18=argv$, sp				    //172 	cc:0
	addl	r15=@ltoff($SG80340#),gp		    //172 	cc:0
 }
 {   .mmi  //R-Addr: 0X01d0 
	adds	r19=lFileSize$, sp;;			    //172 	cc:0
	ld8	r10=[r11]				    //172 	cc:1
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X01e0 
	ld8	r17=[r18];;				    //172 	cc:1
	ld4	r39=[r19]				    //172 	cc:2
	adds	r16=8, r17				    //172 	cc:2
 }
 {   .mmi  //R-Addr: 0X01f0 
	ld8	r37=[r15];;				    //172 	cc:2
	ld8	r9=[r10], 8				    //172 	cc:3
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X0200 
	ld8	r38=[r16];;				    //172 	cc:3
	ld8	gp=[r10]				    //172 	cc:4
	mov	b7=r9					    //172 	cc:4
 }
 {   .mmb  //R-Addr: 0X0210 
	nop.m	 0
	nop.m	 0
	br.call.dptk.many b0=b7;;			    //172 	cc:4
 }
 {   .mmb  //R-Addr: 0X0220 
	mov	gp=r36					    //172 	cc:15
	nop.m	 0
	nop.b	 0;;
 }
$LN12@main:

// 173  : 
// 174  :     if (argc>=3)

 {   .mmi  //R-Addr: 0X0230 
	adds	r8=argc$, sp;;				    //174 	cc:0
	ld4	r31=[r8]				    //174 	cc:1
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0240 
	cmp4.gt.unc p14,p15=3, r31			    //174 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.few $LN11@main#;;			    //174 	cc:2
 }

// 175  :         BlockSizeCompress=atol(argv[2]);

 {   .mib  //R-Addr: 0X0250 
	addl	r27=@gprel(__imp_atol#),gp		    //175 	cc:0
	adds	r30=argv$, sp				    //175 	cc:0
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0260 
	ld8	r26=[r27]				    //175 	cc:1
	ld8	r29=[r30]				    //175 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0270 
	adds	r28=16, r29;;				    //175 	cc:2
	ld8	r25=[r26], 8				    //175 	cc:3
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X0280 
	ld8	r37=[r28];;				    //175 	cc:3
	ld8	gp=[r26]				    //175 	cc:4
	mov	b6=r25					    //175 	cc:4
 }
 {   .mmb  //R-Addr: 0X0290 
	nop.m	 0
	nop.m	 0
	br.call.dptk.many b0=b6;;			    //175 	cc:4
 }
 {   .mmi  //R-Addr: 0X02a0 
	adds	r22=$T80479, sp				    //175 	cc:15
	adds	r21=$T80479, sp				    //175 	cc:15
	adds	r19=BlockSizeCompress$, sp		    //175 	cc:15
 }
 {   .mmi  //R-Addr: 0X02b0 
	mov	gp=r36;;				    //175 	cc:15
	st4	[r22]=r8				    //175 	cc:16
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X02c0 
	ld4	r20=[r21];;				    //175 	cc:16
	st4	[r19]=r20				    //175 	cc:17
	nop.i	 0;;
 }
$LN11@main:

// 176  : 
// 177  :     if (argc>=4)

 {   .mmi  //R-Addr: 0X02d0 
	adds	r18=argc$, sp;;				    //177 	cc:0
	ld4	r17=[r18]				    //177 	cc:1
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X02e0 
	cmp4.gt.unc p14,p15=4, r17			    //177 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.few $LN10@main#;;			    //177 	cc:2
 }

// 178  :         BlockSizeUncompress=atol(argv[3]);

 {   .mib  //R-Addr: 0X02f0 
	addl	r10=@gprel(__imp_atol#),gp		    //178 	cc:0
	adds	r16=argv$, sp				    //178 	cc:0
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0300 
	ld8	r9=[r10]				    //178 	cc:1
	ld8	r15=[r16]				    //178 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0310 
	adds	r11=24, r15;;				    //178 	cc:2
	ld8	r8=[r9], 8				    //178 	cc:3
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X0320 
	ld8	r37=[r11];;				    //178 	cc:3
	ld8	gp=[r9]					    //178 	cc:4
	mov	b7=r8					    //178 	cc:4
 }
 {   .mmb  //R-Addr: 0X0330 
	nop.m	 0
	nop.m	 0
	br.call.dptk.many b0=b7;;			    //178 	cc:4
 }
 {   .mmi  //R-Addr: 0X0340 
	adds	r31=$T80480, sp				    //178 	cc:15
	adds	r30=$T80480, sp				    //178 	cc:15
	adds	r28=BlockSizeUncompress$, sp		    //178 	cc:15
 }
 {   .mmi  //R-Addr: 0X0350 
	mov	gp=r36;;				    //178 	cc:15
	st4	[r31]=r8				    //178 	cc:16
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X0360 
	ld4	r29=[r30];;				    //178 	cc:16
	st4	[r28]=r29				    //178 	cc:17
	nop.i	 0;;
 }
$LN10@main:

// 179  : 
// 180  :     if (argc>=5)

 {   .mmi  //R-Addr: 0X0370 
	adds	r27=argc$, sp;;				    //180 	cc:0
	ld4	r26=[r27]				    //180 	cc:1
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0380 
	cmp4.gt.unc p14,p15=5, r26			    //180 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.many $LN9@main#;;			    //180 	cc:2
 }

// 181  :         cprLevel=(int)atol(argv[4]);

 {   .mib  //R-Addr: 0X0390 
	addl	r20=@gprel(__imp_atol#),gp		    //181 	cc:0
	adds	r25=argv$, sp				    //181 	cc:0
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X03a0 
	ld8	r19=[r20]				    //181 	cc:1
	ld8	r22=[r25]				    //181 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X03b0 
	adds	r21=32, r22;;				    //181 	cc:2
	ld8	r18=[r19], 8				    //181 	cc:3
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X03c0 
	ld8	r37=[r21];;				    //181 	cc:3
	ld8	gp=[r19]				    //181 	cc:4
	mov	b6=r18					    //181 	cc:4
 }
 {   .mmb  //R-Addr: 0X03d0 
	nop.m	 0
	nop.m	 0
	br.call.dptk.many b0=b6;;			    //181 	cc:4
 }
 {   .mmi  //R-Addr: 0X03e0 
	adds	r17=$T80481, sp				    //181 	cc:15
	adds	r16=$T80481, sp				    //181 	cc:15
	adds	r11=cprLevel$, sp			    //181 	cc:15
 }
 {   .mmi  //R-Addr: 0X03f0 
	mov	gp=r36;;				    //181 	cc:15
	st4	[r17]=r8				    //181 	cc:16
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X0400 
	ld4	r15=[r16];;				    //181 	cc:16
	st4	[r11]=r15				    //181 	cc:17
	nop.i	 0;;
 }
$LN9@main:

// 182  : 
// 183  :     lBufferSizeCpr = lFileSize + (lFileSize/0x10) + 0x200;
// 184  :     lBufferSizeUncpr = lBufferSizeCpr;
// 185  : 
// 186  :     CprPtr=(unsigned char*)malloc(lBufferSizeCpr + BlockSizeCompress);
// 187  : 
// 188  :     BeginCountPerfCounter(&li_qp,TRUE);
// 189  :     dwGetTick=GetTickCount();
// 190  :     BeginCountRdtsc(&li_rdtsc);
// 191  :     {
// 192  :         z_stream zcpr;
// 193  :         int ret=Z_OK;
// 194  :         long lOrigToDo = lFileSize;
// 195  :         long lOrigDone = 0;
// 196  :         int step=0;
// 197  :         memset(&zcpr,0,sizeof(z_stream));
// 198  :         deflateInit(&zcpr,cprLevel);
// 199  : 
// 200  :         zcpr.next_in = FilePtr;
// 201  :         zcpr.next_out = CprPtr;

 {   .mmi  //R-Addr: 0X0410 
	adds	r10=lFileSize$, sp			    //183 	cc:0
	mov	r8=16					    //183 	cc:0
	mov	r30=65501				    //183 	cc:0, 0000ffddH
 }
 {   .mii  //R-Addr: 0X0420 
	adds	r28=lFileSize$, sp			    //183 	cc:0
	adds	r22=lBufferSizeCpr$, sp;;		    //183 	cc:0
	cmp.eq.unc p15,p0=0, r8				    //183 	cc:1
 }
 {   .mmb  //R-Addr: 0X0430 
	ld4	r9=[r10]				    //183 	cc:1
	setf.sig f7=r8					    //183 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0440 
	setf.exp f8=r30					    //183 	cc:2
  (p15)	break.m	 1					    //183 	cc:2
	sxt4	r31=r9					    //183 	cc:2
 }
 {   .mmi  //R-Addr: 0X0450 
	ld4	r27=[r28];;				    //183 	cc:2
	setf.sig f6=r31					    //183 	cc:3
	nop.i	 0;;
 }
 {   .mfb  //R-Addr: 0X0460 
	nop.m	 0
	fcvt.xf	f7=f7					    //183 	cc:7
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0470 
	nop.m	 0
	fcvt.xf	f6=f6					    //183 	cc:9
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0480 
	nop.m	 0
	frcpa.s1 f9,p6=f6, f7				    //183 	cc:13
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0490 
	nop.m	 0
  (p6)	fma.s1	f6=f6, f9, f0				    //183 	cc:17
	nop.b	 0
 }
 {   .mfb  //R-Addr: 0X04a0 
	nop.m	 0
  (p6)	fnma.s1	f7=f7, f9, f1				    //183 	cc:17
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X04b0 
	nop.m	 0
  (p6)	fma.s1	f6=f7, f6, f6				    //183 	cc:21
	nop.b	 0
 }
 {   .mfb  //R-Addr: 0X04c0 
	nop.m	 0
  (p6)	fma.s1	f7=f7, f7, f8				    //183 	cc:21
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X04d0 
	nop.m	 0
  (p6)	fma.s1	f9=f7, f6, f6, f9			    //183 	cc:25
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X04e0 
	nop.m	 0
	fcvt.fx.trunc.s1 f6=f9, f6			    //183 	cc:29
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X04f0 
	getf.sig r29=f6;;				    //183 	cc:33
	add	r26=r27, r29				    //183 	cc:38
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0500 
	adds	r25=512, r26;;				    //183 	cc:39, 00000200H
	st4	[r22]=r25				    //183 	cc:40
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X0510 
	adds	r21=lBufferSizeCpr$, sp			    //184 	cc:0
	adds	r19=lBufferSizeUncpr$, sp		    //184 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0520 
	ld4	r20=[r21];;				    //184 	cc:1
	st4	[r19]=r20				    //184 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0530 
	addl	r10=@gprel(__imp_malloc#),gp		    //186 	cc:0
	adds	r18=lBufferSizeCpr$, sp			    //186 	cc:0
	adds	r16=BlockSizeCompress$, sp;;		    //186 	cc:0
 }
 {   .mmb  //R-Addr: 0X0540 
	ld8	r9=[r10]				    //186 	cc:1
	ld4	r17=[r18]				    //186 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0550 
	ld4	r15=[r16];;				    //186 	cc:2
	ld8	r8=[r9], 8				    //186 	cc:3
	add	r11=r17, r15;;				    //186 	cc:3
 }
 {   .mii  //R-Addr: 0X0560 
	ld8	gp=[r9]					    //186 	cc:4
	mov	b7=r8					    //186 	cc:4
	sxt4	r37=r11					    //186 	cc:4
 }
 {   .mmb  //R-Addr: 0X0570 
	nop.m	 0
	nop.m	 0
	br.call.dptk.many b0=b7;;			    //186 	cc:4
 }
 {   .mmi  //R-Addr: 0X0580 
	adds	r31=$T80482, sp				    //186 	cc:15
	adds	r30=$T80482, sp				    //186 	cc:15
	adds	r28=CprPtr$, sp				    //186 	cc:15
 }
 {   .mmi  //R-Addr: 0X0590 
	mov	gp=r36;;				    //186 	cc:15
	st8	[r31]=r8				    //186 	cc:16
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X05a0 
	ld8	r29=[r30];;				    //186 	cc:16
	st8	[r28]=r29				    //186 	cc:17
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X05b0 
	mov	r38=1					    //188 	cc:0
	adds	r37=li_qp$, sp				    //188 	cc:0
	br.call.sptk.few b0=BeginCountPerfCounter#;;	    //188 	cc:0
 }
 {   .mmi  //R-Addr: 0X05c0 
	addl	r27=@gprel(__imp_GetTickCount#),gp;;	    //189 	cc:0
	ld8	r26=[r27]				    //189 	cc:1
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X05d0 
	ld8	r25=[r26], 8;;				    //189 	cc:3
	ld8	gp=[r26]				    //189 	cc:4
	mov	b6=r25					    //189 	cc:4
 }
 {   .mmb  //R-Addr: 0X05e0 
	nop.m	 0
	nop.m	 0
	br.call.dptk.many b0=b6;;			    //189 	cc:4
 }
 {   .mmi  //R-Addr: 0X05f0 
	adds	r22=$T80483, sp				    //189 	cc:15
	adds	r21=$T80483, sp				    //189 	cc:15
	adds	r19=dwGetTick$, sp			    //189 	cc:15
 }
 {   .mmi  //R-Addr: 0X0600 
	mov	gp=r36;;				    //189 	cc:15
	st4	[r22]=r8				    //189 	cc:16
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X0610 
	ld4	r20=[r21];;				    //189 	cc:16
	st4	[r19]=r20				    //189 	cc:17
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0620 
	adds	r37=li_rdtsc$, sp			    //190 	cc:0
	nop.m	 0
	br.call.sptk.few b0=BeginCountRdtsc#;;		    //190 	cc:0
 }
 {   .mmi  //R-Addr: 0X0630 
	adds	r18=ret$80347, sp;;			    //193 	cc:0
	st4	[r18]=r0				    //193 	cc:1
	nop.i	 0;;
 }
 {   .mib  //R-Addr: 0X0640 
	adds	r17=lFileSize$, sp			    //194 	cc:0
	adds	r15=lOrigToDo$80348, sp			    //194 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0650 
	ld4	r16=[r17];;				    //194 	cc:1
	st4	[r15]=r16				    //194 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0660 
	adds	r11=lOrigDone$80349, sp;;		    //195 	cc:0
	st4	[r11]=r0				    //195 	cc:1
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0670 
	adds	r10=step$80350, sp;;			    //196 	cc:0

⌨️ 快捷键说明

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