Delphi / ASM-Code mit 64bit nicht kompatibel?
-
12-12-2019 - |
Frage
Ich habe einen Sample-Quellcode für OpenGL, ich wollte eine 64-Bit-Version (mit Delphi XE2) kompilieren, aber es gibt einen ASM-Code, der nicht kompiliert, und ich weiß nichts von ASM.Hier ist der Code unten, und ich lege die zwei Fehlermeldungen in die Zeilen, die fehlschlagen ...
generasacodicetagpre.Lösung
Diese Prozedur sgibt ABGR-Byte-Reihenfolge an das Argb und umgekehrt.
Im 32-Bit sollte dieser Code den gesamten Job erledigen:
Der korrekte Code für x64 ist
generasacodicetagpre.noch eine andere Option - erstellen Sie die reine Pascal-Version, die die Reihenfolge der Bytes in der Array-Darstellung ändert: 0123 bis 2103 (Swap 0. und 2. Bytes).
generasacodicetagpre.Andere Tipps
64-Bit hat unterschiedliche Namen für Zeigerregister und es wird unterschieden. Die ersten vier Parameter für Inline-Assembler-Funktionen werden über RCX, RDX, R8 und R9 bzw. R9 geleitet
generasacodicetagpre.Versuchen Sie es mit
generasacodicetagpre.