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

📄 zutil.asm

📁 zlib dll in wince 5.0 parfrom
💻 ASM
📖 第 1 页 / 共 2 页
字号:
// 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 + -