list.cod

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

COD
1,647
字号
$L52970:

; 96   :         case 'y':
; 97   :                direction=1;                     

  0014e	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 1

; 98   :                floor=3;

  00155	c7 45 f8 03 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 3

; 99   :                break;

  0015c	e9 a1 00 00 00	 jmp	 $L52953
$L52971:

; 100  :         case 'u':
; 101  :                direction=1;                     

  00161	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 1

; 102  :                floor=2;

  00168	c7 45 f8 02 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 2

; 103  :                break;

  0016f	e9 8e 00 00 00	 jmp	 $L52953
$L52972:

; 104  :         case 'i':
; 105  :                direction=1;                      

  00174	c7 45 fc 01 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 1

; 106  :                floor=1;

  0017b	c7 45 f8 01 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 1

; 107  :                break;

  00182	eb 7e		 jmp	 SHORT $L52953
$L52973:

; 108  :         /*外部呼叫   下行 */
; 109  :         case 'a':
; 110  :                direction=2;

  00184	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 2

; 111  :                floor=9;

  0018b	c7 45 f8 09 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 9

; 112  :                break;

  00192	eb 6e		 jmp	 SHORT $L52953
$L52974:

; 113  :         case 's':
; 114  :                direction=2;

  00194	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 2

; 115  :                floor=8;

  0019b	c7 45 f8 08 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 8

; 116  :                break;

  001a2	eb 5e		 jmp	 SHORT $L52953
$L52975:

; 117  :         case 'd':
; 118  :                direction=2;

  001a4	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 2

; 119  :                floor=7;

  001ab	c7 45 f8 07 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 7

; 120  :                break;

  001b2	eb 4e		 jmp	 SHORT $L52953
$L52976:

; 121  :         case 'f':
; 122  :                direction=2;

  001b4	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 2

; 123  :                floor=6;

  001bb	c7 45 f8 06 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 6

; 124  :                break;

  001c2	eb 3e		 jmp	 SHORT $L52953
$L52977:

; 125  :         case 'g':
; 126  :                direction=2;

  001c4	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 2

; 127  :                floor=5;

  001cb	c7 45 f8 05 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 5

; 128  :                break;

  001d2	eb 2e		 jmp	 SHORT $L52953
$L52978:

; 129  :         case 'h':
; 130  :                direction=2;

  001d4	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 2

; 131  :                floor=4;

  001db	c7 45 f8 04 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 4

; 132  :                break;

  001e2	eb 1e		 jmp	 SHORT $L52953
$L52979:

; 133  :         case 'j':
; 134  :                direction=2;

  001e4	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 2

; 135  :                floor=3;

  001eb	c7 45 f8 03 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 3

; 136  :                break;

  001f2	eb 0e		 jmp	 SHORT $L52953
$L52980:

; 137  :         case 'k':
; 138  :              direction=2;                    

  001f4	c7 45 fc 02 00
	00 00		 mov	 DWORD PTR _direction$[ebp], 2

; 139  :              floor=2;

  001fb	c7 45 f8 02 00
	00 00		 mov	 DWORD PTR _floor$[ebp], 2
$L52953:

; 142  :     Storenode(direction,floor,&ControlCallPTR);/*把结点存储到链表中*/ 

  00202	68 00 00 00 00	 push	 OFFSET FLAT:_ControlCallPTR
  00207	8b 4d f8	 mov	 ecx, DWORD PTR _floor$[ebp]
  0020a	51		 push	 ecx
  0020b	8b 55 fc	 mov	 edx, DWORD PTR _direction$[ebp]
  0020e	52		 push	 edx
  0020f	e8 00 00 00 00	 call	 _Storenode
  00214	83 c4 0c	 add	 esp, 12			; 0000000cH

; 143  :    
; 144  : }

  00217	5f		 pop	 edi
  00218	5e		 pop	 esi
  00219	5b		 pop	 ebx
  0021a	83 c4 4c	 add	 esp, 76			; 0000004cH
  0021d	3b ec		 cmp	 ebp, esp
  0021f	e8 00 00 00 00	 call	 __chkesp
  00224	8b e5		 mov	 esp, ebp
  00226	5d		 pop	 ebp
  00227	c3		 ret	 0
$L53097:
  00228	00 00 00 00	 DD	 $L52956
  0022c	00 00 00 00	 DD	 $L52957
  00230	00 00 00 00	 DD	 $L52958
  00234	00 00 00 00	 DD	 $L52959
  00238	00 00 00 00	 DD	 $L52960
  0023c	00 00 00 00	 DD	 $L52961
  00240	00 00 00 00	 DD	 $L52962
  00244	00 00 00 00	 DD	 $L52963
  00248	00 00 00 00	 DD	 $L52964
  0024c	00 00 00 00	 DD	 $L52973
  00250	00 00 00 00	 DD	 $L52975
  00254	00 00 00 00	 DD	 $L52967
  00258	00 00 00 00	 DD	 $L52976
  0025c	00 00 00 00	 DD	 $L52977
  00260	00 00 00 00	 DD	 $L52978
  00264	00 00 00 00	 DD	 $L52972
  00268	00 00 00 00	 DD	 $L52979
  0026c	00 00 00 00	 DD	 $L52980
  00270	00 00 00 00	 DD	 $L52965
  00274	00 00 00 00	 DD	 $L52968
  00278	00 00 00 00	 DD	 $L52974
  0027c	00 00 00 00	 DD	 $L52969
  00280	00 00 00 00	 DD	 $L52971
  00284	00 00 00 00	 DD	 $L52966
  00288	00 00 00 00	 DD	 $L52970
  0028c	00 00 00 00	 DD	 $L52953
$L53096:
  00290	00		 DB	 0
  00291	01		 DB	 1
  00292	02		 DB	 2
  00293	03		 DB	 3
  00294	04		 DB	 4
  00295	05		 DB	 5
  00296	06		 DB	 6
  00297	07		 DB	 7
  00298	08		 DB	 8
  00299	19		 DB	 25			; 00000019H
  0029a	19		 DB	 25			; 00000019H
  0029b	19		 DB	 25			; 00000019H
  0029c	19		 DB	 25			; 00000019H
  0029d	19		 DB	 25			; 00000019H
  0029e	19		 DB	 25			; 00000019H
  0029f	19		 DB	 25			; 00000019H
  002a0	19		 DB	 25			; 00000019H
  002a1	19		 DB	 25			; 00000019H
  002a2	19		 DB	 25			; 00000019H
  002a3	19		 DB	 25			; 00000019H
  002a4	19		 DB	 25			; 00000019H
  002a5	19		 DB	 25			; 00000019H
  002a6	19		 DB	 25			; 00000019H
  002a7	19		 DB	 25			; 00000019H
  002a8	19		 DB	 25			; 00000019H
  002a9	19		 DB	 25			; 00000019H
  002aa	19		 DB	 25			; 00000019H
  002ab	19		 DB	 25			; 00000019H
  002ac	19		 DB	 25			; 00000019H
  002ad	19		 DB	 25			; 00000019H
  002ae	19		 DB	 25			; 00000019H
  002af	19		 DB	 25			; 00000019H
  002b0	19		 DB	 25			; 00000019H
  002b1	19		 DB	 25			; 00000019H
  002b2	19		 DB	 25			; 00000019H
  002b3	19		 DB	 25			; 00000019H
  002b4	19		 DB	 25			; 00000019H
  002b5	19		 DB	 25			; 00000019H
  002b6	19		 DB	 25			; 00000019H
  002b7	19		 DB	 25			; 00000019H
  002b8	19		 DB	 25			; 00000019H
  002b9	19		 DB	 25			; 00000019H
  002ba	19		 DB	 25			; 00000019H
  002bb	19		 DB	 25			; 00000019H
  002bc	19		 DB	 25			; 00000019H
  002bd	19		 DB	 25			; 00000019H
  002be	19		 DB	 25			; 00000019H
  002bf	19		 DB	 25			; 00000019H
  002c0	09		 DB	 9
  002c1	19		 DB	 25			; 00000019H
  002c2	19		 DB	 25			; 00000019H
  002c3	0a		 DB	 10			; 0000000aH
  002c4	0b		 DB	 11			; 0000000bH
  002c5	0c		 DB	 12			; 0000000cH
  002c6	0d		 DB	 13			; 0000000dH
  002c7	0e		 DB	 14			; 0000000eH
  002c8	0f		 DB	 15			; 0000000fH
  002c9	10		 DB	 16			; 00000010H
  002ca	11		 DB	 17			; 00000011H
  002cb	19		 DB	 25			; 00000019H
  002cc	19		 DB	 25			; 00000019H
  002cd	19		 DB	 25			; 00000019H
  002ce	19		 DB	 25			; 00000019H
  002cf	19		 DB	 25			; 00000019H
  002d0	12		 DB	 18			; 00000012H
  002d1	13		 DB	 19			; 00000013H
  002d2	14		 DB	 20			; 00000014H
  002d3	15		 DB	 21			; 00000015H
  002d4	16		 DB	 22			; 00000016H
  002d5	19		 DB	 25			; 00000019H
  002d6	17		 DB	 23			; 00000017H
  002d7	19		 DB	 25			; 00000019H
  002d8	18		 DB	 24			; 00000018H
_translatecalling ENDP
_TEXT	ENDS
PUBLIC	??_C@_0BH@CIGK@?J?d?H?k?$LE?m?N?s?0?G?k?V?X?P?B?J?d?H?k?$KB?$KD?6?$AA@ ; `string'
EXTRN	_malloc:NEAR
EXTRN	_ControlCallFlash:NEAR
;	COMDAT ??_C@_0BH@CIGK@?J?d?H?k?$LE?m?N?s?0?G?k?V?X?P?B?J?d?H?k?$KB?$KD?6?$AA@
; File c:\documents and settings\administrator\桌面\07412 4 lift\list.c
CONST	SEGMENT
??_C@_0BH@CIGK@?J?d?H?k?$LE?m?N?s?0?G?k?V?X?P?B?J?d?H?k?$KB?$KD?6?$AA@ DB 0caH
	DB	0e4H, 0c8H, 0ebH, 0b4H, 0edH, 0ceH, 0f3H, ',', 0c7H, 0ebH, 0d6H
	DB	0d8H, 0d0H, 0c2H, 0caH, 0e4H, 0c8H, 0ebH, 0a1H, 0a3H, 0aH, 00H ; `string'
CONST	ENDS
;	COMDAT _Storenode
_TEXT	SEGMENT
_direction$ = 8
_floor$ = 12
_startptr$ = 16
_newptr$ = -4
_curruntptr$ = -8
_Storenode PROC NEAR					; COMDAT

; 149  : {

  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]
  0000c	b9 12 00 00 00	 mov	 ecx, 18			; 00000012H
  00011	b8 cc cc cc cc	 mov	 eax, -858993460		; ccccccccH
  00016	f3 ab		 rep stosd

; 150  :     CALLPTR newptr, curruntptr;
; 151  :     if(floor<=9&&floor>=1){     

  00018	83 7d 0c 09	 cmp	 DWORD PTR _floor$[ebp], 9
  0001c	7f 75		 jg	 SHORT $L52990
  0001e	83 7d 0c 01	 cmp	 DWORD PTR _floor$[ebp], 1
  00022	7c 6f		 jl	 SHORT $L52990

; 152  :        newptr=(CALLPTR)malloc(sizeof(CALL));

  00024	6a 0c		 push	 12			; 0000000cH
  00026	e8 00 00 00 00	 call	 _malloc
  0002b	83 c4 04	 add	 esp, 4
  0002e	89 45 fc	 mov	 DWORD PTR _newptr$[ebp], eax

; 153  :        newptr->CallDirection=direction;

  00031	8b 45 fc	 mov	 eax, DWORD PTR _newptr$[ebp]
  00034	8b 4d 08	 mov	 ecx, DWORD PTR _direction$[ebp]
  00037	89 08		 mov	 DWORD PTR [eax], ecx

; 154  :        newptr->CallFloor=floor;

  00039	8b 55 fc	 mov	 edx, DWORD PTR _newptr$[ebp]
  0003c	8b 45 0c	 mov	 eax, DWORD PTR _floor$[ebp]
  0003f	89 42 04	 mov	 DWORD PTR [edx+4], eax

; 155  :        newptr->Nextptr=NULL;

  00042	8b 4d fc	 mov	 ecx, DWORD PTR _newptr$[ebp]
  00045	c7 41 08 00 00
	00 00		 mov	 DWORD PTR [ecx+8], 0

; 156  :        ControlCallFlash(newptr, TRUE);

  0004c	6a 01		 push	 1
  0004e	8b 55 fc	 mov	 edx, DWORD PTR _newptr$[ebp]
  00051	52		 push	 edx
  00052	e8 00 00 00 00	 call	 _ControlCallFlash
  00057	83 c4 08	 add	 esp, 8

; 157  :        if(*startptr==NULL)

  0005a	8b 45 10	 mov	 eax, DWORD PTR _startptr$[ebp]
  0005d	83 38 00	 cmp	 DWORD PTR [eax], 0
  00060	75 0a		 jne	 SHORT $L52996

; 158  :           *startptr=newptr;

  00062	8b 4d 10	 mov	 ecx, DWORD PTR _startptr$[ebp]
  00065	8b 55 fc	 mov	 edx, DWORD PTR _newptr$[ebp]
  00068	89 11		 mov	 DWORD PTR [ecx], edx

; 159  :        else{

  0006a	eb 25		 jmp	 SHORT $L52997
$L52996:

; 160  :           curruntptr=*startptr;

  0006c	8b 45 10	 mov	 eax, DWORD PTR _startptr$[ebp]
  0006f	8b 08		 mov	 ecx, DWORD PTR [eax]
  00071	89 4d f8	 mov	 DWORD PTR _curruntptr$[ebp], ecx
$L53000:

; 161  :           while(curruntptr->Nextptr!=NULL)

  00074	8b 55 f8	 mov	 edx, DWORD PTR _curruntptr$[ebp]
  00077	83 7a 08 00	 cmp	 DWORD PTR [edx+8], 0
  0007b	74 0b		 je	 SHORT $L53001

; 162  :              curruntptr=curruntptr->Nextptr;

  0007d	8b 45 f8	 mov	 eax, DWORD PTR _curruntptr$[ebp]
  00080	8b 48 08	 mov	 ecx, DWORD PTR [eax+8]
  00083	89 4d f8	 mov	 DWORD PTR _curruntptr$[ebp], ecx
  00086	eb ec		 jmp	 SHORT $L53000
$L53001:

; 163  :           curruntptr->Nextptr=newptr;

⌨️ 快捷键说明

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