【问题标题】:how to integrate assembly code when i am designing a compiler in c?当我在 c 中设计编译器时如何集成汇编代码?
【发布时间】:2009-06-16 07:24:06
【问题描述】:

我正在用 c 设计一个编译器。但是对于像大整数这样的某些问题,我必须用汇编代码进行编码。那么如何在 c 中集成汇编代码呢?

我正在开发 cpp 中编写我的代码.. 我想在 windows 中使用 gcc .....!!..

请给我关于 linux 的说明

【问题讨论】:

  • 请说明您使用的平台,以便我们提供正确的汇编语法。
  • 没有标准的 ISO C 方法可以做到这一点 - 这取决于您使用的特定 C 编译器。

标签: c assembly


【解决方案1】:

使用 asm

好文章:GCC-Inline-Assembly-HOWTO

【讨论】:

    【解决方案2】:

    使用'asm'指令,例如

    asm("movl %ecx %eax"); /* moves the contents of ecx to eax */
    

    【讨论】:

      【解决方案3】:

      你不使用自己的编译器编译运行时吗?

      请注意,另一种选择是使用外部汇编程序(如 AS)。不太理想,但原理是可移植的。 (尽管汇编器语法千差万别)

      我们自己的小编译器(与 GCC 链接兼容)的大部分汇编器都使用 AS,并且在 8 年左右后才获得了自己的内部汇编器。

      附:如果你实现了一个内部汇编器,看看 NASM,它们的汇编器指令表和它们的寻址非常干净,并且经常可以转换(并用于定期更新新指令)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-05-29
        • 1970-01-01
        • 2021-09-27
        • 2021-07-25
        • 1970-01-01
        • 2017-05-08
        • 1970-01-01
        • 2021-07-25
        相关资源
        最近更新 更多