Assembler in C#/managed C++

Fonce

Vice Admiral Special
Mitglied seit
03.08.2005
Beiträge
620
Renomée
1
  • SIMAP Race
Hi,
ich möchte en Programm schreiben welche einige Prozessordaten auslesen soll.
Hierzu brauche ich natürlich Assembler.
Weiss einer von euch wie ich Assembler Code in C# einbinden kann?

eine direkte unterstützung von inline Assembler gibt es bei C# ja nicht soweit ich weiss.
Ich es den vieleicht irgendwie möglich .obj Dateien einzubinden?
 
Also Assembler direkt einzubinden dürfte nicht möglich sein, da der C#-Compiler nur Zwischencode erzeugt. Du kannst natürlich mit C++ oder Assembler direkt eine DLL erstellen, welche Du dann aus C# ansprechen kannst.

Sind die Abfragen ansonsten ohne Kernel-Mode-Zugriff überhaupt möglich? Wenn nicht, musst Du sowieso einen entsprechenden Windows-Treiber programmieren (oder finden), welchen Du dann aus C# per DLL-Aufruf von DeviceIOControl, etc. abfragen könntest.
 
Hi,
ich möchte en Programm schreiben welche einige Prozessordaten auslesen soll.
Hierzu brauche ich natürlich Assembler.
Weiss einer von euch wie ich Assembler Code in C# einbinden kann?

eine direkte unterstützung von inline Assembler gibt es bei C# ja nicht soweit ich weiss.
Ich es den vieleicht irgendwie möglich .obj Dateien einzubinden?
Mit C# geht das ohne separate DLL auf keinen Fall. Mit C++/CLI könnte es gehen, da man da nativen Code mit managed Code mischen kann.
 
Sind die Abfragen ansonsten ohne Kernel-Mode-Zugriff überhaupt möglich? Wenn nicht, musst Du sowieso einen entsprechenden Windows-Treiber programmieren (oder finden), welchen Du dann aus C# per DLL-Aufruf von DeviceIOControl, etc. abfragen könntest.
ja denke mal das Dies möglich sein sollte, den wenn ich mich nicht ganz irre arbeitet CPUID auch "nur" mit dem Assemblerbefehl cpuid, durch den alle CPU Informationen in den Registers EAX, EBX, ECX und EDX bereitgestellt werden(wenn ich die Doku von AMD richtig verstanden habe).

AMD Dokument "CPUID Specification" schrieb:
The CPUID instruction provides processor feature capabilities and configuration information. This information
is accessed by (1) loading the function number into EAX, (2) executing the CPUID instruction, and (3) reading
the results stored in EAX, EBX, ECX, and EDX. In the following sections, the phrase CPUID function X or
CPUID FnX refers to the CPUID instruction when EAX is preloaded with X.
 
Zurück
Oben Unten