编写.Net平台的汇编代码

时间:2011-06-10 13:51:12

标签: c# assembly

我是一位经验丰富的C#开发人员,为了好玩,他想要编写一些汇编代码。我想知道是否最简单的只是用字节代码编写并以某种方式使用C#编译器,链接器。我对如何解决这个问题有些不确定。

或者也许有一个像样的汇编语言那里有一个步调试器和其他好东西在我应该拿起的环境中发送?

我主要想编写代码来进行计算并输出到控制台窗口。

5 个答案:

答案 0 :(得分:6)

您可以编写IL代码并使用ILASM

进行编译

答案 1 :(得分:3)

您可以使用.net环境的汇编语言,称为CIL

http://en.wikipedia.org/wiki/Common_Intermediate_Language

答案 2 :(得分:3)

您可以在MSIL中编写它并通过MSIL汇编程序( ilasm.exe )进行汇编。

至于调试器,我之前使用DILE(DotNet IL编辑器)来逐步执行IL代码,虽然有点过时了。

似乎DILE仍在更新中,请查看weekly builds

答案 3 :(得分:2)

您无法使用C#编译器编写汇编代码。但是,您可以使用Visual Studio“CLR”项目,它将使用内联汇编块编译本机C / C ++,您可以编写托管包装器,以便可以通过C#调用。有关详细信息,请参阅CLI/C++ Tutorials

您还可以查看可用于编写本机x86汇编库的masm32,然后使用p / invoke通过C#执行它们。

玩得开心!

答案 4 :(得分:0)

这可能对其他人有帮助

对于编辑MSIL,我们可以通过ILDASM实用程序将汇编文件转储到IL文件,并通过ILASM实用程序将其重新编译为汇编文件,

这两个实用程序包含在.NET SDK中。

  • C:\ Program Files \ Microsoft Visual Studio 8 \ VC> ildasm。
  • 打开您的程序集,例如my.dll
  • 打开文件后,选择文件 - >转储。确保选中所有复选框,然后单击“确定”。 系统将提示您将其另存为IL文件。我建议创建一个新目录以保存为my.IL
  • 使用您最喜欢的编辑工具打开my.IL(我使用Visual Studio .NET 2005/2003)。
  • 编辑my.IL然后保存。
  • C:\ Program Files \ Microsoft Visual Studio 8 \ VC> ilasm / DLL X:\ Folder \ my.IL