beautypg.com

Table 8-29, Fpu instruction set, Table 8-29. fpu instruction set – AMD Geode LX [email protected] User Manual

Page 667

background image

AMD Geode™ LX Processors Data Book

667

Instruction Set

33234H

Table 8-29. FPU Instruction Set

FPU Instruction

Opcode

Operation

Clock Ct

Single/Dbl

(or extended)

Notes

F2XM1 Function Evaluation 2x-1

D9 F0

TOS <--- 2

TOS

-1

145 - 166

2

FABS Floating Absolute Value

D9 E1

TOS <--- | TOS |

1

3

FADD Floating Point Add

Top of Stack

DC [1100 0 n]

ST(n) <--- ST(n) + TOS

1/6

80-bit Register

D8 [1100 0 n]

TOS <--- TOS + ST(n)

1/6

64-bit Real

DC [mod 000 r/m]

TOS <--- TOS + M.DR

1/6

32-bit Real

D8 [mod 000 r/m]

TOS <--- TOS + M.SR

1/6

FADDP Floating Point Add, Pop

DE [1100 0 n]

ST(n) <--- ST(n) + TOS; then pop TOS

1/6

FIADD Floating Point Integer Add

32-bit integer

DA [mod 000 r/m]

TOS <--- TOS + M.SI

2/7

16-bit integer

DE [mod 000 r/m]

TOS <--- TOS + M.WI

2/7

FCHS Floating Change Sign

D9 E0

TOS <--- - TOS

1

FCLEX Clear Exceptions

(9B) DB E2

Wait then Clear Exceptions

1+

2

FNCLEX Clear Exceptions

DB E2

Clear Exceptions

1+

2

FCMOVB Floating Point Conditional Move if Below

DA [1100 0 n]

If (CF=1) ST(0) <--- ST(n)

1

3

FCMOVE Floating Point Conditional Move if Equal

DA [1100 1 n]

If (ZF=1) ST(0) <--- ST(n)

1

3

FCMOVBE Floating Point Conditional Move if

Below or Equal

DA [1101 0 n]

If (CF=1 or ZF=1) ST(0) <--- ST(n)

1

3

FCMOVU Floating Point Conditional Move if

Unordered

DA [1101 1 n]

If (PF=1) ST(0) <--- ST(n)

1

3

FCMOVNB Floating Point Conditional Move if

Not Below

DB [1100 0 n]

If (CF=0) ST(0) <--- ST(n)

1

3

FCMOVNE Floating Point Conditional Move if

Not Equal

DB [1100 1 n]

If (ZF=0) ST(0) <--- ST(n)

1

3

FCMOVNBE Floating Point Conditional Move if

Not Below or Equal

DB [1101 0 n]

If (CF=0 and ZF=0) ST(0) <--- ST(n)

1

3

FCMOVNU Floating Point Conditional Move if

Not Unordered

DB [1101 1 n]

If (PF=0) ST(0) <--- ST(n)

1

3

FCOM Floating Point Compare

80-bit Register

D8 [1101 0 n]

CC set by TOS - ST(n)

1/6

64-bit Real

DC [mod 010 r/m]

CC set by TOS - M.DR

1/6

32-bit Real

D8 [mod 010 r/m]

CC set by TOS - M.SR

1/6

FCOMP Floating Point Compare, Pop

80-bit Register

D8 [1101 1 n]

CC set by TOS - ST(n); then pop TOS

1/6

64-bit Real

DC [mod 011 r/m]

CC set by TOS - M.DR; then pop TOS

1/6

32-bit Real

D8 [mod 011 r/m]

CC set by TOS - M.SR; then pop TOS

1/6

FCOMPP Floating Point Compare, Pop

Two Stack Elements

DE D9

CC set by TOS - ST(1); then pop TOS and ST(1)

1/6

FCOMI Floating Point Compare Real and Set EFLAGS

80-bit Register

DB [1111 0 n]

EFLAG set by TOS - ST(n)

1/6

FCOMIP Floating Point Compare Real and Set EFLAGS, Pop

80-bit Register

DF [1111 0 n]

EFLAG set by TOS - ST(n); then pop TOS

1/6

FUCOMI Floating Point Unordered Compare Real and Set EFLAGS

80-bit Integer

DB [1110 1 n]

EFLAG set by TOS - ST(n)

1/6

FUCOMIP Floating Point Unordered Compare Real and Set EFLAGS, Pop

80-bit Integer

DF [1110 1 n]

EFLAG set by TOS - ST(n); then pop TOS

1/6

FICOM Floating Point Integer Compare

32-bit integer

DA [mod 010 r/m]

CC set by TOS - M.WI

2/7

16-bit integer

DE [mod 010 r/m]

CC set by TOS - M.SI

2/7

FICOMP Floating Point Integer Compare, Pop

32-bit integer

DA [mod 011 r/m]

CC set by TOS - M.WI; then pop TOS

2/7

16-bit integer

DE [mod 011 r/m

CC set by TOS - M.SI; then pop TOS

2/7

FCOS Function Evaluation: Cos(x)

D9 FF

TOS <--- COS(TOS)

146 - 215

1

This manual is related to the following products: