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, 3651 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
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 ...

Microsoft Office
gelöst Microsoft Excel: Zwischenwerte berechnen (2)

Frage von christianlindloff zum Thema Microsoft Office ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Festplatten, SSD, Raid
gelöst Fehlerhafte Blöcke im RAID 10 (12)

Frage von Kojak-LE zum Thema Festplatten, SSD, Raid ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (12)

Frage von planetIT2016 zum Thema Windows Server ...

Netzwerkgrundlagen
gelöst Cisco SG500 Series LAG hat sich von selbst umgestellt (11)

Frage von Ex0r2k16 zum Thema Netzwerkgrundlagen ...