我在.h文件中声明了一个表(数组)。
现在我想在.asm中使用该文件,但我无法将.h包含在.asm中
帮帮我
答案 0 :(得分:0)
假设C声明如下:
char array[] = { 1, 2, 3, 4, 5 };
您可以在汇编文件中使用它,如下所示:
.globl _array
lea _array(%rip), %rbx
movb (%rbx), %al
lea
指令将array
的基址放入rbx
,然后movb
指令抓取第一个字节。您可以使用1(%rbx)
获取array[1]
,依此类推。
注意 - 我的例子来自我刚刚制作的Mac OS X测试应用程序。如果您使用的是其他系统,则可能需要做一些不同的事情。