C# 为.Net平台编写汇编代码

C# 为.Net平台编写汇编代码,c#,assembly,C#,Assembly,我是一个经验丰富的C开发人员,为了好玩,我想写一点汇编代码。我想知道是否简单地用字节码编写并以某种方式使用C编译器和链接器是最简单的。我有点不确定该怎么做 或者,也许有一种像样的汇编语言,它有一个步骤调试器和其他在我应该选择的环境中提供的好东西 我主要想编写代码来进行计算并输出到控制台窗口。您可以编写IL代码并用编译它。您可以使用.net环境的汇编语言,称为CIL 您可以用MSIL编写它,并通过MSIL汇编程序进行组装 至于调试器,我以前曾使用DotNet IL Editor单步执行IL代码,但

我是一个经验丰富的C开发人员,为了好玩,我想写一点汇编代码。我想知道是否简单地用字节码编写并以某种方式使用C编译器和链接器是最简单的。我有点不确定该怎么做

或者,也许有一种像样的汇编语言,它有一个步骤调试器和其他在我应该选择的环境中提供的好东西


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

您可以编写IL代码并用编译它。

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


您可以用MSIL编写它,并通过MSIL汇编程序进行组装

至于调试器,我以前曾使用DotNet IL Editor单步执行IL代码,但它有点过时


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

您不能使用C编译器编写汇编代码。但是,您可以使用Visual Studio CLR项目来编译本机C/C++和内联汇编块,您可以编写一个托管包装器,以便通过C调用。有关详细信息,请参阅

您还可以查看可以用来编写本机x86程序集库的代码,然后使用p/invoke通过C执行它们


玩得开心

这可能对其他人有帮助

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

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

C:\Program Files\Microsoft Visual Studio 8\VC>ildasm。 打开程序集,例如my.dll 打开文件后,选择文件->转储。确保选中所有复选框,然后单击“确定”。 系统将提示您将其另存为IL文件。我建议创建一个新目录以另存为my.IL 通过我使用的Visual Studio.NET 2005/2003中您最喜欢的编辑工具打开my.IL。 编辑my.IL,然后保存它。 C:\Program Files\Microsoft Visual Studio 8\VC>ilasm/DLL X:\Folder\my.IL
你能澄清一下你的问题吗?你说的是CLR IL还是汇编语言?我想我在写assemblycheers时指的是IL,所以我应该从你的链接编译“hello world”示例,并在生成Main内容的地方插入我自己的代码?我的程序是否有步骤执行的选项?我不知道是否有IL级的调试器。。。也许.NET Reflector Pro可以做到这一点,但我不确定,非常感谢。。我想我更喜欢ilasm,就像我曾经分解过一个C dll一样,我知道会发生什么。@Carlos不用担心,我认为我们对汇编语言的定义有点不同。干杯,我曾经写过一个java->286程序集。那纯粹是恐怖。一个人能跳多远是有限制的,所以编译方法的指令数量只能增长到一定的大小。我想避免这种糟糕的情况。我应该提到的是,它还没有完全成熟,它更像是一个非常简单的调试器,可以用来逐步调试代码。没什么特别的。@Carlo看起来项目仍然在维护,而且项目文件中每周都有构建,您可以查看这些。