![]() |
Delphi IDE für reinen Assembler "missbrauchen" ?
Ich will mir Assembler mal etwas genauer anschauen. Bisher konnte ich das nur so oberflächlich.
Und jetzt wollte ich wissen ob man die Delphi IDE nicht einfach komplett als Assembler missbrauchen kann. Also ich schreib nen Konsolen-Programm und direkt hinter begin fang ich gleich mit dem ASM an, und schreibe ab da komplett nur assembler. Würde das gehen ? Gäbe es Einschränkungen (Geht damit alles was sonst mit Assembler geht) ? Gibt es sonstige Unterschiede ? |
Re: Delphi IDE für reinen Assembler "missbrauchen"
mittels
Delphi-Quellcode:
Kannst du in Delphi normalen Assemler-Code verwenden.
asm
... end; Über die Einschränkungen kann ich dir leider nichts sagen. |
Re: Delphi IDE für reinen Assembler "missbrauchen"
hi,
der Delphi Inline Assembler hat meiner Meinung nach viel zu viele Einschränkungen gegenüber einem richtigen Assembler. z.B. können dort keine Labels (somit keine globalen variablen und sprünge nach compares) eingefügt werden. cu, stefan2005 |
Re: Delphi IDE für reinen Assembler "missbrauchen"
Variablendeklarationen sind damit auch nicht in Assembler möglich, da braucht man noch Delphi's var.
|
Re: Delphi IDE für reinen Assembler "missbrauchen"
Zitat:
Delphi-Quellcode:
function Evil: Integer; register; assembler;
asm mov eax, 42 end; function Foo(Bar: Boolean): Integer; register; assembler; asm cmp Bar, False jz @@exit jmp Evil @@exit: end; |
Re: Delphi IDE für reinen Assembler "missbrauchen"
Danke für eure Antwortden. :thumb:
Würde das also bedeuten, dass die Delphi IDE jetzt wirklich mit anderen Assembler Compilern gleichzusetzen ist ? Dann lern ich Assembler nämlich damit, weil es sich ja geradezu anbietet. Ihr habt noch ne Chance mich davon abzubringen :cyclops: |
Re: Delphi IDE für reinen Assembler "missbrauchen"
Zitat:
Denoch empfehle ich dir mit dem Delphi Assembler anzufangen. Aussage wie "keine Labels", "keine bedingten Sprünge", "keine Variablen und Konstanten" snd absoluter Blödsinn. Selbst globale Labels sind indirekt damit möglich, logisch da man im Delphi Assembler sehr wohl eine externe Funktion/Procedure aufrufen kann, und das ist nichts anderes als ein "Label". Fange mit Delphi an, baue immer schön kleine Asembler Funktionen. Als erstes reine Integer Arithmetik, Boolsche Operationen etc. pp. Mache dich dann mit dem CPU fenster vertraut das ist nämlich garnicht mal so schlecht. Als nächstes komplexere Datenstrukturen die du in reinem Pascal deklarierst und dann in Assembler zugreifst. Vorteilhaft ist das eben weil du reinen Pascal Code direkt mit deinem Assembler vergleichen kannst. Das ist weit BESSER als gleich mit einem reinem Assembler anzufangen. Später dann versuchst du die FPU -> Fließkommaoperationen in Assembler zu coden. Denn gerade in diesem Sektor erzeugt der Delphi Compiler nicht gerade optimierten Code. Und als letzten Schritt kannst du dich in spezielle Features der CPU's einarbeiten, zb. MMX, SSE2 oder AMD's Opcodes. All das kann man mit Delphis Assembler ohne Probleme coden. Ich behaupte mal das mit dem inline Assembler alles machbar ist was man mit jedem anderen Assembler auch machen kann. Gruß Hagen |
Re: Delphi IDE für reinen Assembler "missbrauchen"
Vielen dank Hagen :thumb:
Du bist bekannt für deine detailreichen und genauen Antworten, und ich danke dir, dass du dir die Zeit dafür genommen hast. Natürlich auch ein Dankeschön an alle anderen. :cheers: :dp: |
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:58 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