AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Algorithmen, Datenstrukturen und Klassendesign Gesucht: Int128 Integer Arithmetik (Assembler/Delphi)
Thema durchsuchen
Ansicht
Themen-Optionen

Gesucht: Int128 Integer Arithmetik (Assembler/Delphi)

Ein Thema von sundance · begonnen am 20. Feb 2015 · letzter Beitrag vom 20. Feb 2015
Antwort Antwort
Benutzerbild von Zacherl
Zacherl

Registriert seit: 3. Sep 2004
4.629 Beiträge
 
Delphi 10.2 Tokyo Starter
 
#1

AW: Gesucht: Int128 Integer Arithmetik (Assember/Delphi)

  Alt 20. Feb 2015, 11:12
Meines Wissens wird dadurch in Delphi erfolgreich die Optimierung verhindert
Die Optimierung in Delphi ist so oder so grottig. Das macht an dieser Stelle keinen Unterschied. Wenn man zudem auch unter 64 Bit compilen will, darf man kein inline Assembly verwenden, sondern muss die kompletten Funktionen in Assembler implementieren.
Projekte:
- GitHub (Profil, zyantific)
- zYan Disassembler Engine ( Zydis Online, Zydis GitHub)
  Mit Zitat antworten Zitat
Benutzerbild von sundance
sundance

Registriert seit: 9. Mai 2006
98 Beiträge
 
Delphi 7 Professional
 
#2

AW: Gesucht: Int128 Integer Arithmetik (Assember/Delphi)

  Alt 20. Feb 2015, 11:26
Es geht hier auch nicht primär ums Optimieren auf die letzte Nanosekunde.
Bei einer Programmier-Aufgabe bin ich auf eine Int128-Darstellung gestoßen und wollte bei der Gelegenheit meine etwas angestaubten Assemblerkenntnisse etwas auffrischen.
Leider kann ich die x64-Routinen nicht direkt verwenden (Delphi 7, 32-bit; kann leider auch keine "class operators") - aber vielleicht läßt sich ja was ableiten, was man zur Implementierung von Multipikation/Division mit Int128 brauchen kann. Irgendwie muss sich ja eine 128x128 oder 64x64 Operation mit 32-bit-MULs machen lassen.


@Mod: Bitte den Thread-Titel korrigieren (Assembler/Delphi), damit die Suche danach funktioniert...

Geändert von sundance (20. Feb 2015 um 12:16 Uhr)
  Mit Zitat antworten Zitat
Mikkey

Registriert seit: 5. Aug 2013
265 Beiträge
 
#3

AW: Gesucht: Int128 Integer Arithmetik (Assember/Delphi)

  Alt 20. Feb 2015, 13:10
Irgendwie muss sich ja eine 128x128 oder 64x64 Operation mit 32-bit-MULs machen lassen.
Natürlich, eigentlich ist es wie schriftlich rechnen im 4294967296-er System:

Addieren 128Bit: ADD, ADC, ADC, ADC
Subtrahieren: SUB, SBB, SBB, SBB
Multiplizieren: Nach der Methode:
Code:
(a1+b1+c1+d1) * (a2+b2+c2+d2) = a1a2 + a1b2 + a1c2 + a1d2 + b1a2 + ... + d1d2
, wobei man die Stellenverschiebung berücksichtigen kann. Ergebnis ist dann ein 256-Bit-Integer.
Dividieren: Lässt sich ebenfalls wie das schriftliche Dividieren impklementieren.

Ich habe mir seinerzeit (in den 80-ern) so etwas für 32-Bit-Arithmetik gemacht. im Prinzip macht es keinen Unterschied zu jetzt.
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:47 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz