在另一个程序集文件中包含程序集文件

今天春*_*天春天 1 assembly gcc include

我有两个文件main.s和test.s,其中test.s看起来像这样:

test:
   add a1,a2,a2
Run Code Online (Sandbox Code Playgroud)

...和main.s看起来像这样:

main:
   call test
Run Code Online (Sandbox Code Playgroud)

(很多毫无意义的例子)。如何在main中包含测试?我正在像这样使用gcc:

gcc -o main main.c

但是我不知道如何在其中使用测试...有什么帮助吗?

Dav*_*zer 5

您可以像在GCC中进行其他操作一样包含文件:

 #include"test.S"
Run Code Online (Sandbox Code Playgroud)

如果您使用NASM,您将使用:

 %include "test.s"
Run Code Online (Sandbox Code Playgroud)

  • 据我所知,GCC对文件扩展名“ .s”(小写)和“ .S”(大写)进行了不同的处理:大写允许预处理器指令(例如#include或#ifdef),小写不允许。在Windows下,这只是GCC命令行中的区别,因为文件名本身不区分大小写。在Linux下,必须以正确的方式(重新)命名文件。 (4认同)