outputflash.cod
来自「模拟电梯程序」· COD 代码 · 共 1,756 行 · 第 1/4 页
COD
1,756 行
TITLE C:\Documents and Settings\Administrator\桌面\07412 4 LIFT\OutputFlash.c
.386P
include listing.inc
if @Version gt 510
.model FLAT
else
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
_DATA SEGMENT DWORD USE32 PUBLIC 'DATA'
_DATA ENDS
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
_BSS SEGMENT DWORD USE32 PUBLIC 'BSS'
_BSS ENDS
$$SYMBOLS SEGMENT BYTE USE32 'DEBSYM'
$$SYMBOLS ENDS
$$TYPES SEGMENT BYTE USE32 'DEBTYP'
$$TYPES ENDS
_TLS SEGMENT DWORD USE32 PUBLIC 'TLS'
_TLS ENDS
; COMDAT ??_C@_09CGJA@T?9MAC?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0O@EOBB@?$LL?$LG?S?$KN?$LD?K?W?x?$LF?g?L?$NN?$CB?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0BO@DNIP@?W?i?T?$LB?307412?$LA?$OA?5?M?r?V?Z?5?M?u?$LO?$KH?5?A?u?L?l?$LN?$LO?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_08IIDB@lift?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0BA@HOFL@background2?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0L@HKKC@millan?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0M@ODON@beijing?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0P@KOMN@direction1?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0P@OOIH@direction3?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0P@EOKC@direction2?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0P@IOHN@direction4?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0P@JFGK@background?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_07GFNB@?$CFdb?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_05ECEF@1?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_05KCCK@2?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_05CAP@3?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_06BONA@?$CFd?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0P@COFI@direction5?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_0P@MODH@direction6?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_07IFLO@?$CFda?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_06DCOC@1a?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_06IMAC@2a?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT ??_C@_06BJKC@3a?4bmp?$AA@
CONST SEGMENT DWORD USE32 PUBLIC 'CONST'
CONST ENDS
; COMDAT _StartFlash
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT _ControlFlash
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
; COMDAT _ControlCallFlash
_TEXT SEGMENT PARA USE32 PUBLIC 'CODE'
_TEXT ENDS
FLAT GROUP _DATA, CONST, _BSS
ASSUME CS: FLAT, DS: FLAT, SS: FLAT
endif
_DATA SEGMENT
COMM _StatusFloor:DWORD
COMM _GoalFloor:DWORD
COMM _hEggs:DWORD:064H
_?lastfloor@?1??ControlFlash@@9@9 DD 01H
_DATA ENDS
PUBLIC _StartFlash
PUBLIC ??_C@_09CGJA@T?9MAC?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0O@EOBB@?$LL?$LG?S?$KN?$LD?K?W?x?$LF?g?L?$NN?$CB?$AA@ ; `string'
PUBLIC ??_C@_0BO@DNIP@?W?i?T?$LB?307412?$LA?$OA?5?M?r?V?Z?5?M?u?$LO?$KH?5?A?u?L?l?$LN?$LO?$AA@ ; `string'
PUBLIC ??_C@_08IIDB@lift?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0BA@HOFL@background2?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0L@HKKC@millan?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0M@ODON@beijing?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0P@KOMN@direction1?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0P@OOIH@direction3?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0P@EOKC@direction2?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0P@IOHN@direction4?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0P@JFGK@background?4bmp?$AA@ ; `string'
PUBLIC ??_C@_07GFNB@?$CFdb?4bmp?$AA@ ; `string'
PUBLIC ??_C@_05ECEF@1?4bmp?$AA@ ; `string'
PUBLIC ??_C@_05KCCK@2?4bmp?$AA@ ; `string'
PUBLIC ??_C@_05CAP@3?4bmp?$AA@ ; `string'
PUBLIC ??_C@_06BONA@?$CFd?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0P@COFI@direction5?4bmp?$AA@ ; `string'
PUBLIC ??_C@_0P@MODH@direction6?4bmp?$AA@ ; `string'
PUBLIC ??_C@_07IFLO@?$CFda?4bmp?$AA@ ; `string'
PUBLIC ??_C@_06DCOC@1a?4bmp?$AA@ ; `string'
PUBLIC ??_C@_06IMAC@2a?4bmp?$AA@ ; `string'
PUBLIC ??_C@_06BJKC@3a?4bmp?$AA@ ; `string'
PUBLIC __real@8@3fff8cccccccccccd000
PUBLIC __real@8@4002e000000000000000
PUBLIC __real@8@3fff8000000000000000
PUBLIC __real@8@4002d999999999999800
PUBLIC __real@8@40019cccccccccccd000
PUBLIC __real@8@4001bcccccccccccd000
PUBLIC __real@8@3fff9999999999999800
PUBLIC __real@8@4001c000000000000000
EXTRN _sprintf:NEAR
EXTRN _EggStart:NEAR
EXTRN _MovePen:NEAR
EXTRN _DrawLine:NEAR
EXTRN _DrawString:NEAR
EXTRN _DrawBitmap:NEAR
EXTRN _LayEgg:NEAR
EXTRN _EatEgg:NEAR
EXTRN _SetActiveEgg:NEAR
EXTRN _ShowEgg:NEAR
EXTRN _WaitFor:NEAR
EXTRN __chkesp:NEAR
EXTRN __fltused:NEAR
; COMDAT ??_C@_09CGJA@T?9MAC?4bmp?$AA@
; File c:\documents and settings\administrator\桌面\07412 4 lift\outputflash.c
CONST SEGMENT
??_C@_09CGJA@T?9MAC?4bmp?$AA@ DB 'T-MAC.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0O@EOBB@?$LL?$LG?S?$KN?$LD?K?W?x?$LF?g?L?$NN?$CB?$AA@
CONST SEGMENT
??_C@_0O@EOBB@?$LL?$LG?S?$KN?$LD?K?W?x?$LF?g?L?$NN?$CB?$AA@ DB 0bbH, 0b6H
DB 0d3H, 0adH, 0b3H, 0cbH, 0d7H, 0f8H, 0b5H, 0e7H, 0ccH, 0ddH, '!'
DB 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BO@DNIP@?W?i?T?$LB?307412?$LA?$OA?5?M?r?V?Z?5?M?u?$LO?$KH?5?A?u?L?l?$LN?$LO?$AA@
CONST SEGMENT
??_C@_0BO@DNIP@?W?i?T?$LB?307412?$LA?$OA?5?M?r?V?Z?5?M?u?$LO?$KH?5?A?u?L?l?$LN?$LO?$AA@ DB 0d7H
DB 0e9H, 0d4H, 0b1H, ':07412', 0b0H, 0e0H, ' ', 0cdH, 0f2H, 0d6H, 0daH
DB ' ', 0cdH, 0f5H, 0beH, 0a7H, ' ', 0c1H, 0f5H, 0ccH, 0ecH, 0bdH
DB 0beH, 00H ; `string'
CONST ENDS
; COMDAT ??_C@_08IIDB@lift?4bmp?$AA@
CONST SEGMENT
??_C@_08IIDB@lift?4bmp?$AA@ DB 'lift.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0BA@HOFL@background2?4bmp?$AA@
CONST SEGMENT
??_C@_0BA@HOFL@background2?4bmp?$AA@ DB 'background2.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0L@HKKC@millan?4bmp?$AA@
CONST SEGMENT
??_C@_0L@HKKC@millan?4bmp?$AA@ DB 'millan.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0M@ODON@beijing?4bmp?$AA@
CONST SEGMENT
??_C@_0M@ODON@beijing?4bmp?$AA@ DB 'beijing.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0P@KOMN@direction1?4bmp?$AA@
CONST SEGMENT
??_C@_0P@KOMN@direction1?4bmp?$AA@ DB 'direction1.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0P@OOIH@direction3?4bmp?$AA@
CONST SEGMENT
??_C@_0P@OOIH@direction3?4bmp?$AA@ DB 'direction3.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0P@EOKC@direction2?4bmp?$AA@
CONST SEGMENT
??_C@_0P@EOKC@direction2?4bmp?$AA@ DB 'direction2.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0P@IOHN@direction4?4bmp?$AA@
CONST SEGMENT
??_C@_0P@IOHN@direction4?4bmp?$AA@ DB 'direction4.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0P@JFGK@background?4bmp?$AA@
CONST SEGMENT
??_C@_0P@JFGK@background?4bmp?$AA@ DB 'background.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_07GFNB@?$CFdb?4bmp?$AA@
CONST SEGMENT
??_C@_07GFNB@?$CFdb?4bmp?$AA@ DB '%db.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_05ECEF@1?4bmp?$AA@
CONST SEGMENT
??_C@_05ECEF@1?4bmp?$AA@ DB '1.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_05KCCK@2?4bmp?$AA@
CONST SEGMENT
??_C@_05KCCK@2?4bmp?$AA@ DB '2.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_05CAP@3?4bmp?$AA@
CONST SEGMENT
??_C@_05CAP@3?4bmp?$AA@ DB '3.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_06BONA@?$CFd?4bmp?$AA@
CONST SEGMENT
??_C@_06BONA@?$CFd?4bmp?$AA@ DB '%d.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0P@COFI@direction5?4bmp?$AA@
CONST SEGMENT
??_C@_0P@COFI@direction5?4bmp?$AA@ DB 'direction5.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_0P@MODH@direction6?4bmp?$AA@
CONST SEGMENT
??_C@_0P@MODH@direction6?4bmp?$AA@ DB 'direction6.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_07IFLO@?$CFda?4bmp?$AA@
CONST SEGMENT
??_C@_07IFLO@?$CFda?4bmp?$AA@ DB '%da.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_06DCOC@1a?4bmp?$AA@
CONST SEGMENT
??_C@_06DCOC@1a?4bmp?$AA@ DB '1a.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_06IMAC@2a?4bmp?$AA@
CONST SEGMENT
??_C@_06IMAC@2a?4bmp?$AA@ DB '2a.bmp', 00H ; `string'
CONST ENDS
; COMDAT ??_C@_06BJKC@3a?4bmp?$AA@
CONST SEGMENT
??_C@_06BJKC@3a?4bmp?$AA@ DB '3a.bmp', 00H ; `string'
CONST ENDS
; COMDAT __real@8@3fff8cccccccccccd000
CONST SEGMENT
__real@8@3fff8cccccccccccd000 DQ 03ff199999999999ar ; 1.1
CONST ENDS
; COMDAT __real@8@4002e000000000000000
CONST SEGMENT
__real@8@4002e000000000000000 DQ 0402c000000000000r ; 14
CONST ENDS
; COMDAT __real@8@3fff8000000000000000
CONST SEGMENT
__real@8@3fff8000000000000000 DQ 03ff0000000000000r ; 1
CONST ENDS
; COMDAT __real@8@4002d999999999999800
CONST SEGMENT
__real@8@4002d999999999999800 DQ 0402b333333333333r ; 13.6
CONST ENDS
; COMDAT __real@8@40019cccccccccccd000
CONST SEGMENT
__real@8@40019cccccccccccd000 DQ 0401399999999999ar ; 4.9
CONST ENDS
; COMDAT __real@8@4001bcccccccccccd000
CONST SEGMENT
__real@8@4001bcccccccccccd000 DQ 0401799999999999ar ; 5.9
CONST ENDS
; COMDAT __real@8@3fff9999999999999800
CONST SEGMENT
__real@8@3fff9999999999999800 DQ 03ff3333333333333r ; 1.2
CONST ENDS
; COMDAT __real@8@4001c000000000000000
CONST SEGMENT
__real@8@4001c000000000000000 DQ 04018000000000000r ; 6
CONST ENDS
; COMDAT _StartFlash
_TEXT SEGMENT
_i$ = -4
_floor$ = -44
_a$ = -48
_filePath$ = -68
_StartFlash PROC NEAR ; COMDAT
; 11 : {
00000 55 push ebp
00001 8b ec mov ebp, esp
00003 81 ec 00 01 00
00 sub esp, 256 ; 00000100H
00009 53 push ebx
0000a 56 push esi
0000b 57 push edi
0000c 8d bd 00 ff ff
ff lea edi, DWORD PTR [ebp-256]
00012 b9 40 00 00 00 mov ecx, 64 ; 00000040H
00017 b8 cc cc cc cc mov eax, -858993460 ; ccccccccH
0001c f3 ab rep stosd
; 12 : int i,j;
; 13 : char *floor[9]={'1','2','3','4','5','6','7','8','9'};
0001e c7 45 d4 31 00
00 00 mov DWORD PTR _floor$[ebp], 49 ; 00000031H
00025 c7 45 d8 32 00
00 00 mov DWORD PTR _floor$[ebp+4], 50 ; 00000032H
0002c c7 45 dc 33 00
00 00 mov DWORD PTR _floor$[ebp+8], 51 ; 00000033H
00033 c7 45 e0 34 00
00 00 mov DWORD PTR _floor$[ebp+12], 52 ; 00000034H
0003a c7 45 e4 35 00
00 00 mov DWORD PTR _floor$[ebp+16], 53 ; 00000035H
00041 c7 45 e8 36 00
00 00 mov DWORD PTR _floor$[ebp+20], 54 ; 00000036H
00048 c7 45 ec 37 00
00 00 mov DWORD PTR _floor$[ebp+24], 55 ; 00000037H
0004f c7 45 f0 38 00
00 00 mov DWORD PTR _floor$[ebp+28], 56 ; 00000038H
00056 c7 45 f4 39 00
00 00 mov DWORD PTR _floor$[ebp+32], 57 ; 00000039H
; 14 : int a=1;
0005d c7 45 d0 01 00
00 00 mov DWORD PTR _a$[ebp], 1
; 15 : char filePath[20];
; 16 : char startwords[100];
; 17 :
; 18 : EggStart(10, 15);
00064 68 00 00 2e 40 push 1076756480 ; 402e0000H
00069 6a 00 push 0
0006b 68 00 00 24 40 push 1076101120 ; 40240000H
00070 6a 00 push 0
00072 e8 00 00 00 00 call _EggStart
00077 83 c4 10 add esp, 16 ; 00000010H
; 19 :
; 20 : hEggs[67] = LayEgg();
0007a e8 00 00 00 00 call _LayEgg
0007f a3 0c 01 00 00 mov DWORD PTR _hEggs+268, eax
; 21 : DrawBitmap("T-MAC.bmp");
00084 68 00 00 00 00 push OFFSET FLAT:??_C@_09CGJA@T?9MAC?4bmp?$AA@ ; `string'
00089 e8 00 00 00 00 call _DrawBitmap
0008e 83 c4 04 add esp, 4
; 22 : WaitFor(3000);
00091 68 b8 0b 00 00 push 3000 ; 00000bb8H
00096 e8 00 00 00 00 call _WaitFor
0009b 83 c4 04 add esp, 4
; 23 : EatEgg();
0009e e8 00 00 00 00 call _EatEgg
; 24 : MovePen(0,15);
000a3 68 00 00 2e 40 push 1076756480 ; 402e0000H
000a8 6a 00 push 0
000aa 6a 00 push 0
000ac 6a 00 push 0
000ae e8 00 00 00 00 call _MovePen
000b3 83 c4 10 add esp, 16 ; 00000010H
; 25 : DrawString("欢迎乘坐电梯!");
000b6 68 00 00 00 00 push OFFSET FLAT:??_C@_0O@EOBB@?$LL?$LG?S?$KN?$LD?K?W?x?$LF?g?L?$NN?$CB?$AA@ ; `string'
000bb e8 00 00 00 00 call _DrawString
000c0 83 c4 04 add esp, 4
; 26 : MovePen(0,14.5);
000c3 68 00 00 2d 40 push 1076690944 ; 402d0000H
000c8 6a 00 push 0
000ca 6a 00 push 0
000cc 6a 00 push 0
000ce e8 00 00 00 00 call _MovePen
000d3 83 c4 10 add esp, 16 ; 00000010H
; 27 : DrawString("组员:07412班 万众 王晶 刘天骄");
000d6 68 00 00 00 00 push OFFSET FLAT:??_C@_0BO@DNIP@?W?i?T?$LB?307412?$LA?$OA?5?M?r?V?Z?5?M?u?$LO?$KH?5?A?u?L?l?$LN?$LO?$AA@ ; `string'
000db e8 00 00 00 00 call _DrawString
000e0 83 c4 04 add esp, 4
; 28 : hEggs[1] = LayEgg();
000e3 e8 00 00 00 00 call _LayEgg
000e8 a3 04 00 00 00 mov DWORD PTR _hEggs+4, eax
; 29 : MovePen(1, 5.21);
000ed 68 0a d7 14 40 push 1075107594 ; 4014d70aH
000f2 68 d7 a3 70 3d push 1030792151 ; 3d70a3d7H
000f7 68 00 00 f0 3f push 1072693248 ; 3ff00000H
000fc 6a 00 push 0
000fe e8 00 00 00 00 call _MovePen
00103 83 c4 10 add esp, 16 ; 00000010H
; 30 : DrawBitmap("lift.bmp");
00106 68 00 00 00 00 push OFFSET FLAT:??_C@_08IIDB@lift?4bmp?$AA@ ; `string'
0010b e8 00 00 00 00 call _DrawBitmap
00110 83 c4 04 add esp, 4
; 31 :
; 32 : hEggs[2] = LayEgg();
00113 e8 00 00 00 00 call _LayEgg
00118 a3 08 00 00 00 mov DWORD PTR _hEggs+8, eax
; 33 : MovePen(1, 14);
0011d 68 00 00 2c 40 push 1076625408 ; 402c0000H
00122 6a 00 push 0
00124 68 00 00 f0 3f push 1072693248 ; 3ff00000H
00129 6a 00 push 0
0012b e8 00 00 00 00 call _MovePen
00130 83 c4 10 add esp, 16 ; 00000010H
; 34 : DrawLine(0, -10);
00133 68 00 00 24 c0 push -1071382528 ; c0240000H
00138 6a 00 push 0
0013a 6a 00 push 0
0013c 6a 00 push 0
0013e e8 00 00 00 00 call _DrawLine
00143 83 c4 10 add esp, 16 ; 00000010H
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?