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

📄 adler32.asm

📁 zlib dll in wince 5.0 parfrom
💻 ASM
📖 第 1 页 / 共 5 页
字号:
	nop.m	 0
	shl	r15=r16, 16;;				    //93 	cc:2
	or	r8=r10, r15				    //93 	cc:3
 }
 {   .mmb  //R-Addr: 0X04c0 
	nop.m	 0
	nop.m	 0
	br.cond.sptk.few $LN19@adler32#;;		    //93 	cc:3
 }
$LN10@adler32:

// 94   :     }
// 95   : 
// 96   :     /* do length NMAX blocks -- requires just one modulo operation */
// 97   :     while (len >= NMAX) {

 {   .mib  //R-Addr: 0X04d0 
	adds	r9=len$, sp				    //97 	cc:0
	mov	r31=5552				    //97 	cc:0, 000015b0H
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X04e0 
	ld4	r8=[r9];;				    //97 	cc:1
	cmp4.gtu.unc p14,p15=r31, r8			    //97 	cc:2
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X04f0 
	nop.m	 0
	nop.m	 0
  (p14)	br.cond.dptk.few $LN9@adler32#;;		    //97 	cc:2
 }

// 98   :         len -= NMAX;
// 99   :         n = NMAX / 16;          /* NMAX is divisible by 16 */

 {   .mib  //R-Addr: 0X0500 
	adds	r30=len$, sp				    //98 	cc:0
	adds	r27=len$, sp				    //98 	cc:0
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0510 
	ld4	r29=[r30];;				    //98 	cc:1
	adds	r28=-5552, r29				    //98 	cc:2, ffffea50H
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0520 
	st4	[r27]=r28;;				    //98 	cc:3
	mov	r26=347					    //99 	cc:0, 0000015bH
	adds	r25=n$, sp;;				    //99 	cc:0
 }
 {   .mmb  //R-Addr: 0X0530 
	st4	[r25]=r26				    //99 	cc:1
	nop.m	 0
	nop.b	 0;;
 }
$LN8@adler32:

// 100  :         do {
// 101  :             DO16(buf);          /* 16 sums unrolled */
// 102  :             buf += 16;
// 103  :         } while (--n);

 {   .mmi  //R-Addr: 0X0540 
	adds	r22=buf$, sp				    //101 	cc:0
	adds	r19=adler$, sp				    //101 	cc:0
	adds	r16=adler$, sp				    //101 	cc:0
 }
 {   .mmi  //R-Addr: 0X0550 
	adds	r15=sum2$, sp				    //101 	cc:0
	adds	r10=adler$, sp				    //101 	cc:0
	adds	r31=sum2$, sp;;				    //101 	cc:0
 }
 {   .mmb  //R-Addr: 0X0560 
	ld8	r21=[r22]				    //101 	cc:1
	ld4	r18=[r19]				    //101 	cc:1
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0570 
	ld1	r20=[r21];;				    //101 	cc:3
	add	r17=r18, r20				    //101 	cc:4
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0580 
	st4	[r16]=r17				    //101 	cc:5
	ld4	r11=[r15]				    //101 	cc:5
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X0590 
	ld4	r9=[r10];;				    //101 	cc:5
	add	r8=r11, r9				    //101 	cc:6
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X05a0 
	st4	[r31]=r8				    //101 	cc:7
	adds	r30=buf$, sp				    //101 	cc:7
	adds	r26=adler$, sp				    //101 	cc:7
 }
 {   .mmi  //R-Addr: 0X05b0 
	adds	r21=adler$, sp				    //101 	cc:7
	adds	r20=sum2$, sp				    //101 	cc:7
	adds	r18=adler$, sp;;			    //101 	cc:7
 }
 {   .mmi  //R-Addr: 0X05c0 
	ld8	r29=[r30]				    //101 	cc:8
	ld4	r25=[r26]				    //101 	cc:8
	adds	r15=sum2$, sp;;				    //101 	cc:8
 }
 {   .mmi  //R-Addr: 0X05d0 
	adds	r28=1, r29;;				    //101 	cc:9
	ld1	r27=[r28]				    //101 	cc:10
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X05e0 
	add	r22=r25, r27;;				    //101 	cc:11
	st4	[r21]=r22				    //101 	cc:12
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X05f0 
	ld4	r19=[r20]				    //101 	cc:12
	ld4	r17=[r18]				    //101 	cc:12
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0600 
	add	r16=r19, r17;;				    //101 	cc:13
	st4	[r15]=r16				    //101 	cc:14
	adds	r11=buf$, sp				    //101 	cc:14
 }
 {   .mmi  //R-Addr: 0X0610 
	adds	r31=adler$, sp				    //101 	cc:14
	adds	r28=adler$, sp				    //101 	cc:14
	adds	r27=sum2$, sp;;				    //101 	cc:14
 }
 {   .mmi  //R-Addr: 0X0620 
	ld8	r10=[r11]				    //101 	cc:15
	ld4	r30=[r31]				    //101 	cc:15
	adds	r25=adler$, sp				    //101 	cc:15
 }
 {   .mmi  //R-Addr: 0X0630 
	adds	r20=sum2$, sp;;				    //101 	cc:15
	adds	r9=2, r10				    //101 	cc:16
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0640 
	ld1	r8=[r9];;				    //101 	cc:17
	add	r29=r30, r8				    //101 	cc:18
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0650 
	st4	[r28]=r29				    //101 	cc:19
	ld4	r26=[r27]				    //101 	cc:19
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X0660 
	ld4	r22=[r25];;				    //101 	cc:19
	add	r21=r26, r22				    //101 	cc:20
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0670 
	st4	[r20]=r21				    //101 	cc:21
	adds	r19=buf$, sp				    //101 	cc:21
	adds	r15=adler$, sp				    //101 	cc:21
 }
 {   .mmi  //R-Addr: 0X0680 
	adds	r9=adler$, sp				    //101 	cc:21
	adds	r8=sum2$, sp				    //101 	cc:21
	adds	r30=adler$, sp;;			    //101 	cc:21
 }
 {   .mmi  //R-Addr: 0X0690 
	ld8	r18=[r19]				    //101 	cc:22
	ld4	r11=[r15]				    //101 	cc:22
	adds	r27=sum2$, sp;;				    //101 	cc:22
 }
 {   .mmi  //R-Addr: 0X06a0 
	adds	r17=3, r18;;				    //101 	cc:23
	ld1	r16=[r17]				    //101 	cc:24
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X06b0 
	add	r10=r11, r16;;				    //101 	cc:25
	st4	[r9]=r10				    //101 	cc:26
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X06c0 
	ld4	r31=[r8]				    //101 	cc:26
	ld4	r29=[r30]				    //101 	cc:26
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X06d0 
	add	r28=r31, r29;;				    //101 	cc:27
	st4	[r27]=r28				    //101 	cc:28
	adds	r26=buf$, sp				    //101 	cc:28
 }
 {   .mmi  //R-Addr: 0X06e0 
	adds	r20=adler$, sp				    //101 	cc:28
	adds	r17=adler$, sp				    //101 	cc:28
	adds	r16=sum2$, sp;;				    //101 	cc:28
 }
 {   .mmb  //R-Addr: 0X06f0 
	ld8	r25=[r26]				    //101 	cc:29
	ld4	r19=[r20]				    //101 	cc:29
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0700 
	adds	r22=4, r25;;				    //101 	cc:30
	ld1	r21=[r22]				    //101 	cc:31
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0710 
	add	r18=r19, r21;;				    //101 	cc:32
	st4	[r17]=r18				    //101 	cc:33
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0720 
	ld4	r15=[r16]				    //101 	cc:0
	adds	r11=adler$, sp				    //101 	cc:0
	adds	r8=sum2$, sp;;				    //101 	cc:0
 }
 {   .mmi  //R-Addr: 0X0730 
	ld4	r10=[r11];;				    //101 	cc:1
	add	r9=r15, r10				    //101 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0740 
	st4	[r8]=r9					    //101 	cc:3
	adds	r31=buf$, sp				    //101 	cc:3
	adds	r27=adler$, sp				    //101 	cc:3
 }
 {   .mmi  //R-Addr: 0X0750 
	adds	r22=adler$, sp				    //101 	cc:3
	adds	r21=sum2$, sp				    //101 	cc:3
	adds	r19=adler$, sp;;			    //101 	cc:3
 }
 {   .mmi  //R-Addr: 0X0760 
	ld8	r30=[r31]				    //101 	cc:4
	ld4	r26=[r27]				    //101 	cc:4
	adds	r16=sum2$, sp;;				    //101 	cc:4
 }
 {   .mmi  //R-Addr: 0X0770 
	adds	r29=5, r30;;				    //101 	cc:5
	ld1	r28=[r29]				    //101 	cc:6
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0780 
	add	r25=r26, r28;;				    //101 	cc:7
	st4	[r22]=r25				    //101 	cc:8
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0790 
	ld4	r20=[r21]				    //101 	cc:8
	ld4	r18=[r19]				    //101 	cc:8
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X07a0 
	add	r17=r20, r18;;				    //101 	cc:9
	st4	[r16]=r17				    //101 	cc:10
	adds	r15=buf$, sp				    //101 	cc:10
 }
 {   .mmi  //R-Addr: 0X07b0 
	adds	r8=adler$, sp				    //101 	cc:10
	adds	r29=adler$, sp				    //101 	cc:10
	adds	r28=sum2$, sp;;				    //101 	cc:10
 }
 {   .mmi  //R-Addr: 0X07c0 
	ld8	r11=[r15]				    //101 	cc:11
	ld4	r31=[r8]				    //101 	cc:11
	adds	r26=adler$, sp				    //101 	cc:11
 }
 {   .mmi  //R-Addr: 0X07d0 
	adds	r21=sum2$, sp;;				    //101 	cc:11
	adds	r10=6, r11				    //101 	cc:12
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X07e0 
	ld1	r9=[r10];;				    //101 	cc:13
	add	r30=r31, r9				    //101 	cc:14
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X07f0 
	st4	[r29]=r30				    //101 	cc:15
	ld4	r27=[r28]				    //101 	cc:15
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X0800 
	ld4	r25=[r26];;				    //101 	cc:15
	add	r22=r27, r25				    //101 	cc:16
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0810 
	st4	[r21]=r22				    //101 	cc:17
	adds	r20=buf$, sp				    //101 	cc:17
	adds	r16=adler$, sp				    //101 	cc:17
 }
 {   .mmi  //R-Addr: 0X0820 
	adds	r10=adler$, sp				    //101 	cc:17
	adds	r9=sum2$, sp				    //101 	cc:17
	adds	r31=adler$, sp;;			    //101 	cc:17
 }
 {   .mmi  //R-Addr: 0X0830 
	ld8	r19=[r20]				    //101 	cc:18
	ld4	r15=[r16]				    //101 	cc:18
	adds	r28=sum2$, sp;;				    //101 	cc:18
 }
 {   .mmi  //R-Addr: 0X0840 
	adds	r18=7, r19;;				    //101 	cc:19
	ld1	r17=[r18]				    //101 	cc:20
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0850 
	add	r11=r15, r17;;				    //101 	cc:21
	st4	[r10]=r11				    //101 	cc:22
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0860 
	ld4	r8=[r9]					    //101 	cc:22
	ld4	r30=[r31]				    //101 	cc:22
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0870 
	add	r29=r8, r30;;				    //101 	cc:23
	st4	[r28]=r29				    //101 	cc:24
	adds	r27=buf$, sp				    //101 	cc:24
 }
 {   .mmi  //R-Addr: 0X0880 
	adds	r21=adler$, sp				    //101 	cc:24
	adds	r18=adler$, sp				    //101 	cc:24
	adds	r17=sum2$, sp;;				    //101 	cc:24
 }
 {   .mmi  //R-Addr: 0X0890 
	ld8	r26=[r27]				    //101 	cc:25
	ld4	r20=[r21]				    //101 	cc:25
	adds	r15=adler$, sp				    //101 	cc:25
 }
 {   .mmi  //R-Addr: 0X08a0 
	adds	r9=sum2$, sp;;				    //101 	cc:25
	adds	r25=8, r26				    //101 	cc:26
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X08b0 
	ld1	r22=[r25];;				    //101 	cc:27
	add	r19=r20, r22				    //101 	cc:28
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X08c0 
	st4	[r18]=r19				    //101 	cc:29
	ld4	r16=[r17]				    //101 	cc:29
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X08d0 
	ld4	r11=[r15];;				    //101 	cc:29
	add	r10=r16, r11				    //101 	cc:30
	nop.i	 0;;
 }
 {   .mii  //R-Addr: 0X08e0 
	st4	[r9]=r10				    //101 	cc:31
	adds	r8=buf$, sp;;				    //101 	cc:31
	adds	r28=adler$, sp				    //101 	cc:0
 }
 {   .mmi  //R-Addr: 0X08f0 
	ld8	r31=[r8]				    //101 	cc:0
	adds	r25=adler$, sp				    //101 	cc:0
	adds	r22=sum2$, sp;;				    //101 	cc:0
 }
 {   .mmi  //R-Addr: 0X0900 
	ld4	r27=[r28]				    //101 	cc:1
	adds	r30=9, r31				    //101 	cc:1
	adds	r20=adler$, sp				    //101 	cc:1
 }
 {   .mmi  //R-Addr: 0X0910 
	adds	r17=sum2$, sp;;				    //101 	cc:1
	ld1	r29=[r30]				    //101 	cc:2
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0920 
	add	r26=r27, r29;;				    //101 	cc:3
	st4	[r25]=r26				    //101 	cc:4
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0930 
	ld4	r21=[r22]				    //101 	cc:4
	ld4	r19=[r20]				    //101 	cc:4
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0940 
	add	r18=r21, r19;;				    //101 	cc:5
	st4	[r17]=r18				    //101 	cc:6
	adds	r16=buf$, sp				    //101 	cc:6
 }
 {   .mmi  //R-Addr: 0X0950 
	adds	r9=adler$, sp				    //101 	cc:6
	adds	r30=adler$, sp				    //101 	cc:6
	adds	r29=sum2$, sp;;				    //101 	cc:6
 }
 {   .mmi  //R-Addr: 0X0960 
	ld8	r15=[r16]				    //101 	cc:7
	ld4	r8=[r9]					    //101 	cc:7
	adds	r27=adler$, sp				    //101 	cc:7
 }
 {   .mmi  //R-Addr: 0X0970 
	adds	r22=sum2$, sp;;				    //101 	cc:7
	adds	r11=10, r15				    //101 	cc:8
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0980 
	ld1	r10=[r11];;				    //101 	cc:9
	add	r31=r8, r10				    //101 	cc:10
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0990 
	st4	[r30]=r31				    //101 	cc:11
	ld4	r28=[r29]				    //101 	cc:11
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X09a0 
	ld4	r26=[r27];;				    //101 	cc:11
	add	r25=r28, r26				    //101 	cc:12
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X09b0 
	st4	[r22]=r25				    //101 	cc:13
	adds	r21=buf$, sp				    //101 	cc:13
	adds	r17=adler$, sp				    //101 	cc:13
 }
 {   .mmi  //R-Addr: 0X09c0 
	adds	r11=adler$, sp				    //101 	cc:13
	adds	r10=sum2$, sp				    //101 	cc:13
	adds	r8=adler$, sp;;				    //101 	cc:13
 }
 {   .mmi  //R-Addr: 0X09d0 
	ld8	r20=[r21]				    //101 	cc:14
	ld4	r16=[r17]				    //101 	cc:14
	adds	r29=sum2$, sp;;				    //101 	cc:14
 }
 {   .mmi  //R-Addr: 0X09e0 
	adds	r19=11, r20;;				    //101 	cc:15
	ld1	r18=[r19]				    //101 	cc:16
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X09f0 
	add	r15=r16, r18;;				    //101 	cc:17
	st4	[r11]=r15				    //101 	cc:18
	nop.i	 0
 }
 {   .mmb  //R-Addr: 0X0a00 
	ld4	r9=[r10]				    //101 	cc:18
	ld4	r31=[r8]				    //101 	cc:18
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0a10 
	add	r30=r9, r31;;				    //101 	cc:19
	st4	[r29]=r30				    //101 	cc:20
	adds	r28=buf$, sp				    //101 	cc:20
 }
 {   .mmi  //R-Addr: 0X0a20 
	adds	r22=adler$, sp				    //101 	cc:20
	adds	r19=adler$, sp				    //101 	cc:20
	adds	r18=sum2$, sp;;				    //101 	cc:20
 }
 {   .mmi  //R-Addr: 0X0a30 
	ld8	r27=[r28]				    //101 	cc:21
	ld4	r21=[r22]				    //101 	cc:21
	adds	r16=adler$, sp				    //101 	cc:21
 }
 {   .mmi  //R-Addr: 0X0a40 
	adds	r10=sum2$, sp;;				    //101 	cc:21
	adds	r26=12, r27				    //101 	cc:22
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0a50 
	ld1	r25=[r26];;				    //101 	cc:23
	add	r20=r21, r25				    //101 	cc:24
	nop.i	 0;;
 }
 {   .mmb  //R-Addr: 0X0a60 
	st4	[r19]=r20				    //101 	cc:25
	ld4	r17=[r18]				    //101 	cc:25
	nop.b	 0
 }
 {   .mmi  //R-Addr: 0X0a70 
	ld4	r15=[r16];;				    //101 	cc:25
	add	r11=r17, r15				    //101 	cc:26
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0a80 
	st4	[r10]=r11				    //101 	cc:27
	adds	r9=buf$, sp				    //101 	cc:27
	adds	r29=adler$, sp				    //101 	cc:27
 }
 {   .mib  //R-Addr: 0X0a90 
	adds	r26=adler$, sp				    //101 	cc:27
	adds	r25=sum2$, sp				    //101 	cc:27
	nop.b	 0;;
 }
 {   .mmb  //R-Addr: 0X0aa0 
	ld8	r8=[r9]					    //101 	cc:28
	ld4	r28=[r29]				    //101 	cc:28
	nop.b	 0;;
 }
 {   .mmi  //R-Addr: 0X0ab0 
	adds	r31=13, r8;;				    //101 	cc:29
	ld1	r30=[r31]				    //101 	cc:30
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0ac0 
	add	r27=r28, r30;;				    //101 	cc:31
	st4	[r26]=r27				    //101 	cc:32
	nop.i	 0;;
 }
 {   .mmi  //R-Addr: 0X0ad0 
	ld4	r22=[r25]				    //101 	cc:0
	adds	r21=adler$, sp				    //101 	cc:0
	adds	r18=sum2$, sp;;				    //101 	cc:0
 }
 {   .mmi  //R-Addr: 0X0ae0 
	ld4	r20=[r21];;				    //101 	cc:1
	add	r19=r22, r20				    //101 	cc:2
	nop.i	 0;;

⌨️ 快捷键说明

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