Assembler äëÿ íà÷èíàþùèõ


         

Ñðàâíåíèå - ÷àñòü 2


           0004  ????????               VALUE2  DD        ?
 
           0008                   FIG4_11 PROC    NEAR
 
                                  ;-----  Ñðàâíèâàþòñÿ ïî íåðàâåíñòâó äâà 32-ðàçðÿäíûõ ÷èñëà
 
           0008                   COMPARE_UNEQUAL:
           0008  A1 0000 R                    MOV     AX, WORD PTR VALUE1
           000B  2B 06 0004 R                 SUB     AX, WORD PTR VALUE2     ; Âû÷èòàíèå ìëàäøåé ÷àñòè
           000F  A1 0002 R                    MOV     AX, WORD PTR VALUE1+2
           0012  1B 06 0006 R                 SBB     AX, WORD PTR VALUE2+2   ; Âû÷èòàíèå ñòàðøåé ÷àñòè
           0016  C3                           RET                     ; Âîçâðàò ñ óñòàíîâëåííûìè ôëàãàìè
 
                                  ;-----  Ñðàâíèâàþòñÿ ïî ðàâåíñòâó äâà 32-ðàçðÿäíûõ ÷èñëà
 
           0017                   COMPARE_EQUAL:
           0017  A1 0000 R                    MOV     AX, WORD PTR VALUE1
           001A  2B 06 0004 R                 SUB     AX, WORD PTR VALUE2     ; Âû÷èòàíèå ìëàäøåé ÷àñòè
           001E  8B D8                  MOV     BX, AX                ;  BX ìëàäøàÿ ÷àñòü ðåçóëüòàòà
           0020  A1 0002 R                    MOV     AX, WORD PTR VALUE1+2
           0023  1B 06 0006 R                 SBB     AX, WORD PTR VALUE2+2   ; Âû÷èòàíèå ñòàðøåé ÷àñòè
           0027  0B C3                  OR          AX, BX            ; Îáúåäèíåíèå ðåçóëüòàòîâ
           0029  C3                           RET                     ; Ôëàã Z ïîêàçûâàåò ðàâåíñòâî
 
           002A                   FIG4_11 ENDP
 
           002A                   CODE    ENDS
                                        END
 
            Ôèã. 4.11 Ñðàâíåíèå ñ ïîâûøåííîé òî÷íîñòüþ



Ñîäåðæàíèå  Íàçàä  Âïåðåä