Documentos de Académico
Documentos de Profesional
Documentos de Cultura
INTEL 8087
ADD FADD
MUL FMUL
REGISTROS 8087:
Cada instruccin de carga tiene dos formas: La forma con espera verifica
excepciones de errores numricos no enmascarados y espera a que sean
atendidos. La forma sin espera (cuyo mnemotcnico comienza con "FN")
ignora excepciones sin enmascarar.
INSTRUCCIONES ARITMTICAS:
FADD: Hace ST(1) ms ST, ajusta el puntero de pila y pone el resultado en ST,
por lo que ambos operandos se destruyen.
FADD mem: Hace ST <- ST + [mem]. En mem deber haber un nmero real en
punto flotante.
FIADD mem: Hace ST <- ST + [mem]. En mem deber haber un nmero
entero en complemento a dos.
FADD ST(num), ST: Realiza ST(num) <- ST(num) + ST.
FADD ST, ST(num): Realiza ST <- ST + ST(num).
FADDP ST(num), ST: Realiza ST(num) <- ST(num) + ST y retira el valor de ST
de la pila, con lo que ambos operandos se destruyen.
FSUB: Hace ST(1) menos ST, ajusta el puntero de pila y pone el resultado en
ST, por lo que ambos operandos se destruyen.
FSUB mem: Hace ST <- ST - [mem]. En mem deber haber un nmero real en
punto flotante.
FISUB mem: Hace ST <- ST - [mem]. En mem deber haber un nmero entero
en complemento a dos.
FSUB ST(num), ST: Realiza ST(num) <- ST(num) - ST.
FSUB ST, ST(num): Realiza ST <- ST - ST(num).
FSUBP ST(num), ST: Realiza ST(num) <- ST(num) - ST y retira el valor de ST de
la pila, con lo que ambos operandos se destruyen.
FSUBR: Hace ST menos ST(1), ajusta el puntero de pila y pone el resultado en
ST, por lo que ambos operandos se destruyen.
FSUBR mem: Hace ST <- [mem] - ST. En mem deber haber un nmero real en
punto flotante.
FISUBR mem: Hace ST <- [mem] - ST. En mem deber haber un nmero
entero en complemento a dos.
FSUBR ST(num), ST: Realiza ST(num) <- ST - ST(num).
FSUBR ST, ST(num): Realiza ST <- ST(num) - ST.
FSUBRP ST(num), ST: Realiza ST(num) <- ST - ST(num) y retira el valor de ST
de la pila, con lo que ambos operandos se destruyen.
FMUL: Multiplicar el valor de ST(1) por ST, ajusta el puntero de pila y pone el
resultado en ST, por lo que ambos operandos se destruyen.
FMUL mem: Hace ST <- ST * [mem]. En mem deber haber un nmero real en
punto flotante.
FIMUL mem: Hace ST <- ST * [mem]. En mem deber haber un nmero entero
en complemento a dos.
FMUL ST(num), ST: Realiza ST(num) <- ST(num) * ST.
FMUL ST, ST(num): Realiza ST <- ST * ST(num).
FMULP ST(num), ST: Realiza ST(num) <- ST(num) * ST y retira el valor de ST
de la pila, con lo que ambos operandos se destruyen.
FDIV: Dividir el valor de ST(1) por ST, ajusta el puntero de pila y pone el
resultado en ST, por lo que ambos operandos se destruyen.
FDIV mem: Hace ST <- ST / [mem]. En mem deber haber un nmero real en
punto flotante.
FIDIV mem: Hace ST <- ST / [mem]. En mem deber haber un nmero entero
en complemento a dos.
FDIV ST(num), ST: Realiza ST(num) <- ST(num) / ST.
FDIV ST, ST(num): Realiza ST <- ST / ST(num).
FDIVP ST(num), ST: Realiza ST(num) <- ST(num) / ST y retira el valor de ST de
la pila, con lo que ambos operandos se destruyen.
FDIVR: Hace ST dividido ST(1), ajusta el puntero de pila y pone el resultado en
ST, por lo que ambos operandos se destruyen.
FDIVR mem: Hace ST <- [mem] / ST. En mem deber haber un nmero real en
punto flotante.
FIDIVR mem: Hace ST <- [mem] / ST. En mem deber haber un nmero entero
en complemento a dos.
FDIVR ST(num), ST: Realiza ST(num) <- ST / ST(num).
FDIVR ST, ST(num): Realiza ST <- ST(num) / ST.
FDIVRP ST(num), ST: Realiza ST(num) <- ST / ST(num) y retira el valor de ST
de la pila, con lo que ambos operandos se destruyen.
FABS: Pone el signo de ST a positivo (valor absoluto).
FCHS: Cambia el signo de ST.
FRNDINT: Redondea ST a un entero.
FSQRT: Reemplaza ST con su raz cuadrada.
FSCALE: Suma el valor de ST(1) al exponente del valor en ST. Esto
efectivamente multiplica ST por dos a la potencia contenida en ST(1). ST(1)
debe ser un nmero entero.
FPREM: Calcula el resto parcial hallando el mdulo de la divisin de los dos
registros de la pila que estn el tope. El valor de ST se divide por el de ST(1). El
resto reemplaza el valor de ST. El valor de ST(1) no cambia. Como esta
instruccin realiza sustracciones repetidas, puede tomar mucho tiempo si los
operandos son muy diferentes en magnitud. Esta instruccin se utiliza a veces
en funciones trigonomtricas.
FXTRACT: Luego de esta operacin, ST contiene el valor de la mantisa original
y ST(1) el del exponente.