Deutsch
Forum

Warum schmiert diese Demo ab?

 
- Seite 1 -



funkheld
Diese nProc ist eine Demo von XPSE.
Gruss
 {$CLEQ}
Declare  b!,c!
b!=3.14
c!=ArcSin2(b!)
End

nProc ArcSin2

    Parameters a!
    //Formel welche unten umgesetzt wird: arctan(a!/Sqrt(-a!*a!+1.0))
    mov eax,addr(a!)
    push eax
    fld qword ptr [eax]
    fmul qword ptr [eax]
    fsubr qword ptr __xeTF_00//__xeTF_00 Konstante für 0.0
    fadd qword ptr __xeTF_01//__xeTF_00 Konstante für 1.0
    fsqrt
    fdivr qword ptr [eax]
    fld1
    fpatan
    pop eax
    fstp qword ptr [eax]
    return a!

endproc

 
30.11.2014  
 



 
- Seite 2 -


Das könnte heissen dass die Fliesskommaoperationen scheiterten, quasi ungültige Operationen angewiesen wurde. Da setzt die (Fließkomma)CPU ein Flag "kam nur murx bei raus" und XProfan gibts als NaN wieder. Da stimmt dann also was am Assembler nicht. Du kannst den erzeugten ASM ansehen indem Du die .asm-Datei öffnest. Schau mal ob dort landete was Du geschrieben hast.
 
04.12.2014  
 




RGH
"NaN" kommt definitiv nicht von XProfan!

Gruß
Roland
 
XProfan X2
Intel Duo E8400 3,0 GHz / 4 GB RAM / 1000 GB HDD - ATI Radeon HD 4770 512 MB - Windows 7 Home Premium 32Bit - XProfan X4
04.12.2014  
 



Dochdoch! Ist Delphi-Pascalausgabe.
 
04.12.2014  
 




funkheld
Jup, ich habe Xprofan 11.2a

Hmmm...ich möchte jetzt nicht so rumbasteln, eigentlich sollte es für mich nur
funktionieren. Darum mein Hilferuf.

Gruss
 
04.12.2014  
 




funkheld
Mit FreeProfan32 kommt auch die Meldung " Nan"

Gruss
 
04.12.2014  
 



 
- Seite 3 -


Ich schrieb ja: Fehler im ASM. Kann ja XProfan nichts für - sagt nur not a number weil ein Flag gesetzt ist dass die FPU-Operation so nicht funzt. ASM-Korrigieren!
 
04.12.2014  
 




funkheld
Aber wie....???

Gruss
 
04.12.2014  
 




funkheld
Wie kann man denn bei XPSE so etwas reinsetzen?
----------------------------------------
.data
pi180 dq 0.017453292519943
---------------------------------------

Gruss
 
04.12.2014  
 



Ja halt einfach ne Floatvariable ich verstehe nicht was du wirklich willst weil ist doch alles so einfach

float pi180=0.017453292519943

Oder var pi180!=0.017...
 
04.12.2014  
 



Habe das Thema mal verschoben ins XPSE Forum.
 
05.12.2014  
 




funkheld
Und wie binde ich dein Vorschlag in ASM ein ?

Danke.
Gruss
 
05.12.2014  
 



Wird doch automatisch ASM,

weiß nicht wo Du eine Hürde siehst.

Obigstes Demo zeigt z.B. auch wie man aus einer FloatVariable(nadresse) eax macht, einfach mov eax,addr(pi180).
 
05.12.2014  
 




Antworten


Thementitel, max. 100 Zeichen.
 

Systemprofile:

Kein Systemprofil angelegt. [anlegen]

XProfan:

 Beitrag  Schrift  Smilies  ▼ 

Bitte anmelden um einen Beitrag zu verfassen.
 

Themenoptionen

23.076 Betrachtungen

Unbenanntvor 0 min.
Gast.081511.11.2024
funkheld30.12.2021
p.specht19.09.2018
E.T.12.04.2018
Mehr...

Themeninformationen

Dieses Thema hat 4 Teilnehmer:

iF (14x)
funkheld (10x)
Michael W. (6x)
RGH (1x)


Admins  |  AGB  |  Anwendungen  |  Autoren  |  Chat  |  Datenschutz  |  Download  |  Eingangshalle  |  Hilfe  |  Händlerportal  |  Impressum  |  Mart  |  Schnittstellen  |  SDK  |  Services  |  Spiele  |  Suche  |  Support

Ein Projekt aller XProfaner, die es gibt!


Mein XProfan
Private Nachrichten
Eigenes Ablageforum
Themen-Merkliste
Eigene Beiträge
Eigene Themen
Zwischenablage
Abmelden
 Deutsch English Français Español Italia
Übersetzungen

Datenschutz


Wir verwenden Cookies nur als Session-Cookies wegen der technischen Notwendigkeit und bei uns gibt es keine Cookies von Drittanbietern.

Wenn du hier auf unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung von Informationen in unseren Cookies auf XProfan.Net zu.

Weitere Informationen zu unseren Cookies und dazu, wie du die Kontrolle darüber behältst, findest du in unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Ich möchte keinen Cookie