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

📄 adler32.asm

📁 zlib dll in wince 5.0 parfrom
💻 ASM
📖 第 1 页 / 共 5 页
字号:
 }
 {   .mmi  //R-Addr: 0X0af0 
	st4	[r18]=r19				    //101 	cc:3
	adds	r17=buf$, sp				    //101 	cc:3
	adds	r10=adler$, sp				    //101 	cc:3
 }
 {   .mmi  //R-Addr: 0X0b00 
	adds	r31=adler$, sp				    //101 	cc:3
	adds	r30=sum2$, sp				    //101 	cc:3
	adds	r28=adler$, sp;;			    //101 	cc:3
 }
 {   .mmi  //R-Addr: 0X0b10 
	ld8	r16=[r17]				    //101 	cc:4
	ld4	r9=[r10]				    //101 	cc:4
	adds	r25=sum2$, sp;;				    //101 	cc:4
 }
 {   .mmi  //R-Addr: 0X0b20 
	adds	r15=14, r16;;				    //101 	cc:5
	ld1	r11=[r15]				    //101 	cc:6
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0b30 
	add	r8=r9, r11;;				    //101 	cc:7
	st4	[r31]=r8				    //101 	cc:8
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0b40 
	ld4	r29=[r30]				    //101 	cc:8
	ld4	r27=[r28]				    //101 	cc:8
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0b50 
	add	r26=r29, r27;;				    //101 	cc:9
	st4	[r25]=r26				    //101 	cc:10
	adds	r22=buf$, sp				    //101 	cc:10
 }
 {   .mmi  //R-Addr: 0X0b60 
	adds	r18=adler$, sp				    //101 	cc:10
	adds	r15=adler$, sp				    //101 	cc:10
	adds	r11=sum2$, sp;;				    //101 	cc:10
 }
 {   .mmi  //R-Addr: 0X0b70 
	ld8	r21=[r22]				    //101 	cc:11
	ld4	r17=[r18]				    //101 	cc:11
	adds	r9=adler$, sp				    //101 	cc:11
 }
 {   .mmi  //R-Addr: 0X0b80 
	adds	r30=sum2$, sp;;				    //101 	cc:11
	adds	r20=15, r21				    //101 	cc:12
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0b90 
	ld1	r19=[r20];;				    //101 	cc:13
	add	r16=r17, r19				    //101 	cc:14
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0ba0 
	st4	[r15]=r16				    //101 	cc:15
	ld4	r10=[r11]				    //101 	cc:15
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X0bb0 
	ld4	r8=[r9];;				    //101 	cc:15
	add	r31=r10, r8				    //101 	cc:16
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0bc0 
	st4	[r30]=r31;;				    //101 	cc:17
	adds	r29=buf$, sp				    //102 	cc:0
	adds	r26=buf$, sp;;				    //102 	cc:0
 }
 {   .mmi  //R-Addr: 0X0bd0 
	ld8	r28=[r29];;				    //102 	cc:1
	adds	r27=16, r28				    //102 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0be0 
	st8	[r26]=r27;;				    //102 	cc:3
	adds	r25=n$, sp				    //103 	cc:0
	adds	r20=n$, sp				    //103 	cc:0
 }
 {   .mmi  //R-Addr: 0X0bf0 
	adds	r19=n$, sp;;				    //103 	cc:0
	ld4	r22=[r25]				    //103 	cc:1
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0c00 
	adds	r21=-1, r22;;				    //103 	cc:2
	st4	[r20]=r21				    //103 	cc:3
	nop.i	 0
 }
 {   .mmi  //R-Addr: 0X0c10 
	ld4	r18=[r19];;				    //103 	cc:3
	cmp4.ne.unc p14,p15=r0, r18			    //103 	cc:4
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0c20 
	nop.m	 0
	nop.m	 0
  (p14)	br.cond.dptk.many $LN8@adler32#;;		    //103 	cc:4
 }

// 104  :         MOD(adler);
// 105  :         MOD(sum2);
// 106  :     }

 {   .mmi  //R-Addr: 0X0c30 
	adds	r17=adler$, sp				    //104 	cc:0
	mov	r15=65521				    //104 	cc:0, 0000fff1H
	mov	r11=65501				    //104 	cc:0, 0000ffddH
 }
 {   .mmi  //R-Addr: 0X0c40 
	adds	r9=adler$, sp;;				    //104 	cc:0
	ld4	r16=[r17]				    //104 	cc:1
	cmp.eq.unc p15,p0=0, r15			    //104 	cc:1
 }
 {   .mmi  //R-Addr: 0X0c50 
	setf.sig f14=r15				    //104 	cc:1
	setf.exp f33=r11				    //104 	cc:1
	sub	r11=r0, r15, r11;;			    //104 	cc:1
 }
 {   .mib  //R-Addr: 0X0c60 
	setf.sig f13=r16				    //104 	cc:2
  (p15)	break.i	 1					    //104 	cc:2
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0c70 
	nop.m	 0
	fcvt.xuf.s1 f32=f14				    //104 	cc:7
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0c80 
	nop.m	 0
	fcvt.xuf.s1 f15=f13				    //104 	cc:8
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0c90 
	nop.m	 0
	frcpa.s1 f34,p7=f15, f32			    //104 	cc:12
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0ca0 
	nop.m	 0
  (p7)	fma.s1	f35=f15, f34, f0			    //104 	cc:16
	nop.b	 0
 }
 {   .mfb  //R-Addr: 0X0cb0 
	nop.m	 0
  (p7)	fnma.s1	f34=f32, f34, f1			    //104 	cc:16
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0cc0 
	setf.sig f32=r11, f32				    //104 	cc:17
	nop.m	 0
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0cd0 
	nop.m	 0
  (p7)	fma.s1	f15=f34, f34, f33, f15			    //104 	cc:20
	nop.b	 0
 }
 {   .mfb  //R-Addr: 0X0ce0 
	nop.m	 0
  (p7)	fma.s1	f35=f34, f35, f35			    //104 	cc:20
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0cf0 
	nop.m	 0
  (p7)	fma.s1	f34=f15, f35, f35, f34			    //104 	cc:24
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0d00 
	nop.m	 0
	fcvt.fxu.trunc.s1 f15=f34, f15			    //104 	cc:28
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0d10 
	nop.m	 0
	xma.l	f34=f15, f32, f13, f34			    //104 	cc:32
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0d20 
	getf.sig r10=f34;;				    //104 	cc:36
	st4	[r9]=r10				    //104 	cc:41
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0d30 
	adds	r8=sum2$, sp				    //105 	cc:0
	mov	r30=65521				    //105 	cc:0, 0000fff1H
	mov	r29=65501				    //105 	cc:0, 0000ffddH
 }
 {   .mmi  //R-Addr: 0X0d40 
	adds	r27=sum2$, sp;;				    //105 	cc:0
	ld4	r31=[r8]				    //105 	cc:1
	cmp.eq.unc p15,p0=0, r30			    //105 	cc:1
 }
 {   .mmi  //R-Addr: 0X0d50 
	setf.sig f37=r30				    //105 	cc:1
	setf.exp f40=r29				    //105 	cc:1
	sub	r29=r0, r30, r29;;			    //105 	cc:1
 }
 {   .mib  //R-Addr: 0X0d60 
	setf.sig f36=r31				    //105 	cc:2
  (p15)	break.i	 1					    //105 	cc:2
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0d70 
	nop.m	 0
	fcvt.xuf.s1 f39=f37				    //105 	cc:7
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0d80 
	nop.m	 0
	fcvt.xuf.s1 f38=f36				    //105 	cc:8
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0d90 
	nop.m	 0
	frcpa.s1 f41,p8=f38, f39			    //105 	cc:12
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0da0 
	nop.m	 0
  (p8)	fma.s1	f42=f38, f41, f0			    //105 	cc:16
	nop.b	 0
 }
 {   .mfb  //R-Addr: 0X0db0 
	nop.m	 0
  (p8)	fnma.s1	f41=f39, f41, f1			    //105 	cc:16
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0dc0 
	setf.sig f39=r29, f39				    //105 	cc:17
	nop.m	 0
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0dd0 
	nop.m	 0
  (p8)	fma.s1	f38=f41, f41, f40, f38			    //105 	cc:20
	nop.b	 0
 }
 {   .mfb  //R-Addr: 0X0de0 
	nop.m	 0
  (p8)	fma.s1	f42=f41, f42, f42			    //105 	cc:20
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0df0 
	nop.m	 0
  (p8)	fma.s1	f41=f38, f42, f42, f41			    //105 	cc:24
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0e00 
	nop.m	 0
	fcvt.fxu.trunc.s1 f38=f41, f38			    //105 	cc:28
	nop.b	 0;;
 }
 {   .mfb  //R-Addr: 0X0e10 
	nop.m	 0
	xma.l	f41=f38, f39, f36, f41			    //105 	cc:32
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0e20 
	getf.sig r28=f41;;				    //105 	cc:36
	st4	[r27]=r28				    //105 	cc:41
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0e30 
	nop.m	 0
	nop.m	 0
	br.cond.sptk.few $LN10@adler32#;;		    //106 	cc:0
 }
$LN9@adler32:

// 107  : 
// 108  :     /* do remaining bytes (less than NMAX, still just one modulo) */
// 109  :     if (len) {                  /* avoid modulos if none remaining */

 {   .mmi  //R-Addr: 0X0e40 
	adds	r26=len$, sp;;				    //109 	cc:0
	ld4	r25=[r26]				    //109 	cc:1
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0e50 
	cmp4.eq.unc p14,p15=r0, r25			    //109 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.few $LN5@adler32#;;		    //109 	cc:2
 }
$LN4@adler32:

// 110  :         while (len >= 16) {

 {   .mmi  //R-Addr: 0X0e60 
	adds	r22=len$, sp;;				    //110 	cc:0
	ld4	r21=[r22]				    //110 	cc:1
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0e70 
	cmp4.gtu.unc p14,p15=16, r21			    //110 	cc:2
	nop.m	 0
  (p14)	br.cond.dptk.few $LN2@adler32#;;		    //110 	cc:2
 }

// 111  :             len -= 16;
// 112  :             DO16(buf);
// 113  :             buf += 16;
// 114  :         }

 {   .mib  //R-Addr: 0X0e80 
	adds	r20=len$, sp				    //111 	cc:0
	adds	r17=len$, sp				    //111 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0e90 
	ld4	r19=[r20];;				    //111 	cc:1
	adds	r18=-16, r19				    //111 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0ea0 
	st4	[r17]=r18;;				    //111 	cc:3
	adds	r16=buf$, sp				    //112 	cc:0
	adds	r10=adler$, sp				    //112 	cc:0
 }
 {   .mmi  //R-Addr: 0X0eb0 
	adds	r31=adler$, sp				    //112 	cc:0
	adds	r30=sum2$, sp				    //112 	cc:0
	adds	r28=adler$, sp;;			    //112 	cc:0
 }
 {   .mmi  //R-Addr: 0X0ec0 
	ld8	r15=[r16]				    //112 	cc:1
	ld4	r9=[r10]				    //112 	cc:1
	adds	r25=sum2$, sp;;				    //112 	cc:1
 }
 {   .mmi  //R-Addr: 0X0ed0 
	ld1	r11=[r15];;				    //112 	cc:3
	add	r8=r9, r11				    //112 	cc:4
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0ee0 
	st4	[r31]=r8				    //112 	cc:5
	ld4	r29=[r30]				    //112 	cc:5
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X0ef0 
	ld4	r27=[r28];;				    //112 	cc:5
	add	r26=r29, r27				    //112 	cc:6
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0f00 
	st4	[r25]=r26				    //112 	cc:7
	adds	r22=buf$, sp				    //112 	cc:7
	adds	r18=adler$, sp				    //112 	cc:7
 }
 {   .mmi  //R-Addr: 0X0f10 
	adds	r15=adler$, sp				    //112 	cc:7
	adds	r11=sum2$, sp				    //112 	cc:7
	adds	r9=adler$, sp;;				    //112 	cc:7
 }
 {   .mmi  //R-Addr: 0X0f20 
	ld8	r21=[r22]				    //112 	cc:8
	ld4	r17=[r18]				    //112 	cc:8
	adds	r30=sum2$, sp;;				    //112 	cc:8
 }
 {   .mmi  //R-Addr: 0X0f30 
	adds	r20=1, r21;;				    //112 	cc:9
	ld1	r19=[r20]				    //112 	cc:10
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0f40 
	add	r16=r17, r19;;				    //112 	cc:11
	st4	[r15]=r16				    //112 	cc:12
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0f50 
	ld4	r10=[r11]				    //112 	cc:12
	ld4	r8=[r9]					    //112 	cc:12
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0f60 
	add	r31=r10, r8;;				    //112 	cc:13
	st4	[r30]=r31				    //112 	cc:14
	adds	r29=buf$, sp				    //112 	cc:14
 }
 {   .mmi  //R-Addr: 0X0f70 
	adds	r25=adler$, sp				    //112 	cc:14
	adds	r20=adler$, sp				    //112 	cc:14
	adds	r19=sum2$, sp;;				    //112 	cc:14
 }
 {   .mmi  //R-Addr: 0X0f80 
	ld8	r28=[r29]				    //112 	cc:15
	ld4	r22=[r25]				    //112 	cc:15
	adds	r17=adler$, sp				    //112 	cc:15
 }
 {   .mmi  //R-Addr: 0X0f90 
	adds	r11=sum2$, sp;;				    //112 	cc:15
	adds	r27=2, r28				    //112 	cc:16
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0fa0 
	ld1	r26=[r27];;				    //112 	cc:17
	add	r21=r22, r26				    //112 	cc:18
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0fb0 
	st4	[r20]=r21				    //112 	cc:19
	ld4	r18=[r19]				    //112 	cc:19
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X0fc0 
	ld4	r16=[r17];;				    //112 	cc:19
	add	r15=r18, r16				    //112 	cc:20
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0fd0 
	st4	[r11]=r15				    //112 	cc:21
	adds	r10=buf$, sp				    //112 	cc:21
	adds	r30=adler$, sp				    //112 	cc:21
 }
 {   .mmi  //R-Addr: 0X0fe0 
	adds	r27=adler$, sp				    //112 	cc:21
	adds	r26=sum2$, sp				    //112 	cc:21
	adds	r22=adler$, sp;;			    //112 	cc:21
 }
 {   .mmi  //R-Addr: 0X0ff0 
	ld8	r9=[r10]				    //112 	cc:22
	ld4	r29=[r30]				    //112 	cc:22
	adds	r19=sum2$, sp;;				    //112 	cc:22
 }
 {   .mmi  //R-Addr: 0X01000 
	adds	r8=3, r9;;				    //112 	cc:23
	ld1	r31=[r8]				    //112 	cc:24
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X01010 
	add	r28=r29, r31;;				    //112 	cc:25
	st4	[r27]=r28				    //112 	cc:26
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X01020 
	ld4	r25=[r26]				    //112 	cc:26
	ld4	r21=[r22]				    //112 	cc:26
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01030 
	add	r20=r25, r21;;				    //112 	cc:27
	st4	[r19]=r20				    //112 	cc:28
	adds	r18=buf$, sp				    //112 	cc:28
 }
 {   .mmi  //R-Addr: 0X01040 
	adds	r11=adler$, sp				    //112 	cc:28
	adds	r8=adler$, sp				    //112 	cc:28
	adds	r31=sum2$, sp;;				    //112 	cc:28
 }
 {   .mmb  //R-Addr: 0X01050 
	ld8	r17=[r18]				    //112 	cc:29
	ld4	r10=[r11]				    //112 	cc:29
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01060 
	adds	r16=4, r17;;				    //112 	cc:30
	ld1	r15=[r16]				    //112 	cc:31
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X01070 
	add	r9=r10, r15;;				    //112 	cc:32
	st4	[r8]=r9					    //112 	cc:33
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X01080 
	ld4	r30=[r31]				    //112 	cc:0
	adds	r29=adler$, sp				    //112 	cc:0
	adds	r26=sum2$, sp;;				    //112 	cc:0
 }
 {   .mmi  //R-Addr: 0X01090 
	ld4	r28=[r29];;				    //112 	cc:1
	add	r27=r30, r28				    //112 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X010a0 
	st4	[r26]=r27				    //112 	cc:3
	adds	r25=buf$, sp				    //112 	cc:3
	adds	r19=adler$, sp				    //112 	cc:3
 }
 {   .mmi  //R-Addr: 0X010b0 
	adds	r16=adler$, sp				    //112 	cc:3
	adds	r15=sum2$, sp				    //112 	cc:3
	adds	r10=adler$, sp;;			    //112 	cc:3
 }
 {   .mmi  //R-Addr: 0X010c0 
	ld8	r22=[r25]				    //112 	cc:4
	ld4	r18=[r19]				    //112 	cc:4
	adds	r31=sum2$, sp;;				    //112 	cc:4
 }
 {   .mmi  //R-Addr: 0X010d0 
	adds	r21=5, r22;;				    //112 	cc:5
	ld1	r20=[r21]				    //112 	cc:6
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X010e0 
	add	r17=r18, r20;;				    //112 	cc:7
	st4	[r16]=r17				    //112 	cc:8
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X010f0 
	ld4	r11=[r15]				    //112 	cc:8
	ld4	r9=[r10]				    //112 	cc:8
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X01100 
	add	r8=r11, r9;;				    //112 	cc:9
	st4	[r31]=r8				    //112 	cc:10
	adds	r30=buf$, sp				    //112 	cc:10
 }
 {   .mmi  //R-Addr: 0X01110 
	adds	r26=adler$, sp				    //112 	cc:10
	adds	r21=adler$, sp				    //112 	cc:10
	adds	r20=sum2$, sp;;				    //112 	cc:10

⌨️ 快捷键说明

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