outputflash.cod

来自「模拟电梯程序」· COD 代码 · 共 1,756 行 · 第 1/4 页

COD
1,756
字号
  00513	51		 push	 ecx
  00514	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_07GFNB@?$CFdb?4bmp?$AA@ ; `string'
  00519	8d 55 bc	 lea	 edx, DWORD PTR _filePath$[ebp]
  0051c	52		 push	 edx
  0051d	e8 00 00 00 00	 call	 _sprintf
  00522	83 c4 0c	 add	 esp, 12			; 0000000cH

; 90   : 		hEggs[34+i] = LayEgg();

  00525	e8 00 00 00 00	 call	 _LayEgg
  0052a	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  0052d	89 04 8d 88 00
	00 00		 mov	 DWORD PTR _hEggs[ecx*4+136], eax

; 91   : 		ShowEgg(0); 

  00534	6a 00		 push	 0
  00536	e8 00 00 00 00	 call	 _ShowEgg
  0053b	83 c4 04	 add	 esp, 4

; 92   : 		MovePen(7.4, 10.6);

  0053e	68 33 33 25 40	 push	 1076179763		; 40253333H
  00543	68 33 33 33 33	 push	 858993459		; 33333333H
  00548	68 99 99 1d 40	 push	 1075681689		; 401d9999H
  0054d	68 9a 99 99 99	 push	 -1717986918		; 9999999aH
  00552	e8 00 00 00 00	 call	 _MovePen
  00557	83 c4 10	 add	 esp, 16			; 00000010H

; 93   : 		DrawBitmap(filePath);

  0055a	8d 55 bc	 lea	 edx, DWORD PTR _filePath$[ebp]
  0055d	52		 push	 edx
  0055e	e8 00 00 00 00	 call	 _DrawBitmap
  00563	83 c4 04	 add	 esp, 4

; 94   : 		SetActiveEgg(hEggs[34+i]);

  00566	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00569	8b 0c 85 88 00
	00 00		 mov	 ecx, DWORD PTR _hEggs[eax*4+136]
  00570	51		 push	 ecx
  00571	e8 00 00 00 00	 call	 _SetActiveEgg
  00576	83 c4 04	 add	 esp, 4

; 95   : 	}

  00579	eb 86		 jmp	 SHORT $L52992
$L52993:

; 96   : 	
; 97   : 	hEggs[46] = LayEgg();

  0057b	e8 00 00 00 00	 call	 _LayEgg
  00580	a3 b8 00 00 00	 mov	 DWORD PTR _hEggs+184, eax

; 98   :     MovePen(7.4, 6);

  00585	68 00 00 18 40	 push	 1075314688		; 40180000H
  0058a	6a 00		 push	 0
  0058c	68 99 99 1d 40	 push	 1075681689		; 401d9999H
  00591	68 9a 99 99 99	 push	 -1717986918		; 9999999aH
  00596	e8 00 00 00 00	 call	 _MovePen
  0059b	83 c4 10	 add	 esp, 16			; 00000010H

; 99   :     DrawBitmap("1.bmp");

  0059e	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_05ECEF@1?4bmp?$AA@ ; `string'
  005a3	e8 00 00 00 00	 call	 _DrawBitmap
  005a8	83 c4 04	 add	 esp, 4

; 100  : 	
; 101  :     hEggs[47] = LayEgg();

  005ab	e8 00 00 00 00	 call	 _LayEgg
  005b0	a3 bc 00 00 00	 mov	 DWORD PTR _hEggs+188, eax

; 102  :     MovePen(7.4, 7.2);

  005b5	68 cc cc 1c 40	 push	 1075629260		; 401cccccH
  005ba	68 cd cc cc cc	 push	 -858993459		; cccccccdH
  005bf	68 99 99 1d 40	 push	 1075681689		; 401d9999H
  005c4	68 9a 99 99 99	 push	 -1717986918		; 9999999aH
  005c9	e8 00 00 00 00	 call	 _MovePen
  005ce	83 c4 10	 add	 esp, 16			; 00000010H

; 103  :     DrawBitmap("2.bmp");

  005d1	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_05KCCK@2?4bmp?$AA@ ; `string'
  005d6	e8 00 00 00 00	 call	 _DrawBitmap
  005db	83 c4 04	 add	 esp, 4

; 104  : 
; 105  :     hEggs[48] = LayEgg();

  005de	e8 00 00 00 00	 call	 _LayEgg
  005e3	a3 c0 00 00 00	 mov	 DWORD PTR _hEggs+192, eax

; 106  :     MovePen(7.4, 8.4);

  005e8	68 cc cc 20 40	 push	 1075891404		; 4020ccccH
  005ed	68 cd cc cc cc	 push	 -858993459		; cccccccdH
  005f2	68 99 99 1d 40	 push	 1075681689		; 401d9999H
  005f7	68 9a 99 99 99	 push	 -1717986918		; 9999999aH
  005fc	e8 00 00 00 00	 call	 _MovePen
  00601	83 c4 10	 add	 esp, 16			; 00000010H

; 107  :     DrawBitmap("3.bmp");

  00604	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_05CAP@3?4bmp?$AA@ ; `string'
  00609	e8 00 00 00 00	 call	 _DrawBitmap
  0060e	83 c4 04	 add	 esp, 4

; 108  : 	for (i=4; i!=10; i++){

  00611	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR _i$[ebp], 4
  00618	eb 09		 jmp	 SHORT $L52998
$L52999:
  0061a	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  0061d	83 c2 01	 add	 edx, 1
  00620	89 55 fc	 mov	 DWORD PTR _i$[ebp], edx
$L52998:
  00623	83 7d fc 0a	 cmp	 DWORD PTR _i$[ebp], 10	; 0000000aH
  00627	74 68		 je	 SHORT $L53000

; 109  : 		sprintf(filePath, "%d.bmp", i);

  00629	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  0062c	50		 push	 eax
  0062d	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_06BONA@?$CFd?4bmp?$AA@ ; `string'
  00632	8d 4d bc	 lea	 ecx, DWORD PTR _filePath$[ebp]
  00635	51		 push	 ecx
  00636	e8 00 00 00 00	 call	 _sprintf
  0063b	83 c4 0c	 add	 esp, 12			; 0000000cH

; 110  : 		hEggs[45+i] = LayEgg();

  0063e	e8 00 00 00 00	 call	 _LayEgg
  00643	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00646	89 04 95 b4 00
	00 00		 mov	 DWORD PTR _hEggs[edx*4+180], eax

; 111  : 		MovePen(5.9, 6+1.2*(i-4));

  0064d	8b 45 fc	 mov	 eax, DWORD PTR _i$[ebp]
  00650	83 e8 04	 sub	 eax, 4
  00653	89 85 44 ff ff
	ff		 mov	 DWORD PTR -188+[ebp], eax
  00659	db 85 44 ff ff
	ff		 fild	 DWORD PTR -188+[ebp]
  0065f	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@8@3fff9999999999999800
  00665	dc 05 00 00 00
	00		 fadd	 QWORD PTR __real@8@4001c000000000000000
  0066b	83 ec 08	 sub	 esp, 8
  0066e	dd 1c 24	 fstp	 QWORD PTR [esp]
  00671	68 99 99 17 40	 push	 1075288473		; 40179999H
  00676	68 9a 99 99 99	 push	 -1717986918		; 9999999aH
  0067b	e8 00 00 00 00	 call	 _MovePen
  00680	83 c4 10	 add	 esp, 16			; 00000010H

; 112  : 		DrawBitmap(filePath);

  00683	8d 4d bc	 lea	 ecx, DWORD PTR _filePath$[ebp]
  00686	51		 push	 ecx
  00687	e8 00 00 00 00	 call	 _DrawBitmap
  0068c	83 c4 04	 add	 esp, 4

; 113  : 	}

  0068f	eb 89		 jmp	 SHORT $L52999
$L53000:

; 114  : 
; 115  :     hEggs[44] = LayEgg();

  00691	e8 00 00 00 00	 call	 _LayEgg
  00696	a3 b0 00 00 00	 mov	 DWORD PTR _hEggs+176, eax

; 116  :     MovePen(7.5, 12);

  0069b	68 00 00 28 40	 push	 1076363264		; 40280000H
  006a0	6a 00		 push	 0
  006a2	68 00 00 1e 40	 push	 1075707904		; 401e0000H
  006a7	6a 00		 push	 0
  006a9	e8 00 00 00 00	 call	 _MovePen
  006ae	83 c4 10	 add	 esp, 16			; 00000010H

; 117  :     DrawBitmap("direction5.bmp");

  006b1	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_0P@COFI@direction5?4bmp?$AA@ ; `string'
  006b6	e8 00 00 00 00	 call	 _DrawBitmap
  006bb	83 c4 04	 add	 esp, 4

; 118  :     SetActiveEgg(hEggs[44]);

  006be	8b 15 b0 00 00
	00		 mov	 edx, DWORD PTR _hEggs+176
  006c4	52		 push	 edx
  006c5	e8 00 00 00 00	 call	 _SetActiveEgg
  006ca	83 c4 04	 add	 esp, 4

; 119  :     ShowEgg (0);

  006cd	6a 00		 push	 0
  006cf	e8 00 00 00 00	 call	 _ShowEgg
  006d4	83 c4 04	 add	 esp, 4

; 120  : 
; 121  :     hEggs[45] = LayEgg();

  006d7	e8 00 00 00 00	 call	 _LayEgg
  006dc	a3 b4 00 00 00	 mov	 DWORD PTR _hEggs+180, eax

; 122  :     MovePen(7.5, 12);

  006e1	68 00 00 28 40	 push	 1076363264		; 40280000H
  006e6	6a 00		 push	 0
  006e8	68 00 00 1e 40	 push	 1075707904		; 401e0000H
  006ed	6a 00		 push	 0
  006ef	e8 00 00 00 00	 call	 _MovePen
  006f4	83 c4 10	 add	 esp, 16			; 00000010H

; 123  :     DrawBitmap("direction6.bmp");

  006f7	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_0P@MODH@direction6?4bmp?$AA@ ; `string'
  006fc	e8 00 00 00 00	 call	 _DrawBitmap
  00701	83 c4 04	 add	 esp, 4

; 124  :     SetActiveEgg(hEggs[45]);

  00704	a1 b4 00 00 00	 mov	 eax, DWORD PTR _hEggs+180
  00709	50		 push	 eax
  0070a	e8 00 00 00 00	 call	 _SetActiveEgg
  0070f	83 c4 04	 add	 esp, 4

; 125  :     ShowEgg (0);

  00712	6a 00		 push	 0
  00714	e8 00 00 00 00	 call	 _ShowEgg
  00719	83 c4 04	 add	 esp, 4

; 126  : 
; 127  : 	
; 128  : 	for (i=4; i!=10; i++){

  0071c	c7 45 fc 04 00
	00 00		 mov	 DWORD PTR _i$[ebp], 4
  00723	eb 09		 jmp	 SHORT $L53004
$L53005:
  00725	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00728	83 c1 01	 add	 ecx, 1
  0072b	89 4d fc	 mov	 DWORD PTR _i$[ebp], ecx
$L53004:
  0072e	83 7d fc 0a	 cmp	 DWORD PTR _i$[ebp], 10	; 0000000aH
  00732	74 75		 je	 SHORT $L53006

; 129  : 		sprintf(filePath, "%da.bmp", i);

  00734	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00737	52		 push	 edx
  00738	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_07IFLO@?$CFda?4bmp?$AA@ ; `string'
  0073d	8d 45 bc	 lea	 eax, DWORD PTR _filePath$[ebp]
  00740	50		 push	 eax
  00741	e8 00 00 00 00	 call	 _sprintf
  00746	83 c4 0c	 add	 esp, 12			; 0000000cH

; 130  : 		hEggs[58+(i-4)] = LayEgg();

  00749	e8 00 00 00 00	 call	 _LayEgg
  0074e	8b 4d fc	 mov	 ecx, DWORD PTR _i$[ebp]
  00751	89 04 8d d8 00
	00 00		 mov	 DWORD PTR _hEggs[ecx*4+216], eax

; 131  : 		ShowEgg(0);

  00758	6a 00		 push	 0
  0075a	e8 00 00 00 00	 call	 _ShowEgg
  0075f	83 c4 04	 add	 esp, 4

; 132  : 		MovePen(5.9, 6 + 1.2*(i - 4));

  00762	8b 55 fc	 mov	 edx, DWORD PTR _i$[ebp]
  00765	83 ea 04	 sub	 edx, 4
  00768	89 95 40 ff ff
	ff		 mov	 DWORD PTR -192+[ebp], edx
  0076e	db 85 40 ff ff
	ff		 fild	 DWORD PTR -192+[ebp]
  00774	dc 0d 00 00 00
	00		 fmul	 QWORD PTR __real@8@3fff9999999999999800
  0077a	dc 05 00 00 00
	00		 fadd	 QWORD PTR __real@8@4001c000000000000000
  00780	83 ec 08	 sub	 esp, 8
  00783	dd 1c 24	 fstp	 QWORD PTR [esp]
  00786	68 99 99 17 40	 push	 1075288473		; 40179999H
  0078b	68 9a 99 99 99	 push	 -1717986918		; 9999999aH
  00790	e8 00 00 00 00	 call	 _MovePen
  00795	83 c4 10	 add	 esp, 16			; 00000010H

; 133  : 		DrawBitmap(filePath);

  00798	8d 45 bc	 lea	 eax, DWORD PTR _filePath$[ebp]
  0079b	50		 push	 eax
  0079c	e8 00 00 00 00	 call	 _DrawBitmap
  007a1	83 c4 04	 add	 esp, 4

; 134  : 	}

  007a4	e9 7c ff ff ff	 jmp	 $L53005
$L53006:

; 135  :     hEggs[55] = LayEgg();

  007a9	e8 00 00 00 00	 call	 _LayEgg
  007ae	a3 dc 00 00 00	 mov	 DWORD PTR _hEggs+220, eax

; 136  :     MovePen(7.4, 6);

  007b3	68 00 00 18 40	 push	 1075314688		; 40180000H
  007b8	6a 00		 push	 0
  007ba	68 99 99 1d 40	 push	 1075681689		; 401d9999H
  007bf	68 9a 99 99 99	 push	 -1717986918		; 9999999aH
  007c4	e8 00 00 00 00	 call	 _MovePen
  007c9	83 c4 10	 add	 esp, 16			; 00000010H

; 137  :     DrawBitmap("1a.bmp");

  007cc	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_06DCOC@1a?4bmp?$AA@ ; `string'
  007d1	e8 00 00 00 00	 call	 _DrawBitmap
  007d6	83 c4 04	 add	 esp, 4

; 138  :     ShowEgg (0);

  007d9	6a 00		 push	 0
  007db	e8 00 00 00 00	 call	 _ShowEgg
  007e0	83 c4 04	 add	 esp, 4

; 139  : 	
; 140  :     hEggs[56] = LayEgg();

  007e3	e8 00 00 00 00	 call	 _LayEgg
  007e8	a3 e0 00 00 00	 mov	 DWORD PTR _hEggs+224, eax

; 141  :     MovePen(7.4, 7.2);

  007ed	68 cc cc 1c 40	 push	 1075629260		; 401cccccH
  007f2	68 cd cc cc cc	 push	 -858993459		; cccccccdH
  007f7	68 99 99 1d 40	 push	 1075681689		; 401d9999H
  007fc	68 9a 99 99 99	 push	 -1717986918		; 9999999aH
  00801	e8 00 00 00 00	 call	 _MovePen
  00806	83 c4 10	 add	 esp, 16			; 00000010H

; 142  :     DrawBitmap("2a.bmp");

  00809	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_06IMAC@2a?4bmp?$AA@ ; `string'
  0080e	e8 00 00 00 00	 call	 _DrawBitmap
  00813	83 c4 04	 add	 esp, 4

; 143  :     ShowEgg (0);

  00816	6a 00		 push	 0
  00818	e8 00 00 00 00	 call	 _ShowEgg
  0081d	83 c4 04	 add	 esp, 4

; 144  : 
; 145  :     hEggs[57] = LayEgg();

  00820	e8 00 00 00 00	 call	 _LayEgg
  00825	a3 e4 00 00 00	 mov	 DWORD PTR _hEggs+228, eax

; 146  :     MovePen(7.4, 8.4);

  0082a	68 cc cc 20 40	 push	 1075891404		; 4020ccccH
  0082f	68 cd cc cc cc	 push	 -858993459		; cccccccdH
  00834	68 99 99 1d 40	 push	 1075681689		; 401d9999H
  00839	68 9a 99 99 99	 push	 -1717986918		; 9999999aH
  0083e	e8 00 00 00 00	 call	 _MovePen
  00843	83 c4 10	 add	 esp, 16			; 00000010H

; 147  :     DrawBitmap("3a.bmp");

  00846	68 00 00 00 00	 push	 OFFSET FLAT:??_C@_06BJKC@3a?4bmp?$AA@ ; `string'
  0084b	e8 00 00 00 00	 call	 _DrawBitmap
  00850	83 c4 04	 add	 esp, 4

; 148  :     ShowEgg (0);

  00853	6a 00		 push	 0
  00855	e8 00 00 00 00	 call	 _ShowEgg
  0085a	83 c4 04	 add	 esp, 4

; 149  : 
; 150  :     SetActiveEgg(hEggs[35]);

  0085d	8b 0d 8c 00 00
	00		 mov	 ecx, DWORD PTR _hEggs+140
  00863	51		 push	 ecx
  00864	e8 00 00 00 00	 call	 _SetActiveEgg
  00869	83 c4 04	 add	 esp, 4

; 151  :     ShowEgg (1);

  0086c	6a 01		 push	 1
  0086e	e8 00 00 00 00	 call	 _ShowEgg
  00873	83 c4 04	 add	 esp, 4

; 152  : }

  00876	5f		 pop	 edi
  00877	5e		 pop	 esi
  00878	5b		 pop	 ebx
  00879	81 c4 00 01 00
	00		 add	 esp, 256		; 00000100H
  0087f	3b ec		 cmp	 ebp, esp
  00881	e8 00 00 00 00	 call	 __chkesp
  00886	8b e5		 mov	 esp, ebp
  00888	5d		 pop	 ebp
  00889	c3		 ret	 0
_StartFlash ENDP
_TEXT	ENDS
PUBLIC	_ControlFlash
EXTRN	_OffsetEgg:NEAR
EXTRN	_State:DWORD
EXTRN	_CurrentDirection:DWORD
;	COMDAT _ControlFlash
_TEXT	SEGMENT
_i$ = -4
_ControlFlash PROC NEAR					; COMDAT

; 156  : {

  00000	55		 push	 ebp
  00001	8b ec		 mov	 ebp, esp
  00003	83 ec 48	 sub	 esp, 72			; 00000048H
  00006	53		 push	 ebx
  00007	56		 push	 esi
  00008	57		 push	 edi
  00009	8d 7d b8	 lea	 edi, DWORD PTR [ebp-72]

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?