Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Inline ASM (https://www.delphipraxis.net/20655-inline-asm.html)

Jörn 21. Apr 2004 05:29


Inline ASM
 
Kurz und knapp: Hat Inline ASM in Delphi denselben Syntax wie TASM? Kennt jemand gute Einführungen in Inline ASM?

MfG

Dax 21. Apr 2004 06:22

Re: Inline ASM
 
Ich weiss nicht, ob alle Befehle von TASM im Inline-Assembler sind, aber die Syntax müsste die gleiche, ist ja beides Assembler!

Ja, 'ne Einführung such ich auch verzweifelt. Noch nix gefunden...

Muetze1 21. Apr 2004 09:45

Re: Inline ASM
 
Moin!

Die Begründung das die Syntax gleich ist, weil es ja beides Assembler sind ist witzig. Dann compilier mal dein TASM Code mit NASM - sind ja auch beides Assembler... :roll:

Die Syntax ist beides der TASM Syntax (im Gegensatz zu NASM mit dem AT&T Syntax). Es sind nicht alle Befehle wie in TASM vorhanden (z.B. CPUID), aber die meisten. Die Programmierung ist soweit auch gleich, nur das halt die Proceduren/Funktionen direkt definiert werden durch Delphi...

Eine grundlegende Einführung in die Parameterübergabe und den integrierten Assembler bietet die Delphi Hilfe...

MFG
Muetze1

Jörn 21. Apr 2004 12:24

Re: Inline ASM
 
Ich hab ne englische Personal, und da brauche ich zumindest ne deutsche Einführung...

d3g 21. Apr 2004 12:32

Re: Inline ASM
 
Zitat:

Zitat von Muetze1
Dann compilier mal dein TASM Code mit NASM - sind ja auch beides Assembler... :roll:

[...]

(im Gegensatz zu NASM mit dem AT&T Syntax)

Du hast prinzipiell Recht, das Besipiel ist nur schlecht: NASM benutzt auch Intel-Syntax (das heißt natürlich nicht, dass TASM und NASM kompatibel sind ...).

Muetze1 21. Apr 2004 13:20

Re: Inline ASM
 
Moin!

Zitat:

Zitat von d3g
Du hast prinzipiell Recht, das Besipiel ist nur schlecht: NASM benutzt auch Intel-Syntax (das heißt natürlich nicht, dass TASM und NASM kompatibel sind ...).

Da würde ich mich jetzt streiten wollen, weil der Syntax ist wie der Code geschrieben sein muss, damit ihn der Assembler parsen kann / bzw. versteht. Es scheint mir aber eher so, das du auf die verwendeten CPU spezifischen Dinge eingehst, wenn du von Syntax redest (EAX/AX/AH/AL anstatt A). Das ist aber dann von der Hardwareplatform abhängig. Und selbst die Instruktionen sind zwar von Intel mal original als erstes gebastelt worden und von den anderen Herstellern nur kompatibel dazu nachgebildet, aber das die Befehle nun alle als "Intel Syntax" beschrieben werden können, ist eigentlich ein wenig weit hergeholt - selbst AMD und damals schon Cyrix haben Befehle eingeführt in die x86 Familie, die Intel nicht hatte. Grundsätzlich sind beide Assembler für die x86 kompatible Familie von Prozessoren, benutzen aber bei der Sprachgestaltung unterschiedliche Syntax. So sehe ich das...

MfG
Muetze1

Jörn 21. Apr 2004 13:36

Re: Inline ASM
 
Das ist ein bissel OT... ich suche trotzdem immer noch nach einer kleinen Einführung, Danke.

d3g 21. Apr 2004 15:27

Re: Inline ASM
 
Zitat:

Zitat von Muetze1
Es scheint mir aber eher so, das du auf die verwendeten CPU spezifischen Dinge eingehst, wenn du von Syntax redest (EAX/AX/AH/AL anstatt A).

Nein. Intel-Syntax: mov eax,2342; AT&T-Syntax: mov 2342,%eax. Solche fundamentalen Unterschiede gelten für alle Hardware-Plattformen, und von diesen syntaktischen Unterschieden rede ich. Man kann Assembler von ihrer Syntax her nun einmal in zwei Kategorien einteilen: Intel-ähnliche Syntax (z.B. NASM) und AT&T-Syntax (z.B. gas).

Zitat:

Zitat von Jörn
Das ist ein bissel OT... ich suche trotzdem immer noch nach einer kleinen Einführung, Danke.

Die wirst du auch bekommen (oder auch nicht), wenn du nicht in jedem dritten Posting darauf hinweist.

Jörn 21. Apr 2004 15:35

Re: Inline ASM
 
Ich will mich ja auch nicht aufspielen oder so, aber eure Diskussion gehört thematisch nicht wirklich in den Thread.

MfG

himitsu 9. Mär 2005 11:16

Re: Inline ASM
 
http://www.delphi-forum.de/viewtopic...ight=assembler

Und das hab'sch auch gerade gefunden ... drt ist auch noch einiges drin ^^
http://www.efg2.com/Lab/Library/Delphi/Miscellany/


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:10 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz