()
6
: (Assembler)
: .. 107311 ..
..
..
: ..
2012
:
, , OF, SF, ZF, AF, CF, PF (. 2.1.4).
: | ADD , |
: | |
: |
, , . , , , , . ADD , , CF ( ), OF ( ) SF ( ), , .
: | ADC , |
: | |
: |
ADD, , , F. ADD/ADC . , , 64- : EDX:EAX ( ( 0 31) ( 32 63) EDX), ::
add eax,ecx adc edx,ebx( CF = 1), ADC.
: | XADD , |
: | |
: |
, , . , .
: | SUB , |
: | |
: |
. , , , , . , ADD, SUB , , .
|
|
: | SBB , |
: | |
: |
SUB, , CF. , 64- EDX:EAX : ADD/ADC:
sub eax,ecx sbb edx,ebx, .
: | IMUL IMUL , IMUL , 1, 2 |
: | |
: | 8086 80386 80186 |
, :
- IMUL : ( ) AL, ( ), , DX:AX EDX:EAX .
- IMUL , : (, ) (), .
- IMUL ,1,2: 1 ( ) 2 (), ().
, , . , . OF CF , , , ( ) ( ).
SF, ZF, AF PF IMUL .
: | MUL |
: | |
: |
( ) AL, , ( ) , DX:AX, EDX:EAX . (, DX, EDX) ( ), CF OF 0, 1. (SF, ZF, AF PF) .
: | IDIV |
: | |
: |
AL, ( ) ( ) AL, , , DX EDX . , , . CF, OF, SF, ZF, AF PF , #DE ( ) 0 .
: | DIV |
: | |
: |
AL, ( ) ( ) AL, , , DX EDX . , . CF, OF, SF, ZF, AF PF , #DE ( ) 0 .
|
|
: | INC |
: | |
: |
( ) 1. ADD ,1 , CF . (OF, SF, ZF, AF, PF) .
: | DEC |
: | |
: |
( ) 1. SUB ,1 , CF . (OF, SF, ZF, AF, PF) .
: | NEG |
: | |
: |
, ( ), . , . , CF 0, 1. (OF, SF, ZF, AF, PF) .
: NEG , , :
label0: neg eax js label0: | CMP , |
: | |
: |
. (, ) ( ; ), , CF, OF, SF, ZF, AF PF. (Jcc), (CMOVcc) (SETcc), , . , CMOVE, JE SETE , .
: , , , , :
test ax,axdec ax
: | CMPXCHG , |
: | |
: |
, AL, , ( ), (). , ZF 1. , AL, , ZF 0. , . , .
: | CMPXCHG8B |
: | |
: | 5 |
EDX:EAX 64- ( , EDX) ( ). , : 64- ( , ) . EDX:EAX.
|
|
2
, : =(a/b-c/3)+(d-5)