📄 zutil.asm
字号:
// Listing generated by Microsoft (R) Optimizing Compiler Version 15.00.21022.08
.file "f:/Study/wincezip/DLL/zutil.c"
.radix D
.section .text, "ax", "progbits"
.align 32
.section .pdata, "a", "progbits"
.align 4
.section .xdata, "a", "progbits"
.align 8
.section .text$zz, "ax", "progbits"
.align 16
.section .pdata, "a", "progbits"
.align 4
.section .text$zy, "ax", "progbits"
.align 16
.section .pdata, "a", "progbits"
.align 4
.section .data, "wa", "progbits"
.align 16
.section .rdata, "a", "progbits"
.align 16
.section .bss, "wa", "nobits"
.align 16
.section .debug$S, "ax", "progbits"
.align 16
.section $$TYPES, "ax", "progbits"
.align 16
.section .tls$, "was", "progbits"
.align 16
.section .sdata, "was", "progbits"
.align 16
.section .sbss, "was", "nobits"
.align 16
.section .srdata, "as", "progbits"
.align 16
.section .rdata, "a", "progbits"
.align 16
.section .data, "wa", "progbits"
.align 16
.global z_errmsg#
.section .sdata
$SG78706:
string "1.2.3\000"
.section .rdata
z_errmsg:
data8 $SG78694#
data8 $SG78696#
data8 $SG78697#
data8 $SG78698#
data8 $SG78699#
data8 $SG78700#
data8 $SG78701#
data8 $SG78702#
data8 $SG78703#
data8 $SG78704#
.section .data
$SG78694:
string "need dictionary\000"
$SG78696:
string "stream end\000"
$SG78697:
string "\000"
$SG78704:
string "\000"
.skip 3
$SG78698:
string "file error\000"
.skip 5
$SG78699:
string "stream error\000"
.skip 3
$SG78700:
string "data error\000"
.skip 5
$SG78701:
string "insufficient memory\000"
.skip 12
$SG78702:
string "buffer error\000"
.skip 3
$SG78703:
string "incompatible version\000"
.type zlibVersion# ,@function
.global zlibVersion#
// Function compile flags: /Odtp
// File f:\study\wincezip\dll\zutil.c
.section .text
// Begin code for function: zlibVersion:
.proc zlibVersion#
.align 32
zlibVersion:
// Output regs: None
// 29 : return ZLIB_VERSION;
// 30 : }
{ .mmb //R-Addr: 0X00
addl r8=@gprel($SG78706#),gp //29 cc:1
nop.m 0
br.ret.sptk.many b0;; //30 cc:0
}
// End code for function:
.endp zlibVersion#
.type zlibCompileFlags# ,@function
.global zlibCompileFlags#
.section .pdata
$T78801: data4 @imagerel($LN27@zlibCompil#)
data4 @imagerel($LN27@zlibCompil#+1184)
data4 @imagerel($T78799#)
.section .xdata
$T78799: data2 03H
data2 00H
data4 02H
string "\x01" //R1:prologue size 1
string "\xe0\x00\x02" //P7:mem_stack_f time 0 size 2
string "\x61\xdd\x01" //R3:body size 221
string "\x81" //B1:label_state 1
string "\xc0\x01" //B2:ecount 0 time 1
string "\x00\x00\x00\x00\x00\x00" //padding
// Function compile flags: /Odtp
.section .text
// Begin code for function: zlibCompileFlags:
.proc zlibCompileFlags#
.align 32
flags$ = 0
$T78795 = 8
$T78796 = 16
$T78797 = 24
$T78798 = 32
zlibCompileFlags:
// Output regs: None
$LN27@zlibCompil:
// 33 : {
// 34 : uLong flags;
// 35 :
// 36 : flags = 0;
// 37 : switch (sizeof(uInt)) {
{ .mmi //R-Addr: 0X00
adds sp=-32, sp;; //33 cc:0
adds r31=flags$, sp //36 cc:0
nop.i 0;;
}
{ .mmi //R-Addr: 0X010
st4 [r31]=r0;; //36 cc:1
mov r30=4 //37 cc:0
adds r29=$T78795, sp //37 cc:0
}
{ .mmi //R-Addr: 0X020
adds r28=$T78795, sp;; //37 cc:0
st8 [r29]=r30 //37 cc:1
nop.i 0
}
{ .mmi //R-Addr: 0X030
ld8 r27=[r28];; //37 cc:1
cmp.eq.unc p14,p15=2, r27 //37 cc:2
nop.i 0
}
{ .mmb //R-Addr: 0X040
nop.m 0
nop.m 0
(p14) br.cond.dptk.few $LN22@zlibCompil#;; //37 cc:2
}
// 37 : switch (sizeof(uInt)) {
{ .mmi //R-Addr: 0X050
adds r26=$T78795, sp;; //37 cc:3
ld8 r25=[r26] //37 cc:4
nop.i 0;;
}
{ .mmb //R-Addr: 0X060
cmp.eq.unc p14,p15=4, r25 //37 cc:5
nop.m 0
(p14) br.cond.dptk.few $LN21@zlibCompil#;; //37 cc:5
}
// 37 : switch (sizeof(uInt)) {
{ .mmi //R-Addr: 0X070
adds r22=$T78795, sp;; //37 cc:6
ld8 r21=[r22] //37 cc:7
nop.i 0;;
}
{ .mbb //R-Addr: 0X080
cmp.eq.unc p14,p15=8, r21 //37 cc:8
(p14) br.cond.dptk.few $LN20@zlibCompil# //37 cc:8
br.cond.sptk.few $LN19@zlibCompil#;; //37 cc:8
}
$LN22@zlibCompil:
// 38 : case 2: break;
{ .mmb //R-Addr: 0X090
nop.m 0
nop.m 0
br.cond.sptk.few $LN23@zlibCompil#;; //38 cc:0
}
$LN21@zlibCompil:
// 39 : case 4: flags += 1; break;
{ .mib //R-Addr: 0X0a0
adds r20=flags$, sp //39 cc:0
adds r17=flags$, sp //39 cc:0
nop.b 0;;
}
{ .mmi //R-Addr: 0X0b0
ld4 r19=[r20];; //39 cc:1
adds r18=1, r19 //39 cc:2
nop.i 0;;
}
{ .mmb //R-Addr: 0X0c0
st4 [r17]=r18 //39 cc:3
nop.m 0
br.cond.sptk.few $LN23@zlibCompil#;; //39 cc:3
}
$LN20@zlibCompil:
// 40 : case 8: flags += 2; break;
{ .mib //R-Addr: 0X0d0
adds r16=flags$, sp //40 cc:0
adds r10=flags$, sp //40 cc:0
nop.b 0;;
}
{ .mmi //R-Addr: 0X0e0
ld4 r15=[r16];; //40 cc:1
adds r11=2, r15 //40 cc:2
nop.i 0;;
}
{ .mmb //R-Addr: 0X0f0
st4 [r10]=r11 //40 cc:3
nop.m 0
br.cond.sptk.few $LN23@zlibCompil#;; //40 cc:3
}
$LN19@zlibCompil:
// 41 : default: flags += 3;
{ .mib //R-Addr: 0X0100
adds r9=flags$, sp //41 cc:0
adds r30=flags$, sp //41 cc:0
nop.b 0;;
}
{ .mmi //R-Addr: 0X0110
ld4 r8=[r9];; //41 cc:1
adds r31=3, r8 //41 cc:2
nop.i 0;;
}
{ .mmi //R-Addr: 0X0120
st4 [r30]=r31;; //41 cc:3
nop.m 0
nop.i 0;;
}
$LN23@zlibCompil:
// 42 : }
// 43 : switch (sizeof(uLong)) {
{ .mmi //R-Addr: 0X0130
mov r29=4 //43 cc:0
adds r28=$T78796, sp //43 cc:0
adds r27=$T78796, sp;; //43 cc:0
}
{ .mmb //R-Addr: 0X0140
st8 [r28]=r29 //43 cc:1
ld8 r26=[r27] //43 cc:1
nop.b 0;;
}
{ .mmb //R-Addr: 0X0150
cmp.eq.unc p14,p15=2, r26 //43 cc:2
nop.m 0
(p14) br.cond.dptk.few $LN16@zlibCompil#;; //43 cc:2
}
// 43 : switch (sizeof(uLong)) {
{ .mmi //R-Addr: 0X0160
adds r25=$T78796, sp;; //43 cc:3
ld8 r22=[r25] //43 cc:4
nop.i 0;;
}
{ .mmb //R-Addr: 0X0170
cmp.eq.unc p14,p15=4, r22 //43 cc:5
nop.m 0
(p14) br.cond.dptk.few $LN15@zlibCompil#;; //43 cc:5
}
// 43 : switch (sizeof(uLong)) {
{ .mmi //R-Addr: 0X0180
adds r21=$T78796, sp;; //43 cc:6
ld8 r20=[r21] //43 cc:7
nop.i 0;;
}
{ .mbb //R-Addr: 0X0190
cmp.eq.unc p14,p15=8, r20 //43 cc:8
(p14) br.cond.dptk.few $LN14@zlibCompil# //43 cc:8
br.cond.sptk.few $LN13@zlibCompil#;; //43 cc:8
}
$LN16@zlibCompil:
// 44 : case 2: break;
{ .mmb //R-Addr: 0X01a0
nop.m 0
nop.m 0
br.cond.sptk.few $LN17@zlibCompil#;; //44 cc:0
}
$LN15@zlibCompil:
// 45 : case 4: flags += 1 << 2; break;
{ .mib //R-Addr: 0X01b0
adds r19=flags$, sp //45 cc:0
adds r16=flags$, sp //45 cc:0
nop.b 0;;
}
{ .mmi //R-Addr: 0X01c0
ld4 r18=[r19];; //45 cc:1
adds r17=4, r18 //45 cc:2
nop.i 0;;
}
{ .mmb //R-Addr: 0X01d0
st4 [r16]=r17 //45 cc:3
nop.m 0
br.cond.sptk.few $LN17@zlibCompil#;; //45 cc:3
}
$LN14@zlibCompil:
// 46 : case 8: flags += 2 << 2; break;
{ .mib //R-Addr: 0X01e0
adds r15=flags$, sp //46 cc:0
adds r9=flags$, sp //46 cc:0
nop.b 0;;
}
{ .mmi //R-Addr: 0X01f0
ld4 r11=[r15];; //46 cc:1
adds r10=8, r11 //46 cc:2
nop.i 0;;
}
{ .mmb //R-Addr: 0X0200
st4 [r9]=r10 //46 cc:3
nop.m 0
br.cond.sptk.few $LN17@zlibCompil#;; //46 cc:3
}
$LN13@zlibCompil:
// 47 : default: flags += 3 << 2;
{ .mib //R-Addr: 0X0210
adds r8=flags$, sp //47 cc:0
adds r29=flags$, sp //47 cc:0
nop.b 0;;
}
{ .mmi //R-Addr: 0X0220
ld4 r31=[r8];; //47 cc:1
adds r30=12, r31 //47 cc:2
nop.i 0;;
}
{ .mmi //R-Addr: 0X0230
st4 [r29]=r30;; //47 cc:3
nop.m 0
nop.i 0;;
}
$LN17@zlibCompil:
// 48 : }
// 49 : switch (sizeof(voidpf)) {
{ .mmi //R-Addr: 0X0240
mov r28=8 //49 cc:0
adds r27=$T78797, sp //49 cc:0
adds r26=$T78797, sp;; //49 cc:0
}
{ .mmb //R-Addr: 0X0250
st8 [r27]=r28 //49 cc:1
ld8 r25=[r26] //49 cc:1
nop.b 0;;
}
{ .mmb //R-Addr: 0X0260
cmp.eq.unc p14,p15=2, r25 //49 cc:2
nop.m 0
(p14) br.cond.dptk.few $LN10@zlibCompil#;; //49 cc:2
}
// 49 : switch (sizeof(voidpf)) {
{ .mmi //R-Addr: 0X0270
adds r22=$T78797, sp;; //49 cc:3
ld8 r21=[r22] //49 cc:4
nop.i 0;;
}
{ .mmb //R-Addr: 0X0280
cmp.eq.unc p14,p15=4, r21 //49 cc:5
nop.m 0
(p14) br.cond.dptk.few $LN9@zlibCompil#;; //49 cc:5
}
// 49 : switch (sizeof(voidpf)) {
{ .mmi //R-Addr: 0X0290
adds r20=$T78797, sp;; //49 cc:6
ld8 r19=[r20] //49 cc:7
nop.i 0;;
}
{ .mbb //R-Addr: 0X02a0
cmp.eq.unc p14,p15=8, r19 //49 cc:8
(p14) br.cond.dptk.few $LN8@zlibCompil# //49 cc:8
br.cond.sptk.few $LN7@zlibCompil#;; //49 cc:8
}
$LN10@zlibCompil:
// 50 : case 2: break;
{ .mmb //R-Addr: 0X02b0
nop.m 0
nop.m 0
br.cond.sptk.few $LN11@zlibCompil#;; //50 cc:0
}
$LN9@zlibCompil:
// 51 : case 4: flags += 1 << 4; break;
{ .mib //R-Addr: 0X02c0
adds r18=flags$, sp //51 cc:0
adds r15=flags$, sp //51 cc:0
nop.b 0;;
}
{ .mmi //R-Addr: 0X02d0
ld4 r17=[r18];; //51 cc:1
adds r16=16, r17 //51 cc:2
nop.i 0;;
}
{ .mmb //R-Addr: 0X02e0
st4 [r15]=r16 //51 cc:3
nop.m 0
br.cond.sptk.few $LN11@zlibCompil#;; //51 cc:3
}
$LN8@zlibCompil:
// 52 : case 8: flags += 2 << 4; break;
{ .mib //R-Addr: 0X02f0
adds r11=flags$, sp //52 cc:0
adds r8=flags$, sp //52 cc:0
nop.b 0;;
}
{ .mmi //R-Addr: 0X0300
ld4 r10=[r11];; //52 cc:1
adds r9=32, r10 //52 cc:2
nop.i 0;;
}
{ .mmb //R-Addr: 0X0310
st4 [r8]=r9 //52 cc:3
nop.m 0
br.cond.sptk.few $LN11@zlibCompil#;; //52 cc:3
}
$LN7@zlibCompil:
// 53 : default: flags += 3 << 4;
{ .mib //R-Addr: 0X0320
adds r31=flags$, sp //53 cc:0
adds r28=flags$, sp //53 cc:0
nop.b 0;;
}
{ .mmi //R-Addr: 0X0330
ld4 r30=[r31];; //53 cc:1
adds r29=48, r30 //53 cc:2, 00000030H
nop.i 0;;
}
{ .mmi //R-Addr: 0X0340
st4 [r28]=r29;; //53 cc:3
nop.m 0
nop.i 0;;
}
$LN11@zlibCompil:
// 54 : }
// 55 : switch (sizeof(z_off_t)) {
{ .mmi //R-Addr: 0X0350
mov r27=4 //55 cc:0
adds r26=$T78798, sp //55 cc:0
adds r25=$T78798, sp;; //55 cc:0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -