📄 adler32.asm
字号:
}
{ .mmi //R-Addr: 0X01120
ld8 r29=[r30] //112 cc:11
ld4 r25=[r26] //112 cc:11
adds r18=adler$, sp //112 cc:11
}
{ .mmi //R-Addr: 0X01130
adds r15=sum2$, sp;; //112 cc:11
adds r28=6, r29 //112 cc:12
nop.i 0;;
}
{ .mmi //R-Addr: 0X01140
ld1 r27=[r28];; //112 cc:13
add r22=r25, r27 //112 cc:14
nop.i 0;;
}
{ .mmb //R-Addr: 0X01150
st4 [r21]=r22 //112 cc:15
ld4 r19=[r20] //112 cc:15
nop.b 0
}
{ .mmi //R-Addr: 0X01160
ld4 r17=[r18];; //112 cc:15
add r16=r19, r17 //112 cc:16
nop.i 0;;
}
{ .mmi //R-Addr: 0X01170
st4 [r15]=r16 //112 cc:17
adds r11=buf$, sp //112 cc:17
adds r31=adler$, sp //112 cc:17
}
{ .mmi //R-Addr: 0X01180
adds r28=adler$, sp //112 cc:17
adds r27=sum2$, sp //112 cc:17
adds r25=adler$, sp;; //112 cc:17
}
{ .mmi //R-Addr: 0X01190
ld8 r10=[r11] //112 cc:18
ld4 r30=[r31] //112 cc:18
adds r20=sum2$, sp;; //112 cc:18
}
{ .mmi //R-Addr: 0X011a0
adds r9=7, r10;; //112 cc:19
ld1 r8=[r9] //112 cc:20
nop.i 0;;
}
{ .mmi //R-Addr: 0X011b0
add r29=r30, r8;; //112 cc:21
st4 [r28]=r29 //112 cc:22
nop.i 0
}
{ .mmb //R-Addr: 0X011c0
ld4 r26=[r27] //112 cc:22
ld4 r22=[r25] //112 cc:22
nop.b 0;;
}
{ .mmi //R-Addr: 0X011d0
add r21=r26, r22;; //112 cc:23
st4 [r20]=r21 //112 cc:24
adds r19=buf$, sp //112 cc:24
}
{ .mmi //R-Addr: 0X011e0
adds r15=adler$, sp //112 cc:24
adds r9=adler$, sp //112 cc:24
adds r8=sum2$, sp;; //112 cc:24
}
{ .mmi //R-Addr: 0X011f0
ld8 r18=[r19] //112 cc:25
ld4 r11=[r15] //112 cc:25
adds r30=adler$, sp //112 cc:25
}
{ .mmi //R-Addr: 0X01200
adds r27=sum2$, sp;; //112 cc:25
adds r17=8, r18 //112 cc:26
nop.i 0;;
}
{ .mmi //R-Addr: 0X01210
ld1 r16=[r17];; //112 cc:27
add r10=r11, r16 //112 cc:28
nop.i 0;;
}
{ .mmb //R-Addr: 0X01220
st4 [r9]=r10 //112 cc:29
ld4 r31=[r8] //112 cc:29
nop.b 0
}
{ .mmi //R-Addr: 0X01230
ld4 r29=[r30];; //112 cc:29
add r28=r31, r29 //112 cc:30
nop.i 0;;
}
{ .mii //R-Addr: 0X01240
st4 [r27]=r28 //112 cc:31
adds r26=buf$, sp;; //112 cc:31
adds r20=adler$, sp //112 cc:0
}
{ .mmi //R-Addr: 0X01250
ld8 r25=[r26] //112 cc:0
adds r17=adler$, sp //112 cc:0
adds r16=sum2$, sp;; //112 cc:0
}
{ .mmi //R-Addr: 0X01260
ld4 r19=[r20] //112 cc:1
adds r22=9, r25 //112 cc:1
adds r11=adler$, sp //112 cc:1
}
{ .mmi //R-Addr: 0X01270
adds r8=sum2$, sp;; //112 cc:1
ld1 r21=[r22] //112 cc:2
nop.i 0;;
}
{ .mmi //R-Addr: 0X01280
add r18=r19, r21;; //112 cc:3
st4 [r17]=r18 //112 cc:4
nop.i 0
}
{ .mmb //R-Addr: 0X01290
ld4 r15=[r16] //112 cc:4
ld4 r10=[r11] //112 cc:4
nop.b 0;;
}
{ .mmi //R-Addr: 0X012a0
add r9=r15, r10;; //112 cc:5
st4 [r8]=r9 //112 cc:6
adds r31=buf$, sp //112 cc:6
}
{ .mmi //R-Addr: 0X012b0
adds r27=adler$, sp //112 cc:6
adds r22=adler$, sp //112 cc:6
adds r21=sum2$, sp;; //112 cc:6
}
{ .mmi //R-Addr: 0X012c0
ld8 r30=[r31] //112 cc:7
ld4 r26=[r27] //112 cc:7
adds r19=adler$, sp //112 cc:7
}
{ .mmi //R-Addr: 0X012d0
adds r16=sum2$, sp;; //112 cc:7
adds r29=10, r30 //112 cc:8
nop.i 0;;
}
{ .mmi //R-Addr: 0X012e0
ld1 r28=[r29];; //112 cc:9
add r25=r26, r28 //112 cc:10
nop.i 0;;
}
{ .mmb //R-Addr: 0X012f0
st4 [r22]=r25 //112 cc:11
ld4 r20=[r21] //112 cc:11
nop.b 0
}
{ .mmi //R-Addr: 0X01300
ld4 r18=[r19];; //112 cc:11
add r17=r20, r18 //112 cc:12
nop.i 0;;
}
{ .mmi //R-Addr: 0X01310
st4 [r16]=r17 //112 cc:13
adds r15=buf$, sp //112 cc:13
adds r8=adler$, sp //112 cc:13
}
{ .mmi //R-Addr: 0X01320
adds r29=adler$, sp //112 cc:13
adds r28=sum2$, sp //112 cc:13
adds r26=adler$, sp;; //112 cc:13
}
{ .mmi //R-Addr: 0X01330
ld8 r11=[r15] //112 cc:14
ld4 r31=[r8] //112 cc:14
adds r21=sum2$, sp;; //112 cc:14
}
{ .mmi //R-Addr: 0X01340
adds r10=11, r11;; //112 cc:15
ld1 r9=[r10] //112 cc:16
nop.i 0;;
}
{ .mmi //R-Addr: 0X01350
add r30=r31, r9;; //112 cc:17
st4 [r29]=r30 //112 cc:18
nop.i 0
}
{ .mmb //R-Addr: 0X01360
ld4 r27=[r28] //112 cc:18
ld4 r25=[r26] //112 cc:18
nop.b 0;;
}
{ .mmi //R-Addr: 0X01370
add r22=r27, r25;; //112 cc:19
st4 [r21]=r22 //112 cc:20
adds r20=buf$, sp //112 cc:20
}
{ .mmi //R-Addr: 0X01380
adds r16=adler$, sp //112 cc:20
adds r10=adler$, sp //112 cc:20
adds r9=sum2$, sp;; //112 cc:20
}
{ .mmi //R-Addr: 0X01390
ld8 r19=[r20] //112 cc:21
ld4 r15=[r16] //112 cc:21
adds r31=adler$, sp //112 cc:21
}
{ .mmi //R-Addr: 0X013a0
adds r28=sum2$, sp;; //112 cc:21
adds r18=12, r19 //112 cc:22
nop.i 0;;
}
{ .mmi //R-Addr: 0X013b0
ld1 r17=[r18];; //112 cc:23
add r11=r15, r17 //112 cc:24
nop.i 0;;
}
{ .mmb //R-Addr: 0X013c0
st4 [r10]=r11 //112 cc:25
ld4 r8=[r9] //112 cc:25
nop.b 0
}
{ .mmi //R-Addr: 0X013d0
ld4 r30=[r31];; //112 cc:25
add r29=r8, r30 //112 cc:26
nop.i 0;;
}
{ .mmi //R-Addr: 0X013e0
st4 [r28]=r29 //112 cc:27
adds r27=buf$, sp //112 cc:27
adds r21=adler$, sp //112 cc:27
}
{ .mib //R-Addr: 0X013f0
adds r18=adler$, sp //112 cc:27
adds r17=sum2$, sp //112 cc:27
nop.b 0;;
}
{ .mmb //R-Addr: 0X01400
ld8 r26=[r27] //112 cc:28
ld4 r20=[r21] //112 cc:28
nop.b 0;;
}
{ .mmi //R-Addr: 0X01410
adds r25=13, r26;; //112 cc:29
ld1 r22=[r25] //112 cc:30
nop.i 0;;
}
{ .mmi //R-Addr: 0X01420
add r19=r20, r22;; //112 cc:31
st4 [r18]=r19 //112 cc:32
nop.i 0;;
}
{ .mmi //R-Addr: 0X01430
ld4 r16=[r17] //112 cc:0
adds r15=adler$, sp //112 cc:0
adds r9=sum2$, sp;; //112 cc:0
}
{ .mmi //R-Addr: 0X01440
ld4 r11=[r15];; //112 cc:1
add r10=r16, r11 //112 cc:2
nop.i 0;;
}
{ .mmi //R-Addr: 0X01450
st4 [r9]=r10 //112 cc:3
adds r8=buf$, sp //112 cc:3
adds r28=adler$, sp //112 cc:3
}
{ .mmi //R-Addr: 0X01460
adds r25=adler$, sp //112 cc:3
adds r22=sum2$, sp //112 cc:3
adds r20=adler$, sp;; //112 cc:3
}
{ .mmi //R-Addr: 0X01470
ld8 r31=[r8] //112 cc:4
ld4 r27=[r28] //112 cc:4
adds r17=sum2$, sp;; //112 cc:4
}
{ .mmi //R-Addr: 0X01480
adds r30=14, r31;; //112 cc:5
ld1 r29=[r30] //112 cc:6
nop.i 0;;
}
{ .mmi //R-Addr: 0X01490
add r26=r27, r29;; //112 cc:7
st4 [r25]=r26 //112 cc:8
nop.i 0
}
{ .mmb //R-Addr: 0X014a0
ld4 r21=[r22] //112 cc:8
ld4 r19=[r20] //112 cc:8
nop.b 0;;
}
{ .mmi //R-Addr: 0X014b0
add r18=r21, r19;; //112 cc:9
st4 [r17]=r18 //112 cc:10
adds r16=buf$, sp //112 cc:10
}
{ .mmi //R-Addr: 0X014c0
adds r9=adler$, sp //112 cc:10
adds r30=adler$, sp //112 cc:10
adds r29=sum2$, sp;; //112 cc:10
}
{ .mmi //R-Addr: 0X014d0
ld8 r15=[r16] //112 cc:11
ld4 r8=[r9] //112 cc:11
adds r27=adler$, sp //112 cc:11
}
{ .mmi //R-Addr: 0X014e0
adds r22=sum2$, sp;; //112 cc:11
adds r11=15, r15 //112 cc:12
nop.i 0;;
}
{ .mmi //R-Addr: 0X014f0
ld1 r10=[r11];; //112 cc:13
add r31=r8, r10 //112 cc:14
nop.i 0;;
}
{ .mmb //R-Addr: 0X01500
st4 [r30]=r31 //112 cc:15
ld4 r28=[r29] //112 cc:15
nop.b 0
}
{ .mmi //R-Addr: 0X01510
ld4 r26=[r27];; //112 cc:15
add r25=r28, r26 //112 cc:16
nop.i 0;;
}
{ .mmi //R-Addr: 0X01520
st4 [r22]=r25;; //112 cc:17
adds r21=buf$, sp //113 cc:0
adds r18=buf$, sp;; //113 cc:0
}
{ .mmi //R-Addr: 0X01530
ld8 r20=[r21];; //113 cc:1
adds r19=16, r20 //113 cc:2
nop.i 0;;
}
{ .mmb //R-Addr: 0X01540
st8 [r18]=r19 //113 cc:4
nop.m 0
br.cond.sptk.few $LN4@adler32#;; //114 cc:0
}
$LN2@adler32:
// 115 : while (len--) {
{ .mmi //R-Addr: 0X01550
adds r15=len$, sp //115 cc:0
adds r17=len$, sp //115 cc:0
adds r9=len$, sp;; //115 cc:0
}
{ .mmb //R-Addr: 0X01560
ld4 r11=[r15] //115 cc:1
ld4 r16=[r17] //115 cc:1
nop.b 0;;
}
{ .mib //R-Addr: 0X01570
adds r10=-1, r11 //115 cc:2
cmp4.eq.unc p14,p15=r0, r16 //115 cc:2
nop.b 0;;
}
{ .mmb //R-Addr: 0X01580
st4 [r9]=r10 //115 cc:3
nop.m 0
(p14) br.cond.dptk.many $LN1@adler32#;; //115 cc:3
}
// 116 : adler += *buf++;
// 117 : sum2 += adler;
// 118 : }
{ .mmi //R-Addr: 0X01590
adds r8=buf$, sp //116 cc:0
adds r29=adler$, sp //116 cc:0
adds r26=adler$, sp //116 cc:0
}
{ .mib //R-Addr: 0X015a0
adds r25=buf$, sp //116 cc:0
adds r20=buf$, sp //116 cc:0
nop.b 0;;
}
{ .mmb //R-Addr: 0X015b0
ld8 r31=[r8] //116 cc:1
ld4 r28=[r29] //116 cc:1
nop.b 0;;
}
{ .mmi //R-Addr: 0X015c0
ld1 r30=[r31];; //116 cc:3
add r27=r28, r30 //116 cc:4
nop.i 0;;
}
{ .mmb //R-Addr: 0X015d0
st4 [r26]=r27 //116 cc:5
ld8 r22=[r25] //116 cc:5
nop.b 0;;
}
{ .mmi //R-Addr: 0X015e0
adds r21=1, r22;; //116 cc:6
st8 [r20]=r21 //116 cc:7
nop.i 0;;
}
{ .mmi //R-Addr: 0X015f0
adds r19=sum2$, sp //117 cc:0
adds r17=adler$, sp //117 cc:0
adds r11=sum2$, sp;; //117 cc:0
}
{ .mmb //R-Addr: 0X01600
ld4 r18=[r19] //117 cc:1
ld4 r16=[r17] //117 cc:1
nop.b 0;;
}
{ .mmi //R-Addr: 0X01610
add r15=r18, r16;; //117 cc:2
st4 [r11]=r15 //117 cc:3
nop.i 0;;
}
{ .mmb //R-Addr: 0X01620
nop.m 0
nop.m 0
br.cond.sptk.few $LN2@adler32#;; //118 cc:0
}
$LN1@adler32:
// 119 : MOD(adler);
// 120 : MOD(sum2);
{ .mmi //R-Addr: 0X01630
adds r10=adler$, sp //119 cc:0
mov r8=65521 //119 cc:0, 0000fff1H
mov r31=65501 //119 cc:0, 0000ffddH
}
{ .mmi //R-Addr: 0X01640
adds r29=adler$, sp;; //119 cc:0
ld4 r9=[r10] //119 cc:1
cmp.eq.unc p15,p0=0, r8 //119 cc:1
}
{ .mmi //R-Addr: 0X01650
setf.sig f44=r8 //119 cc:1
setf.exp f47=r31 //119 cc:1
sub r31=r0, r8, r31;; //119 cc:1
}
{ .mib //R-Addr: 0X01660
setf.sig f43=r9 //119 cc:2
(p15) break.i 1 //119 cc:2
nop.b 0;;
}
{ .mfb //R-Addr: 0X01670
nop.m 0
fcvt.xuf.s1 f46=f44 //119 cc:7
nop.b 0;;
}
{ .mfb //R-Addr: 0X01680
nop.m 0
fcvt.xuf.s1 f45=f43 //119 cc:8
nop.b 0;;
}
{ .mfb //R-Addr: 0X01690
nop.m 0
frcpa.s1 f48,p9=f45, f46 //119 cc:12
nop.b 0;;
}
{ .mfb //R-Addr: 0X016a0
nop.m 0
(p9) fma.s1 f49=f45, f48, f0 //119 cc:16
nop.b 0
}
{ .mfb //R-Addr: 0X016b0
nop.m 0
(p9) fnma.s1 f48=f46, f48, f1 //119 cc:16
nop.b 0;;
}
{ .mmb //R-Addr: 0X016c0
setf.sig f46=r31, f46 //119 cc:17
nop.m 0
nop.b 0;;
}
{ .mfb //R-Addr: 0X016d0
nop.m 0
(p9) fma.s1 f45=f48, f48, f47, f45 //119 cc:20
nop.b 0
}
{ .mfb //R-Addr: 0X016e0
nop.m 0
(p9) fma.s1 f49=f48, f49, f49 //119 cc:20
nop.b 0;;
}
{ .mfb //R-Addr: 0X016f0
nop.m 0
(p9) fma.s1 f48=f45, f49, f49, f48 //119 cc:24
nop.b 0;;
}
{ .mfb //R-Addr: 0X01700
nop.m 0
fcvt.fxu.trunc.s1 f45=f48, f45 //119 cc:28
nop.b 0;;
}
{ .mfb //R-Addr: 0X01710
nop.m 0
xma.l f48=f45, f46, f43, f48 //119 cc:32
nop.b 0;;
}
{ .mmi //R-Addr: 0X01720
getf.sig r30=f48;; //119 cc:36
st4 [r29]=r30 //119 cc:41
nop.i 0;;
}
{ .mmi //R-Addr: 0X01730
adds r28=sum2$, sp //120 cc:0
mov r26=65521 //120 cc:0, 0000fff1H
mov r25=65501 //120 cc:0, 0000ffddH
}
{ .mmi //R-Addr: 0X01740
adds r21=sum2$, sp;; //120 cc:0
ld4 r27=[r28] //120 cc:1
cmp.eq.unc p15,p0=0, r26 //120 cc:1
}
{ .mmi //R-Addr: 0X01750
setf.sig f51=r26 //120 cc:1
setf.exp f54=r25 //120 cc:1
sub r25=r0, r26, r25;; //120 cc:1
}
{ .mib //R-Addr: 0X01760
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -