Assembler in C++ .NET?
-
Hallo!
Ich möchte gerne Assemblercode in C++ anwenden. Ich habe C# .NET und dort kann ich es leider nicht, deswegen habe ich beschlossen wieder mehr auf C++ zu gehen. Nun, es gibt zwar _asm was ja so wie mir jemand sagte auch in C++ .NET funktioniert und man damit den Code direkt reinprogrammieren kann. Ich habe mal ein Beispiel wie ich das konkret meine:
#include<stdio.h> extern int ASMUP(int,int,int); void main() { int ergebnis; ergebnis = ASMUP(10,5,1); /* Subtrahiere */ printf("\nErgebnis: %d\n",ergebnis); ergebnis=ASMUP(0,0,2); /* Größe Speicher bestimmen*/ printf("\nHauptspeichergröße: %d\n",ergebnis); } PUBLIC _ASMUP _TEXT SEGMENT WORD PUBLIC 'CODE' ASSUME CS:_TEXT _ASMUP PROC push bp mov bp,sp mov ax,[bp+8] cmp ax,1 je Subtahiere cmp ax,2 je Hauptspeicher jmp EndeUp Subtrahiere: mov ax,[bp+4] mov bx,[bp+6] sub ax,bx jmp EndeUp Hauptspeicher: int 12h EndeUp: mov sp,bp pop bp ret _ASMUP ENDP _TEXT ENDS END END
Dieses Programm liefert erst das ergebnis einer Subraktion und danach die Hauptspeichergröße. Geht das jetzt so auch in C++ .NET oder nur in früheren Visual C++ Versionen, wie Visual C++ 6.0?
Code-Hacker
PS: Sorry für den etwas verrutschten Code...
-
1. Dieser Code ist hier im falschen Forum.
2. Er funzt so gar net, vielleicht liest Du dir mal in der MSDN durch, wie man Assembler in VC++ einbindet, sind nur 3 oder 4 Zeilen.
3. Solltest Du unter Win32 arbeiten, vergiss den Code gleich ganz.
-
Tut mir leid. Das mit dem falschen Forum habe ich zu spät bemerkt.
Das war ein beispiel für eine Konsolenanwendung. Ich habe leider nur dieses Beispiel und das ist auch für C, tut mir auch leid das ich das nicht dazugeschrieben habe.
Kannst du mir vielleicht den Link zur Library schicken wo das steht, wie man Assemblercode in VC++ (.NET) benutzt? Ich finde das nicht. Kann ich auch Interrupts benutzen? Oder nur die ganz normalen Befehle wie bspw. Mov, sub, add, mul, div, xchg, cmp, jmp....
Ansonsten formuliere ich meine Frage nochmal neu:
Kann man Assembler auch in C++ .NET oder nur in vorigen Versionen benutzen? Ich muss das mit dem .NET wissen, ansonsten würde ich mir ne andere Version holen.Code-Hacker