📄 lift.cod
字号:
_main ENDP
_TEXT ENDS
PUBLIC ??_C@_0FE@KJB@?$LL?$LG?S?$KN?$LD?K?W?x?$LF?g?L?$NN?$CB?6?G?k?Q?$KB?T?q?R?$KK?V?$LE?P?P?$LF?D?$LC?Y?W?w@ ; `string'
PUBLIC ??_C@_02MECO@?$CFd?$AA@ ; `string'
EXTRN _scanf:NEAR
; COMDAT ??_C@_0FE@KJB@?$LL?$LG?S?$KN?$LD?K?W?x?$LF?g?L?$NN?$CB?6?G?k?Q?$KB?T?q?R?$KK?V?$LE?P?P?$LF?D?$LC?Y?W?w@
; File C:\Documents and Settings\Administrator\桌面\07412 4 LIFT\lift.c
CONST SEGMENT
??_C@_0FE@KJB@?$LL?$LG?S?$KN?$LD?K?W?x?$LF?g?L?$NN?$CB?6?G?k?Q?$KB?T?q?R?$KK?V?$LE?P?P?$LF?D?$LC?Y?W?w@ DB 0bbH
DB 0b6H, 0d3H, 0adH, 0b3H, 0cbH, 0d7H, 0f8H, 0b5H, 0e7H, 0ccH, 0ddH
DB '!', 0aH, 0c7H, 0ebH, 0d1H, 0a1H, 0d4H, 0f1H, 0d2H, 0aaH, 0d6H
DB 0b4H, 0d0H, 0d0H, 0b5H, 0c4H, 0b2H, 0d9H, 0d7H, 0f7H, ':', 0aH
DB '1 ', 0bdH, 0f8H, 0c8H, 0ebH, 0ceH, 0c4H, 0bcH, 0feH, 0b9H, 0dcH
DB 0c0H, 0edH, 0c4H, 0a3H, 0bfH, 0e9H, 0aH, '2 ', 0bfH, 0aaH, 0caH
DB 0bcH, 0d4H, 0cbH, 0d0H, 0d0H, 0b5H, 0e7H, 0ccH, 0ddH, 0b3H, 0ccH
DB 0d0H, 0f2H, 0aH, '3 ', 0cdH, 0cbH, 0b3H, 0f6H, 0b3H, 0ccH, 0d0H
DB 0f2H, 0aH, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_02MECO@?$CFd?$AA@
CONST SEGMENT
??_C@_02MECO@?$CFd?$AA@ DB '%d', 00H ; `string'
CONST ENDS
; COMDAT _GetSelection
_TEXT SEGMENT
_n$ = -4
_GetSelection PROC NEAR ; COMDAT
; 59 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 44 sub esp, 68 ; 00000044H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 8d 7d bc lea edi, DWORD PTR [ebp-68]
0000c b9 11 00 00 00 mov ecx, 17 ; 00000011H
00011 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00016 f3 ab rep stosd
; 60 : int n;
; 61 :
; 62 : printf("欢迎乘坐电梯!\n请选择要执行的操作:\n1 进入文件管理模块\n2 开始运行电梯程序\n3 退出程序\n");
00018 68 00 00 00 00 push OFFSET FLAT:??_C@_0FE@KJB@?$LL?$LG?S?$KN?$LD?K?W?x?$LF?g?L?$NN?$CB?6?G?k?Q?$KB?T?q?R?$KK?V?$LE?P?P?$LF?D?$LC?Y?W?w@ ; `string'
0001d e8 00 00 00 00 call _printf
00022 83 c4 04 add esp, 4
; 63 : scanf("%d",&n);
00025 8d 45 fc lea eax, DWORD PTR _n$[ebp]
00028 50 push eax
00029 68 00 00 00 00 push OFFSET FLAT:??_C@_02MECO@?$CFd?$AA@ ; `string'
0002e e8 00 00 00 00 call _scanf
00033 83 c4 08 add esp, 8
; 64 : return n;
00036 8b 45 fc mov eax, DWORD PTR _n$[ebp]
; 65 : }
00039 5f pop edi
0003a 5e pop esi
0003b 5b pop ebx
0003c 83 c4 44 add esp, 68 ; 00000044H
0003f 3b ec cmp ebp, esp
00041 e8 00 00 00 00 call __chkesp
00046 8b e5 mov esp, ebp
00048 5d pop ebp
00049 c3 ret 0
_GetSelection ENDP
_TEXT ENDS
PUBLIC ??_C@_0EP@HIKB@?Q?$KB?T?q?R?$KK?T?K?P?P?$LF?D?$LH?$LN?J?$LN?3?61?3?$LM?$PM?E?L?$LB?$NP?J?d?H?k?$LB?$NP@ ; `string'
PUBLIC ??_C@_01LLF@w?$AA@ ; `string'
PUBLIC ??_C@_09NJOF@write?4txt?$AA@ ; `string'
EXTRN _fopen:NEAR
EXTRN __imp__CreateThread@24:NEAR
EXTRN _GetInput1@4:NEAR
EXTRN _ReadFromFile:NEAR
EXTRN _RecordFileptr:DWORD
EXTRN _control:NEAR
; COMDAT ??_C@_0EP@HIKB@?Q?$KB?T?q?R?$KK?T?K?P?P?$LF?D?$LH?$LN?J?$LN?3?61?3?$LM?$PM?E?L?$LB?$NP?J?d?H?k?$LB?$NP@
; File C:\Documents and Settings\Administrator\桌面\07412 4 LIFT\lift.c
CONST SEGMENT
??_C@_0EP@HIKB@?Q?$KB?T?q?R?$KK?T?K?P?P?$LF?D?$LH?$LN?J?$LN?3?61?3?$LM?$PM?E?L?$LB?$NP?J?d?H?k?$LB?$NP@ DB 0d1H
DB 0a1H, 0d4H, 0f1H, 0d2H, 0aaH, 0d4H, 0cbH, 0d0H, 0d0H, 0b5H, 0c4H
DB 0b7H, 0bdH, 0caH, 0bdH, ':', 0aH, '1:', 0bcH, 0fcH, 0c5H, 0ccH
DB 0b1H, 0dfH, 0caH, 0e4H, 0c8H, 0ebH, 0b1H, 0dfH, 0d4H, 0cbH, 0d0H
DB 0d0H, 0aH, '2:', 0b8H, 0f9H, 0beH, 0ddH, 0ceH, 0c4H, 0bcH, 0feH
DB 0b5H, 0c4H, 0bcH, 0cdH, 0c2H, 0bcH, 0d4H, 0cbH, 0d0H, 0d0H, '('
DB 0d2H, 0aaH, 0d4H, 0cbH, 0d0H, 0d0H, 0b1H, 0d8H, 0d0H, 0ebH, 0cfH
DB 0c8H, 0bdH, 0f8H, 0d0H, 0d0H, '1', 0a3H, 0a9H, 0aH, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_01LLF@w?$AA@
CONST SEGMENT
??_C@_01LLF@w?$AA@ DB 'w', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_09NJOF@write?4txt?$AA@
CONST SEGMENT
??_C@_09NJOF@write?4txt?$AA@ DB 'write.txt', 00H ; `string'
CONST ENDS
; COMDAT _StartRun
_TEXT SEGMENT
_way$ = -4
_ThreadID1$53049 = -8
_hRead1$53050 = -12
_StartRun PROC NEAR ; COMDAT
; 71 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 4c sub esp, 76 ; 0000004cH
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 8d 7d b4 lea edi, DWORD PTR [ebp-76]
0000c b9 13 00 00 00 mov ecx, 19 ; 00000013H
00011 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00016 f3 ab rep stosd
; 72 :
; 73 : int way;
; 74 :
; 75 : printf("选择要运行的方式:\n1:键盘边输入边运行\n2:根据文件的纪录运行(要运行必须先进行1)\n");
00018 68 00 00 00 00 push OFFSET FLAT:??_C@_0EP@HIKB@?Q?$KB?T?q?R?$KK?T?K?P?P?$LF?D?$LH?$LN?J?$LN?3?61?3?$LM?$PM?E?L?$LB?$NP?J?d?H?k?$LB?$NP@ ; `string'
0001d e8 00 00 00 00 call _printf
00022 83 c4 04 add esp, 4
; 76 : scanf("%d",&way);/*选择方式*/
00025 8d 45 fc lea eax, DWORD PTR _way$[ebp]
00028 50 push eax
00029 68 00 00 00 00 push OFFSET FLAT:??_C@_02MECO@?$CFd?$AA@ ; `string'
0002e e8 00 00 00 00 call _scanf
00033 83 c4 08 add esp, 8
; 77 : fflush(stdin);
00036 68 00 00 00 00 push OFFSET FLAT:__iob
0003b e8 00 00 00 00 call _fflush
00040 83 c4 04 add esp, 4
; 78 : RecordFileptr=fopen("write.txt","w");/*打开纪录文件*/
00043 68 00 00 00 00 push OFFSET FLAT:??_C@_01LLF@w?$AA@ ; `string'
00048 68 00 00 00 00 push OFFSET FLAT:??_C@_09NJOF@write?4txt?$AA@ ; `string'
0004d e8 00 00 00 00 call _fopen
00052 83 c4 08 add esp, 8
00055 a3 00 00 00 00 mov DWORD PTR _RecordFileptr, eax
; 79 : if(way==1){
0005a 83 7d fc 01 cmp DWORD PTR _way$[ebp], 1
0005e 75 31 jne SHORT $L53048
; 80 : DWORD ThreadID1=1;/*创建输入线程1*/
00060 c7 45 f8 01 00
00 00 mov DWORD PTR _ThreadID1$53049[ebp], 1
; 81 : HANDLE hRead1=CreateThread(NULL,0,GetInput1,NULL,0,&ThreadID1);
00067 8b f4 mov esi, esp
00069 8d 4d f8 lea ecx, DWORD PTR _ThreadID1$53049[ebp]
0006c 51 push ecx
0006d 6a 00 push 0
0006f 6a 00 push 0
00071 68 00 00 00 00 push OFFSET FLAT:_GetInput1@4
00076 6a 00 push 0
00078 6a 00 push 0
0007a ff 15 00 00 00
00 call DWORD PTR __imp__CreateThread@24
00080 3b f4 cmp esi, esp
00082 e8 00 00 00 00 call __chkesp
00087 89 45 f4 mov DWORD PTR _hRead1$53050[ebp], eax
; 82 : control();/*进行控制*/
0008a e8 00 00 00 00 call _control
; 85 : else{
0008f eb 0a jmp SHORT $L53054
$L53048:
; 86 : //fflush(stdin) ;
; 87 : ReadFromFile();
00091 e8 00 00 00 00 call _ReadFromFile
; 88 : control();/*进行控制 */
00096 e8 00 00 00 00 call _control
$L53054:
; 90 :
; 91 :
; 92 : }
0009b 5f pop edi
0009c 5e pop esi
0009d 5b pop ebx
0009e 83 c4 4c add esp, 76 ; 0000004cH
000a1 3b ec cmp ebp, esp
000a3 e8 00 00 00 00 call __chkesp
000a8 8b e5 mov esp, ebp
000aa 5d pop ebp
000ab c3 ret 0
_StartRun ENDP
_TEXT ENDS
PUBLIC ??_C@_03KE@cls?$AA@ ; `string'
PUBLIC ??_C@_0BK@FAMP@?$LL?$LG?S?$KN?J?$LJ?S?C?$LB?$LO?$LD?L?P?r?0?P?$LL?P?$LL?$LK?O?W?w?$CB?6?$AA@ ; `string'
EXTRN _CloseAnnalFile:NEAR
EXTRN _FreeNote:NEAR
; COMDAT ??_C@_03KE@cls?$AA@
; File C:\Documents and Settings\Administrator\桌面\07412 4 LIFT\lift.c
CONST SEGMENT
??_C@_03KE@cls?$AA@ DB 'cls', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BK@FAMP@?$LL?$LG?S?$KN?J?$LJ?S?C?$LB?$LO?$LD?L?P?r?0?P?$LL?P?$LL?$LK?O?W?w?$CB?6?$AA@
CONST SEGMENT
??_C@_0BK@FAMP@?$LL?$LG?S?$KN?J?$LJ?S?C?$LB?$LO?$LD?L?P?r?0?P?$LL?P?$LL?$LK?O?W?w?$CB?6?$AA@ DB 0bbH
DB 0b6H, 0d3H, 0adH, 0caH, 0b9H, 0d3H, 0c3H, 0b1H, 0beH, 0b3H, 0ccH
DB 0d0H, 0f2H, ',', 0d0H, 0bbH, 0d0H, 0bbH, 0baH, 0cfH, 0d7H, 0f7H
DB '!', 0aH, 00H ; `string'
CONST ENDS
; COMDAT _Exit
_TEXT SEGMENT
_Exit PROC NEAR ; COMDAT
; 97 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 83 ec 40 sub esp, 64 ; 00000040H
00006 53 push ebx
00007 56 push esi
00008 57 push edi
00009 8d 7d c0 lea edi, DWORD PTR [ebp-64]
0000c b9 10 00 00 00 mov ecx, 16 ; 00000010H
00011 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
00016 f3 ab rep stosd
; 98 : system("cls");/*清除屏幕*/
00018 68 00 00 00 00 push OFFSET FLAT:??_C@_03KE@cls?$AA@ ; `string'
0001d e8 00 00 00 00 call _system
00022 83 c4 04 add esp, 4
; 99 : FreeNote();/*释放链表结点*/
00025 e8 00 00 00 00 call _FreeNote
; 100 : CloseAnnalFile();/*关闭记录文件*/
0002a e8 00 00 00 00 call _CloseAnnalFile
; 101 : printf("欢迎使用本程序,谢谢合作!\n");
0002f 68 00 00 00 00 push OFFSET FLAT:??_C@_0BK@FAMP@?$LL?$LG?S?$KN?J?$LJ?S?C?$LB?$LO?$LD?L?P?r?0?P?$LL?P?$LL?$LK?O?W?w?$CB?6?$AA@ ; `string'
00034 e8 00 00 00 00 call _printf
00039 83 c4 04 add esp, 4
; 102 : n2=1;
0003c c7 05 00 00 00
00 01 00 00 00 mov DWORD PTR _n2, 1
; 103 : }
00046 5f pop edi
00047 5e pop esi
00048 5b pop ebx
00049 83 c4 40 add esp, 64 ; 00000040H
0004c 3b ec cmp ebp, esp
0004e e8 00 00 00 00 call __chkesp
00053 8b e5 mov esp, ebp
00055 5d pop ebp
00056 c3 ret 0
_Exit ENDP
_TEXT ENDS
END
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -