?? ioapi.cod
字號:
; Listing generated by Microsoft (R) Optimizing Compiler Version 14.00.50727.762
TITLE d:\src\VS2005\cpp\CeRemoteClient\zlib123\contrib\minizip\ioapi.c
.686P
.XMM
include listing.inc
.model flat
INCLUDELIB OLDNAMES
PUBLIC ??_C@_02JDPG@rb?$AA@ ; `string'
PUBLIC ??_C@_03HMFOOINA@r?$CLb?$AA@ ; `string'
PUBLIC ??_C@_02GMLFBBN@wb?$AA@ ; `string'
; COMDAT ??_C@_02GMLFBBN@wb?$AA@
CONST SEGMENT
??_C@_02GMLFBBN@wb?$AA@ DB 'wb', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_03HMFOOINA@r?$CLb?$AA@
CONST SEGMENT
??_C@_03HMFOOINA@r?$CLb?$AA@ DB 'r+b', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_02JDPG@rb?$AA@
CONST SEGMENT
??_C@_02JDPG@rb?$AA@ DB 'rb', 00H ; `string'
PUBLIC _ferror_file_func
; Function compile flags: /Ogtpy
; File d:\src\vs2005\cpp\ceremoteclient\zlib123\contrib\minizip\ioapi.c
; COMDAT _ferror_file_func
_TEXT SEGMENT
_opaque$ = 8 ; size = 4
_stream$ = 12 ; size = 4
_ferror_file_func PROC ; COMDAT
; 161 : int ret;
; 162 : ret = ferror((FILE *)stream);
00000 8b 44 24 08 mov eax, DWORD PTR _stream$[esp-4]
00004 50 push eax
00005 ff 15 00 00 00
00 call DWORD PTR __imp__ferror
0000b 83 c4 04 add esp, 4
; 163 : return ret;
; 164 : }
0000e c3 ret 0
_ferror_file_func ENDP
_TEXT ENDS
PUBLIC _fclose_file_func
; Function compile flags: /Ogtpy
; COMDAT _fclose_file_func
_TEXT SEGMENT
_opaque$ = 8 ; size = 4
_stream$ = 12 ; size = 4
_fclose_file_func PROC ; COMDAT
; 152 : int ret;
; 153 : ret = fclose((FILE *)stream);
00000 8b 44 24 08 mov eax, DWORD PTR _stream$[esp-4]
00004 50 push eax
00005 ff 15 00 00 00
00 call DWORD PTR __imp__fclose
0000b 83 c4 04 add esp, 4
; 154 : return ret;
; 155 : }
0000e c3 ret 0
_fclose_file_func ENDP
_TEXT ENDS
PUBLIC _fseek_file_func
; Function compile flags: /Ogtpy
; COMDAT _fseek_file_func
_TEXT SEGMENT
_opaque$ = 8 ; size = 4
_stream$ = 12 ; size = 4
_offset$ = 16 ; size = 4
_origin$ = 20 ; size = 4
_fseek_file_func PROC ; COMDAT
; 128 : int fseek_origin=0;
; 129 : long ret;
; 130 : switch (origin)
00000 8b 44 24 10 mov eax, DWORD PTR _origin$[esp-4]
00004 83 e8 00 sub eax, 0
00007 74 1c je SHORT $LN2@fseek_file
00009 83 e8 01 sub eax, 1
0000c 74 10 je SHORT $LN4@fseek_file
0000e 83 e8 01 sub eax, 1
00011 74 04 je SHORT $LN3@fseek_file
; 140 : break;
; 141 : default: return -1;
00013 83 c8 ff or eax, -1
; 146 : }
00016 c3 ret 0
$LN3@fseek_file:
; 135 : case ZLIB_FILEFUNC_SEEK_END :
; 136 : fseek_origin = SEEK_END;
00017 b8 02 00 00 00 mov eax, 2
; 137 : break;
0001c eb 09 jmp SHORT $LN5@fseek_file
$LN4@fseek_file:
; 131 : {
; 132 : case ZLIB_FILEFUNC_SEEK_CUR :
; 133 : fseek_origin = SEEK_CUR;
0001e b8 01 00 00 00 mov eax, 1
; 134 : break;
00023 eb 02 jmp SHORT $LN5@fseek_file
$LN2@fseek_file:
; 138 : case ZLIB_FILEFUNC_SEEK_SET :
; 139 : fseek_origin = SEEK_SET;
00025 33 c0 xor eax, eax
$LN5@fseek_file:
; 142 : }
; 143 : ret = 0;
; 144 : fseek((FILE *)stream, offset, fseek_origin);
00027 8b 4c 24 08 mov ecx, DWORD PTR _stream$[esp-4]
0002b 50 push eax
0002c 8b 44 24 10 mov eax, DWORD PTR _offset$[esp]
00030 50 push eax
00031 51 push ecx
00032 ff 15 00 00 00
00 call DWORD PTR __imp__fseek
00038 83 c4 0c add esp, 12 ; 0000000cH
; 145 : return ret;
0003b 33 c0 xor eax, eax
; 146 : }
0003d c3 ret 0
_fseek_file_func ENDP
_TEXT ENDS
PUBLIC _ftell_file_func
; Function compile flags: /Ogtpy
; COMDAT _ftell_file_func
_TEXT SEGMENT
_opaque$ = 8 ; size = 4
_stream$ = 12 ; size = 4
_ftell_file_func PROC ; COMDAT
; 117 : long ret;
; 118 : ret = ftell((FILE *)stream);
00000 8b 44 24 08 mov eax, DWORD PTR _stream$[esp-4]
00004 50 push eax
00005 ff 15 00 00 00
00 call DWORD PTR __imp__ftell
0000b 83 c4 04 add esp, 4
; 119 : return ret;
; 120 : }
0000e c3 ret 0
_ftell_file_func ENDP
_TEXT ENDS
PUBLIC _fwrite_file_func
; Function compile flags: /Ogtpy
; COMDAT _fwrite_file_func
_TEXT SEGMENT
_opaque$ = 8 ; size = 4
_stream$ = 12 ; size = 4
_buf$ = 16 ; size = 4
_size$ = 20 ; size = 4
_fwrite_file_func PROC ; COMDAT
; 108 : uLong ret;
; 109 : ret = (uLong)fwrite(buf, 1, (size_t)size, (FILE *)stream);
00000 8b 44 24 08 mov eax, DWORD PTR _stream$[esp-4]
00004 8b 4c 24 10 mov ecx, DWORD PTR _size$[esp-4]
00008 8b 54 24 0c mov edx, DWORD PTR _buf$[esp-4]
0000c 50 push eax
0000d 51 push ecx
0000e 6a 01 push 1
00010 52 push edx
00011 ff 15 00 00 00
00 call DWORD PTR __imp__fwrite
00017 83 c4 10 add esp, 16 ; 00000010H
; 110 : return ret;
; 111 : }
0001a c3 ret 0
_fwrite_file_func ENDP
_TEXT ENDS
PUBLIC _fread_file_func
; Function compile flags: /Ogtpy
; COMDAT _fread_file_func
_TEXT SEGMENT
_opaque$ = 8 ; size = 4
_stream$ = 12 ; size = 4
_buf$ = 16 ; size = 4
_size$ = 20 ; size = 4
_fread_file_func PROC ; COMDAT
; 96 : uLong ret;
; 97 : ret = (uLong)fread(buf, 1, (size_t)size, (FILE *)stream);
00000 8b 44 24 08 mov eax, DWORD PTR _stream$[esp-4]
00004 8b 4c 24 10 mov ecx, DWORD PTR _size$[esp-4]
00008 8b 54 24 0c mov edx, DWORD PTR _buf$[esp-4]
0000c 50 push eax
0000d 51 push ecx
0000e 6a 01 push 1
00010 52 push edx
00011 ff 15 00 00 00
00 call DWORD PTR __imp__fread
00017 83 c4 10 add esp, 16 ; 00000010H
; 98 : return ret;
; 99 : }
0001a c3 ret 0
_fread_file_func ENDP
_TEXT ENDS
PUBLIC _fopen_file_func
; Function compile flags: /Ogtpy
; COMDAT _fopen_file_func
_TEXT SEGMENT
_opaque$ = 8 ; size = 4
_filename$ = 12 ; size = 4
_mode$ = 16 ; size = 4
_fopen_file_func PROC ; COMDAT
; 73 : FILE* file = NULL;
; 74 : const char* mode_fopen = NULL;
; 75 : if ((mode & ZLIB_FILEFUNC_MODE_READWRITEFILTER)==ZLIB_FILEFUNC_MODE_READ)
00000 8b 54 24 0c mov edx, DWORD PTR _mode$[esp-4]
00004 8b c2 mov eax, edx
00006 56 push esi
00007 24 03 and al, 3
00009 33 f6 xor esi, esi
0000b 33 c9 xor ecx, ecx
0000d 3c 01 cmp al, 1
0000f 75 07 jne SHORT $LN6@fopen_file
; 76 : mode_fopen = "rb";
00011 b9 00 00 00 00 mov ecx, OFFSET ??_C@_02JDPG@rb?$AA@
; 77 : else
00016 eb 16 jmp SHORT $LN2@fopen_file
$LN6@fopen_file:
; 78 : if (mode & ZLIB_FILEFUNC_MODE_EXISTING)
00018 f6 c2 04 test dl, 4
0001b 74 07 je SHORT $LN4@fopen_file
; 79 : mode_fopen = "r+b";
0001d b9 00 00 00 00 mov ecx, OFFSET ??_C@_03HMFOOINA@r?$CLb?$AA@
; 80 : else
00022 eb 0a jmp SHORT $LN2@fopen_file
$LN4@fopen_file:
; 81 : if (mode & ZLIB_FILEFUNC_MODE_CREATE)
00024 f6 c2 08 test dl, 8
00027 74 05 je SHORT $LN2@fopen_file
; 82 : mode_fopen = "wb";
00029 b9 00 00 00 00 mov ecx, OFFSET ??_C@_02GMLFBBN@wb?$AA@
$LN2@fopen_file:
; 83 :
; 84 : if ((filename!=NULL) && (mode_fopen != NULL))
0002e 8b 54 24 0c mov edx, DWORD PTR _filename$[esp]
00032 85 d2 test edx, edx
00034 74 11 je SHORT $LN10@fopen_file
00036 85 c9 test ecx, ecx
00038 74 0d je SHORT $LN10@fopen_file
; 85 : file = fopen(filename, mode_fopen);
0003a 51 push ecx
0003b 52 push edx
0003c ff 15 00 00 00
00 call DWORD PTR __imp__fopen
00042 83 c4 08 add esp, 8
00045 5e pop esi
; 87 : }
00046 c3 ret 0
$LN10@fopen_file:
; 86 : return file;
00047 8b c6 mov eax, esi
00049 5e pop esi
; 87 : }
0004a c3 ret 0
_fopen_file_func ENDP
PUBLIC _fill_fopen_filefunc
; Function compile flags: /Ogtpy
; COMDAT _fill_fopen_filefunc
_TEXT SEGMENT
_fill_fopen_filefunc PROC ; COMDAT
; _pzlib_filefunc_def$ = eax
; 169 : pzlib_filefunc_def->zopen_file = fopen_file_func;
00000 c7 00 00 00 00
00 mov DWORD PTR [eax], OFFSET _fopen_file_func
; 170 : pzlib_filefunc_def->zread_file = fread_file_func;
00006 c7 40 04 00 00
00 00 mov DWORD PTR [eax+4], OFFSET _fread_file_func
; 171 : pzlib_filefunc_def->zwrite_file = fwrite_file_func;
0000d c7 40 08 00 00
00 00 mov DWORD PTR [eax+8], OFFSET _fwrite_file_func
; 172 : pzlib_filefunc_def->ztell_file = ftell_file_func;
00014 c7 40 0c 00 00
00 00 mov DWORD PTR [eax+12], OFFSET _ftell_file_func
; 173 : pzlib_filefunc_def->zseek_file = fseek_file_func;
0001b c7 40 10 00 00
00 00 mov DWORD PTR [eax+16], OFFSET _fseek_file_func
; 174 : pzlib_filefunc_def->zclose_file = fclose_file_func;
00022 c7 40 14 00 00
00 00 mov DWORD PTR [eax+20], OFFSET _fclose_file_func
; 175 : pzlib_filefunc_def->zerror_file = ferror_file_func;
00029 c7 40 18 00 00
00 00 mov DWORD PTR [eax+24], OFFSET _ferror_file_func
; 176 : pzlib_filefunc_def->opaque = NULL;
00030 c7 40 1c 00 00
00 00 mov DWORD PTR [eax+28], 0
; 177 : }
00037 c3 ret 0
_fill_fopen_filefunc ENDP
END
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -