ВУЗы и колледжи

Виды арифметических операций в ЭВМ. Предмет:Информационные технологии

в простейших - сложение и вычитание,

сопроцессор пентиум 4:
FADD Add real: st(0) <- st(0) + st(1)
FADD src st(0) <- st(0) + src (mem32/mem64)
FADD st(i),st st(i) <- st(i) + st(0)
FADDP st(i),st st(i) <- st(i) + st(0); pop stack
FIADD src Add integer: st(0) <- st(0) + src (mem16/mem32)

FSUB Subtract real: st(0) <- st(0) - st(1)
FSUB src st(0) <- st(0) - src (reg/mem)
FSUB st(i),st st(i) <- st(i) - st(0)
FSUBP st(i),st st(i) <- st(i) - st(0); pop stack
FSUBR st(i),st Subtract Reversed: st(0) <- st(i) - st(0)
FSUBRP st(i),st st(0) <- st(i) - st(0); pop stack
FISUB src Subtract integer: st(0) <- st(0) - src (mem16/mem32)
FISUBR src Subtract Rvrsd int: st(0) <- src - st(0) (mem16/mem32)

FMUL Multiply real: st(0) <- st(0) * st(1)
FMUL st(i) st(0) <- st(0) * st(i)
FMUL st(i),st st(i) <- st(0) * st(i)
FMULP st(i),st st(i) <- st(0) * st(i); pop stack
FIMUL src Multiply integer: st(0) <- st(0) * src (mem16/mem32)

FDIV Divide real: st(0) <- st(0) ÷ st(1)
FDIV st(i) st(0) <- st(0) ÷ t(i)
FDIV st(i),st st(i) <- st(0) ÷ st(i)
FDIVP st(i),st st(i) <- st(0) ÷ st(i); pop stack
FIDIV src Divide integer: st(0) <- st(0) ÷ src (mem16/mem32)
FDIVR st(i),st Divide Rvrsd real: st(0) <- st(i) ÷ st(0)
FDIVRP st(i),st st(0) <- st(i) ÷ st(0); pop stack
FIDIVR src Divide Rvrsd int: st(0) <- src ÷ st(0) (mem16/mem32)

FSQRT Square Root: st(0) <- sqrt st(0)

FSCALE Scale by power of 2: st(0) <- 2 ^ st(0)

FXTRACT Extract exponent: st(0) <- exponent of st(0); and gets pushed
st(0) <- significand of st(0)

FPREM Partial remainder: st(0) <- st(0) MOD st(1)
FPREM1 Partial Remainder (IEEE): same as FPREM, but in IEEE standard [486]

FRNDINT Round to nearest int: st(0) <- INT( st(0) ); depends on RC flag

FABS Get absolute value: st(0) <- ABS( st(0) ); removes sign
FCHS Change sign: st(0) <- -st(0)

.----------------
| Transcendental |
'----------------'

FCOS Cosine: st(0) <- COS( st(0) )
FPTAN Partial tangent: st(0) <- TAN( st(0) )
FPATAN Partial Arctangent: st(0) <- ATAN( st(0) )
FSIN Sine: st(0) <- SIN( st(0) )
FSINCOS Sine and Cosine: st(0) <- SIN( st(0) ) and is pushed to st(1)
st(0) <- COS( st(0) )
F2XM1 Calculate (2 ^ x)-1: st(0) <- (2 ^ st(0)) - 1
FYL2X Calculate Y * log2(X): st(0) is Y; st(1) is X; this replaces st(0)
and st(1) with: st(0) * log2( st(1) )
FYL2XP1 Calculate Y * log2(X+1): st(0) is Y; st(1) is X; this replaces st(0)
and st(1) with: st(0) * log2( st(1)+1 )
Рада Астафьева
Рада Астафьева
4 296
Лучший ответ