6.3 El coprocesador numérico Hardware e instrucciones

Anuncio
APUNTES DE LENGUAJE ENSAMBLADOR
________________________________________________________________________________________
6.3 El coprocesador numérico Hardware e instrucciones
Instrucciones del coprocesador matemático
INSTRUCCIONES DE CARGA DE PUNTO FLOTANTE
MNEMÓNICO
FLD
FILD
FBLD
FLD
FLDL
FLDZ
FLDPI
FLD12e
FLD12T
FLDLG2
FLDLN2
OPERANDO
ACCIÓN
memoria para valor real
memoria para valor entero
valor real de la memoria se pone en la pila
valor entero de memoria convertido a flotante se pone en la pila
memoria para valor (BCD)
ST(num)
valor BCD de la memoria convertido a flotante se pone en la pila
el contenido del registro en punto flotante se pone en la pila
ninguno
ninguno
1.0 se pone en la pila
0.0 se pone en la pila
ninguno
Ninguno
(pi) se pone en la pila
Log(base 2)(e) se pone en la pila
ninguno
ninguno
Log(base 2)(10) se pone en la pila
Log(base 10)(2) se pone en la pila
ninguno
Log(base e)(2) se pone en la pila
INSTRUCCIONES PARA ALMACENAR DATOS DE PUNTO FLOTANTE
MNEMÓNICO
FST
FSTP
FST
FSTP
FIST
FISTP
FBSTP
OPERANDO
ST(num)
ACCIÓN
remplaza el contenido de ST(num) por la copia del valor de ST; sólo ST(num) es afectado
ST(num)
remplaza el contenido de ST(num) por la copia del valor de ST; ST es sacado de la pila
memoria para valor real
copia de ST puesto como valor real en memoria, la pila no es afectada
memoria para valor real
copia de ST puesto como valor real en memoria, ST es sacado de la pila
memoria para valor entero
copia de ST convertido a entero y almacenado en memoria
memoria para valor entero
copia de ST convertido a entero y almacenado en memoria, ST es sacado de la pila
memoria para valor (BCD)
copia de ST convertido a BCD y almacenado en memoria; ST es sacado de la pila
INSTRUCCIONES PARA SUMA DE PUNTO FLOTANTE
MNEMÓNICO
FADD
FADD
FADD
FADD
FIADD
FADDP
OPERANDO
ACCIÓN
Ninguno
ST(num), ST
saca ST y ST(1) de la pila, suma esos valores y pone la suma en la pila
suma ST(num) y ST; se remplaza ST(num) por la suma
ST, ST(num)
memoria valor real
suma ST y St(num); remplaza ST por la suma
suma a ST y un número real de memoria y remplaza ST por la suma
memoria valor entero
ST(num), ST
suma ST un valor entero de memoria y remplaza ST por la suma
suma ST(num) y ST; remplaza ST(num) por la suma y saca a ST de la pila
32
Prof. Juan Juárez Fuentes
APUNTES DE LENGUAJE ENSAMBLADOR
________________________________________________________________________________________
INSTRUCCIONES PARA RESTA DE PUNTO FLOTANTE
MNEMÓNICO
FSUB
FSUB
FSUB
FSUB
FISUB
FSUBP
FSUBR
FSUBR
FSUBR
FSUBR
FISUBR
FSUBPR
OPERANDO
ACCIÓN
ninguno
saca ST y ST(1); calcula ST(1) ± ST; pone la diferencia en la pila
ST(num), ST
ST, ST(num)
calcula ST(num) ± ST; remplaza ST(num) por la diferencia
calcula ST ± ST(num); remplaza ST por la diferencia
memoria valor real
memoria valor entero
calcula ST ± numero real de memoria; remplaza ST por la diferencia
calcula ST ± valor entero de memoria; remplaza ST por la diferencia
ST(num), ST
ninguno
calcula ST(num) ± ST; remplaza ST(num) por la diferencia y saca ST de la pila
saca ST y ST(1); calcula ST ± ST(num); pone la diferencia en la pila
ST(num), ST
ST, ST(num)
calcula ST ± ST(num); remplaza ST(num) por la diferencia
calcula ST(num) ± ST; remplaza ST por la diferencia
memoria valor real
memoria valor entero
calcula numero real de memoria ± ST; remplaza ST por la diferencia
calcula valor entero de memoria ± ST; remplaza ST por la diferencia
ST(num), ST
calcula ST ± ST(num); remplaza ST(num) por la diferencia y saca ST de la pila
INSTRUCCIONES PARA MULTIPLICACIÓN DE PUNTO FLOTANTE
MNEMÓNICO
FMUL
FMUL
FMUL
FMUL
FIM UL
FMULP
OPERANDO
ACCIÓN
ninguno
ST(num), ST
saca ST y ST(1) de la pila, multiplica esos valores y pone el producto en la pila
multiplica ST(num) y ST; se remplaza ST(num) por el producto
ST, ST(num)
Memoria valor real
multiplica ST y ST(num); remplaza ST por el producto
multiplica ST y un número real de memoria y remplaza ST por el producto
Memoria valor entero
ST(num), ST
multiplica ST un valor entero de memoria y remplaza ST por el producto
multiplica ST(num) y ST; remplaza ST(num) por el producto y saca a ST de la pila
INSTRUCCIONES PARA DIVISIÓN DE PUNTO FLOTANTE
MNEMÓNICO
FDIV
FDIV
FDIV
FDIV
FIDIV
FDIVP
FDIVR
FDIVR
FDIVR
FDIVR
FIDIVR
FDIVPR
OPERANDO
ACCIÓN
ninguno
saca ST y ST(1); calcula ST(1) / ST; pone el cociente en la pila
ST(num), ST
ST, ST(num)
calcula ST(num) / ST; remplaza ST(num) por el cociente
calcula ST / ST(num); remplaza ST por el cociente
memoria valor real
memoria valor entero
calcula ST / numero real de memoria; remplaza ST por el cociente
calcula ST / valor entero de memoria; remplaza ST por el cociente
ST(num), ST
ninguno
calcula ST(num) / ST; remplaza ST(num) por el cociente y saca ST de la pila
saca ST y ST(1); calcula ST / ST(num); pone el cociente en la pila
ST(num), ST
ST, ST(num)
calcula ST / ST(num); remplaza ST(num) por el cociente
calcula ST(num) / ST; remplaza ST por el cociente
memoria valor real
memoria valor entero
calcula numero real de memoria / ST; remplaza ST por el cociente
calcula valor entero de memoria / ST; remplaza ST por el cociente
ST(num), ST
calcula ST / ST(num); remplaza ST(num) por el cociente y saca ST de la pila
33
Prof. Juan Juárez Fuentes
APUNTES DE LENGUAJE ENSAMBLADOR
________________________________________________________________________________________
INSTRUCCIONES ADICIONALES DE PUNTO FLOTANTE
MNEMÓNICO
FABS
FCHS
FRNDINT
FSQRT
OPERANDO
ACCIÓN
ninguno
ninguno
ST = |ST| (valor absoluto)
ST = - ST (cambio de signo)
ninguno
ninguno
redondea ST a valor entero
remplaza el contenido de ST por su raíz cuadrada
INSTRUCCIONES PARA COMPARACIÓN DE PUNTO FLOTANTE
MNEMÓNICO
FCOM
FCOM
FCOM
FICOM
FTST
FCOMP
FCOMP
FCOMP
FICOMP
FCOMPP
OPERANDO
ACCIÓN
ninguno
ST(num)
Compara ST y St(1)
Compara ST y ST(num)
memoria valor real
memoria valor entero
Compara ST y un número real en memoria
Compara ST y un entero en memoria
ninguno
ninguno
Compara ST y y 0.0
Compara ST y ST(1) y lo saca de la pila
ST(num)
memoria valor real
Compara ST y ST(num) y lo saca de la pila
Compara ST y un número real en memoria lo saca de la pila
memoria valor entero
ninguno
Compara ST y con un entero en memoria y lo saca de la pila
Compara ST y ST(1) y lo saca de la pila a los dos
INSTRUCCIONES MISCELANEAS DE PUNTO FLOTANTE
MNEMÓNICO
FSTSW
FSTSW
FSTCW
FLDCW
OPERANDO
ACCIÓN
Palabra en memoria
Copia el registro estatus a la memoria en tamaño palabra
AX
Palabra en memoria
Copia el registro estatus a AX
Copia el registro de la palabra de control a la memoria en palabra
Palabra en memoria
Copia la palabra en memoria al registro de palabra de control
34
Prof. Juan Juárez Fuentes
Descargar