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

📄 lift.cod

📁 模拟电梯程序
💻 COD
📖 第 1 页 / 共 2 页
字号:
_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 + -