Ïðîãðàììèðîâàíèå èãð äëÿ Windows. Ñîâåòû ïðîôåññèîíàëà


Îïåðàöèÿ - ÷àñòü 2


*** 0000lf  75 03 e9 00 00    je   L00180

;   dest[index]=data;

; Line 16

*** 000024  8b 46 fa          mov  ax,WORD PTR -6[bp]

*** 000027  8b 4e fc          mov  ex,WORD PTR -4[bp]

*** 00002a  8b Ie 00 00       mov  bx,WORD PTR _dest

*** 00002e  03 d9             add  bx,cx

*** 000030  88 07             mov  BYTE PTR [bx],al ;

} // end main

; Line 18

L00180;

; Line 18

L00177:

*** 000032  5f                pop  di

*** 000033  5e                pop  si

*** 000034  c9                leave

*** 000035  cb                                      

ret OFFSET 0 Local Size: 6 ; Line 0    

Ëèñòèíã 7.2. Äèçàññåìáäèðîâàíèå ëîãè÷åñêîé îïåðàöèè OR.

; File or.ñ

; #include <stdio.h> ;

; char far *source, *dest; // îáëàñòè

èñõîäíûõ

// è ðåçóëüòèðóþùèõ äàííûõ

;

; main()

; {

; Line 8

     _main:

*** 000000 c8 00 00 00        enter OFFSET L00180,OFFSET 0

*** 000004 56                 push si

*** 000005 57                 push di ; index = fffc ;data = fffa

;int index;

;Line 10 ;unsigned data;

;Line 11

// ëîãè÷åñêèé îïåðàòîð (OR)

dest[index]=data | source[index];

; Line 15

*** 000006 8b 46 fc          mov ax,WORD PTR -4 [bp]

*** 000009 8b Ie 00 00       mov bx,WORD PTR _source

*** 00000d 8b 0e 02 00       mov ex,WORD PTR _source+2

*** 000011 03 d8             add bx,ax

*** 000013 8e c1             mov es,cx

*** 000015 26 8a 07          mov al,BYTE PTR es:[bx]

*** 000018 98                cbw

*** 000019 0b 46 fa          or ax,WORD PTR -6[bp]

*** OOOOlc 8b 4e fc          mov ax,WORD PTR -4[bp}

*** OOOOlf 8b Ie 00 00       mov bx,WORD PTR _dest

*** 000023 03 d9             add bx,cx

*** 000025 88 07             mov BYTE PTR [bx] , al

*** 000027 8b 4e fc          mov ex,WORD PTR -4[bp]

*** 00002a 8b Ie 00 00       mov bx,WORD PTR _dest

*** 00002e 03 d9             add bx,cx

*** 000030 88 07             mov BYTE PTR [bx],al

;

; } // end main

; Line 17

; Line 17

L00177:

*** 000032 5f                pop di

*** 000033 5e                pop si




Íà÷àëî  Íàçàä  Âïåðåä



Êíèæíûé ìàãàçèí