AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Programmieren allgemein 32 Bit Programme auf 64 Bit Rechnern
Thema durchsuchen
Ansicht
Themen-Optionen

32 Bit Programme auf 64 Bit Rechnern

Ein Thema von delphifan2004 · begonnen am 17. Nov 2005 · letzter Beitrag vom 21. Nov 2005
 
tommie-lie
(Gast)

n/a Beiträge
 
#16

Re: 32 Bit Programme auf 64 Bit Rechnern

  Alt 19. Nov 2005, 11:12
Zitat von delphifan2004:
Zitat von tommie-lie:
Es gibt keinen 16-Bit-Emulator (ntvdm) mehr!
Verleumdung! Das habe ich nie geschrieben!!!elfeins

Zitat von delphifan2004:
Dann dürften auch 16 Bit Dlls aus Borland-Pascal-Zeiten nicht mehr ladbar sein, da dannn das nötige API fehlt.
So isses ooch.

Zitat von delphifan2004:
Hab allerdings in Delphi Funktionen wie LoadLibrary16... gefunden. Wenn ich deinen Einwurf, tommie-lie, richtig verstanden habe, gibt es diese Funktionen dann nicht mehr.
Ich weiß nicht, was die Funktion genau macht und wo sie herkommt, aber wenn es eine aus Win3.x mitgeschleppte API-Funktion ist, wird sie höchstwahrscheinlich nicht mehr funktionieren, richtig.

Zitat von delphifan2004:
Die Dll könnte auch unter Borland Pascal so geschrieben werden, das beispielsweise Assemblerfunktionen aufgerufen werden, die mit den 32 Bit Registern arbeiten: asm db 66h mov ax,bx, wobei durch das Byte 66h, wenn das der richtige OpCode dafür ist, dafür sorgt, das die 32 Bit, Äquivalente verwendet werden, falls der integrierte Assembler verwendet wird.
Sicher, bei deiner Registeroperation wird's vermutlich auch noch mit den 16bit-Registern funktionieren (das war die Frage, die ich an Nico stellte, aber da er sie auch nicht beantworten kann, gehe ich einfach mal davon aus, daß AMD nicht schwachsinnigerweise Beschränkungen eingebaut hat, die vollkommen unnötig sind). Aber sag erstmal dem alten TurboPascal-Linker, daß er dir eine 32bit-PE machen soll.

Zitat von delphifan2004:
Außerdem enthält Borland Pascal den Turbo-Assembler, der die Direktive .386 beherrscht, womit dann aus dem Code ein 32 Bit Programm entstht.
Mit einem modernen Assembler und Linker kriegst du auch auf einem 32bit-Prozessor ein 64bit-Programm zustande, das ist kein Kunststück.

Zitat von delphifan2004:
Die Dll ist doch aber dann immer noch 16 Bittig, zumindest das Ladeformat? Die Verwendung solch einer Dll wird doch sicher dann problematisch?
Jupp, weil Windows sich die Emulation seines alten Adressmodells gespart hat.

Zitat von delphifan2004:
Da liege ich doch sicher richtig in der Annahme, das Borland Pascal DLLs, auch wenn sie nur 32 Bit-Funktionen aufrufen und den 32 Bittigen DOS-Extender voraussetzen, wie dann auch das übrige Programm, das die Dll verwendet, auf keinen Fall auf 64 Bit Rechnern im 32 Bit Modus laufen.
Weiß ich nicht, ich weiß nicht, was der Linker kann, ich weiß nicht, was dieser 32bit-Extender macht, und ich weiß nicht, was vorher an Initialisierung durch Borlands RTL abläuft (vergl. System.pas und SysInit.pas der Delphi-RTL).


In deinem, delphifan2004, Post habe ich irgendwie keinen Widerspruch und keine Anmerkung zu Nicos Aussage gefunden, daß die ntvdm nicht mehr existiert. Oder wolltest du nur bestätigt wissen, daß eine alte 16bit-DLL, die einem Win3.x-Linker entsprungen ist, nicht mehr von einem 32bit-Programm unter WoW64 geladen werden kann? Falls ja: Nein, kann sie nicht mehr.
  Mit Zitat antworten Zitat
 


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 05:34 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