Grundsätzliche Assemblerfragern!
-
Hallo @ All!
Assembler ist zurzeit absolutes Neuland ich hoffe ihr könnt mir ein paar Fragen dazu beantworten.
Wie bringe ich einen Wert in ein register rein?
Folgendes beispiel:Ich hab in C++ eine Variable:
int wert = 1234;
Wie bekomme ich diesen wert in ein Register damit ich dann damit arbeiten kann?
Ich arbeite mit einen Inline Assembler in Eclipse.__asm__ __volatile__( );
mfg
-
Assembler kann je nach Zielplattform (CPU) ziemlich unterschiedlich aussehen.
Wenn du zB. fuer einen x86 (PC, 32Bit) mit einem Intel-Syntax-Assembler programmierst, koennte das zB. so aehnlich aussehen:mov eax, [wert]
eax ist ein Allzweckregister, eckige Klammern um den Variablennamen bedeuten einen Speicherzugriff.
-
Nobuo T schrieb:
Wenn du zB. fuer einen x86 (PC, 32Bit) mit einem Intel-Syntax-Assembler programmierst, koennte das zB. so aehnlich aussehen:
mov eax, [wert]
ich würde sagen so: mov eax, 1234, also ohne die klammern (immediate adressing).
-
Ich hatte ihn so verstanden, dass er in seinem Stueck inline-Asm auf eine in c++ deklarierte Variable zugreifen wollte...
-
Nobuo T schrieb:
Ich hatte ihn so verstanden, dass er in seinem Stueck inline-Asm auf eine in c++ deklarierte Variable zugreifen wollte...
Hast schon richtig verstanden danke!