0

我在 .h 文件中声明了一个表(数组)。

现在我想在 .asm 中使用该文件,但我无法将 .h 包含到 .asm 中

帮帮我

4

1 回答 1

0

假设 C 声明类似于:

char array[] = { 1, 2, 3, 4, 5 };

您可以像这样在您的程序集文件中使用它:

    .globl _array

lea  _array(%rip), %rbx
movb (%rbx), %al

lea指令将 的基地址array放入rbx,然后该movb指令将第一个字节取出。你可以使用1(%rbx)getarray[1]等等。

注意 - 我的示例来自我刚刚制作的 Mac OS X 测试应用程序。如果你在不同的系统上,你可能需要做一些不同的事情。

于 2013-02-06T06:49:59.043 回答