Fórum Soma em assembler não funciona... #240798
01/07/2004
0
function Sum(var X, Y: real): real;
begin
asm
fld x
fld y
fADD
fstp @Result
end;
end;
no entanto ela não retorna o valor correto. Só funciona sem o var.
Alguém sabe por que???
Ertai
Curtir tópico
+ 0Posts
01/07/2004
Beppe
function Sum(var X, Y: Double): Double; asm // a notação xword ptr [mem], é comum para var e não-var fld qword ptr [X] fadd qword ptr [Y] end;
O problema é que vc não indicou o tipo dados(qword: Double), então (dword: Single) foi assumido, o que gerou o resultado errado.
Gostei + 0
02/07/2004
Ertai
já tinha tentado desse modo que vc passou, mas não funciona também...
Gostei + 0
02/07/2004
Beppe
Eu naum costumo testar o que posto :oops: ...mas este sim, funcionou perfeito pra mim...Que versão do Delphi?
Gostei + 0
Clique aqui para fazer login e interagir na Comunidade :)