.


:




:

































 

 

 

 


CMPS _, _




CMPS - - . . :

1. ( - ), :

ds:esi/si;
es:edi/di;
2. df esi/si edi/di: df=0, ; df=1, ; : , cf=1, zf=0; , cf=0, zf=1;
4. (repe/repne).

CMPS , - -. CMPS REPE (REPZ) CX ; REPNE (REPNZ) , .

CMPS
CMPSW
CMPSD

 

. AL, , .

SCAS _

SCASB
SCASW ESI/SI

SCASD

:
1. ( -(eax/ax/al)). es:edi/di. es ;
2. ;
3. edi/di , . df:
df=0 , ;
df=1 ,

 

, , :

LODS _
lodsb
lodsw
lodsd

:
1. , ds:esi/si, al/ax/eax.
2. ( lods) (lodsb, lodsw, lodsd);
3. si , .
4. df:
df=0 , ;
df=1 , .

 

, , :

STOS _
STOSB

STOSW
STOSD

:
1. al/ax/eax , es:di/edi.
2. ( stos) ( stosb, stosw, stosd);
3. di , .
3. df:
df=0 , ;
df=1 , .

 

-:
ins _,_
insb
insw
insd

 

-:
outs _,_
outsb
outsw
outsd

 

8 80- . (): ST(0), ST(1), , ST(7).

: CWR, SWR, TWR, FIP, FDR

(Tags Word Register). .

(Control Word Register)

(Status Word Register) .

 

FLD, FILD, FBLD ST(0) ,

FSTP <-ST(0),

FISTP <-ST(0),

FBSTP <-ST(0),

ST 1

:

fldz 0

fld 1

fld pi

fldl2t log2(10)

fldl2e log2(e)

fldlg2 lg2

fldln2 ln2

fxch , ST(0)

 

6 , FXXX (FADD, FSUB, FSUBR, FMUL, FDIV, FDIVR)

FXXX?: (), . .

FXXX : , ST(0)

, .

FIXXX , 16- 32-

FXXX ST, ST(i): ST(i) , ST(0) . .

FXXX ST(i), ST: ST(0) , ST(i) . .

: FSQRT ( ), FSCALE ( 2), FPREM, FRNDINT ( ), FXTRACT, FABS, FCHS

 

FCOM

FICOM

FCOMP

FICOMP

FCOMPP

FTST

FXAM

FCOM , ST(0)

FSTSW AX AX .

 

-:

Fsin sin(st)->st

fsincos sin(st)->st, cos(st)->st

fcos cos(st)

fptan tg(st)->st, fld1

fpatan arctg(st(st(1))->st

-

f2xm1 2^st-1->st, -1<x<1

fy2xpl st(1)*log2(st+1)->st(1), pop

fy12x st(1)*log2(st)->st(1), pop

 

FINIT

FSAVE

FSTST

P FPU: wait/fwait

 

 

CALL

call , .
ret, , , call. .

call :
- ( );
- ( , );
- ;
- .

call, - . , , :
near ptr - ;
far ptr - ;
word ptr - dword ptr - .





:


: 2016-07-29; !; : 462 |


:

:

.
==> ...

1549 - | 1384 -


© 2015-2024 lektsii.org - -

: 0.013 .