Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit
GELÖST

Fließkommazahlen mit der FPU berechnen

Frage Entwicklung Assembler

Mitglied: supernicky

supernicky (Level 1) - Jetzt verbinden

22.06.2011 um 03:45 Uhr, 3662 Aufrufe, 3 Kommentare

Ergebnis einer Fließkommaberechnung liegt nur als Integer vor...

Hallo,

auch wenn ich nicht viel Hoffnung habe das hier jemand antwortet, hier mal meine Frage.

Ich lege 2 Zahlen auf den FPU Stack ab (2.5 und 4.0)
Nach einer Multiplikation erhalte ich auch als Ergebnis 10.

Sobald ich aus der 4.0 eine 4.5 mache, erhalte ich genau 11... (11.25 ist das genaue Ergebnis)

Nun habe ich in meinem Buch stehen daß das Komma im Exponenten abgelegt wird und der eigentliche Zahlenwert in der Mantisse steht.

Sollte die Mantisse dann nicht den Wert 1125 und der Exponent (16bit groß) den Wert 2 haben?

Weiß jemand wie man das 80bit Ergebnis ausliest das ich wie oben auf meine 11.25 komme?

Nicky


hier noch der Code für FPU:
zahl1 ist 4.5 und zahl2 ist 2.5. Das Ergebnis der Multiplikation wird am Ende wieder nach zahl1 geschrieben, die ich dann ausgeben möchte.


fld zahl1
fld zahl2
fmul
fist zahl1
wait
Mitglied: 76109
22.06.2011 um 10:31 Uhr
Hallo supernicky!

Mit
FIST
bekommst Du nur Ganzzahlen und keine Fließkommazahlen geliefert.

Mit
FBSTP Buf
bekommst Du den Fließkomma-Wert im BCD-Format geliefert. Zum umwandeln ist der Befehl 'AAM' von nutzen.

Gruß Dieter

PS. Der Buffer muss die Größe QWord (64-Bit) oder TByte (80-Bit) haben.
Bitte warten ..
Mitglied: supernicky
22.06.2011 um 16:10 Uhr
Hallo Dieter,

Der Befehl AAM funktioniert nur mit 16bit Registern.

Muss ich die Variable Buf wortweise in das AX Register kopieren und dann mit AAM umwandeln?

Gruß Nicky
Bitte warten ..
Mitglied: 76109
23.06.2011 um 00:46 Uhr
Hallo Nicky!

Nö, Byteweise in AL.
01.
mov AL, byte ptr Buf[x] 
02.
aam 
AAM splittet die Einer nach AL und die Zehner nach AH

Gruß Dieter
Bitte warten ..
Ähnliche Inhalte
Datenbanken
Access 2010 Entwicklung berechnen (1)

Frage von Dr.Cornwallis zum Thema Datenbanken ...

Netzwerke
HTTP Overhead Berechnen und Protokolstack

Frage von karlosss zum Thema Netzwerke ...

Festplatten, SSD, Raid
Speicher der nächsten Jahre berechnen (10)

Frage von Ravers zum Thema Festplatten, SSD, Raid ...

Microsoft Office
gelöst Excel: Mittelwert alle 96 Zeilen berechnen (6)

Frage von sims zum Thema Microsoft Office ...

Neue Wissensbeiträge
Peripheriegeräte

Was beachten bei der Wahl einer USV Anlage im Serverschrank

(2)

Tipp von zetboxit zum Thema Peripheriegeräte ...

Windows 10

Das Windows 10 Creators Update ist auf dem Weg

(5)

Anleitung von BassFishFox zum Thema Windows 10 ...

Administrator.de Feedback

Tipp: Ungelöste Fragen ohne Antwort in Tickeransicht farblich hinterlegen

Tipp von pattern zum Thema Administrator.de Feedback ...

Viren und Trojaner

Neue Magazin Ausgabe: Malware und Angriffe abwehren

Information von Frank zum Thema Viren und Trojaner ...

Heiß diskutierte Inhalte
Windows Systemdateien
Warum System auf "C:" (29)

Frage von DzumoPRO zum Thema Windows Systemdateien ...

LAN, WAN, Wireless
Cisco SG200: Auf bestimmtem vLAN bestimmte TCP-Ports sperren (19)

Frage von SarekHL zum Thema LAN, WAN, Wireless ...

Windows Server
gelöst Update BackupExec 2015 auf 2016 führt zu SQL-Server Problem (16)

Frage von montylein1981 zum Thema Windows Server ...

Cloud-Dienste
gelöst Bitcoins minen über Nacht? (16)

Frage von 1410640014 zum Thema Cloud-Dienste ...