📄 testzlib.asm
字号:
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 + -