Programando a FPU X87 - Exemplos -
description
Transcript of Programando a FPU X87 - Exemplos -
Programando a FPU X87
- Exemplos -
Lauro Moura
Bruno Silva
{lmmn,bs}@cin.ufpe.br
Conteúdo Variáveis “flutuantes” Exemplos
– Raiz quadrada– Área do Círculo– Volume de um Cone
Exercícios– Triângulos– Senos e cossenos
Variáveis dd – Precisão simples dq – Precisão dupla dt – Precisão extendida
y dq 3.0
Raiz quadrada y = x^(1/2)
FILD word [x]
FSQRT
FSTP dword [y]
Área do Círculo A = pi*(r^2)
FILD word [x]
FLD ST0
FMULP ST1, ST0
FLDPI
FMULP ST1, ST0
FSTP dword [y]
Volume de um Cone V = h*A/3
mov ax, [r]mov [x], axcall circleFLD dword [y]FILD word [h]FMULP ST1, ST0FILD word [three]FDIVP ST1, ST0FST dword [y]
Exercício 1: Triângulos Crie uma função que leia três
posições de memória (lados de um triangulo) e determine os ângulos desse triângulo.
Dica: Arco-seno...
Exercício 2: Equação Quadrática
Crie uma função que receba três argumentos (inteiros, ‘a’, ‘b’ e ‘c’) e atualize duas posições de memória com as raízes da equação quadrática correspondente.
Referências IA-32 Intel Architecture Software
Developer’s Manual, Volume 1 – Basic Architecture. Intel Corporation.
Order Number: 253665-016US
NASM Manualhttp://nasm.sourceforge.net/doc/html/nasmdoc0.html