从C调用Intel 8086汇编程序

时间:2013-01-11 12:37:38

标签: c assembly intel x86-16

我需要为汇编语言开发一个过程并从C语言调用该过程(传递一个字符串并返回一个整数值)。我的装配程序很好“独立”。我需要帮助将它们连接在一起。

程序应该在Intel 8086上运行。我需要使用MASM或emu8086作为汇编程序/模拟器。请推荐使用C编译器,以及制作能够调用汇编过程并获取返回值的简单C程序的方法。

如何将字符串传递给此外部函数?
如何连接ASM文件和C文件? (编译器如何知道此过程的定义/代码在哪里?)
如何从汇编语言中获取从C发送的字符串,以及如何将整数返回到C?

1 个答案:

答案 0 :(得分:2)

  

推荐使用C编译器

信息不足,但是如果您的平台足够重要,那么GCC可能已经支持它了。

  

还有一种方法可以使简单的C程序能够调用汇编过程并获得返回的值。

编写简单C程序的方法是使用文本编辑器。 (哦等等,你对代码感兴趣吗?在这里:

#include <stdio.h>

extern int foo();

int main()
{
    int i = foo();
    printf("%d\n", i);
    return 0;
}