1

我在尝试编译我的 nasm 程序时发生了一些事情,我想包含一个具有 10^6 值的查找表

table: dd 0x000000, ..................... 0x999999

然后我将它包含在我的 ASM 程序中

%include "file.inc"

error: file.inc:1: error: interminable macro recursion
4

1 回答 1

3

天啊!我还不确定,但我认为您可能已经在 Nasm 中发现了“限制”。也许是一个“错误”。我不太明白为什么 Nasm 首先认为这是一个“宏”!

你能告诉我你是如何创造这个的table吗?我假设您没有手动输入所有这些数字 - 当然(?)不是全部在一行上,如图所示(?)。我尝试使用 Nasm 的%rep工具创建这样的表,但 Nasm 对我大喊大叫。我不是一个成熟的宏用户,并且需要刷新我的记忆如何做到这一点(不是你的问题,我会弄清楚 - 更多咖啡!)。做不到这一点,我想我可以写一个小“实用程序”来吐出这样一张桌子。如果你愿意的话,请帮我弄清楚我的目标是什么...

在 preproc.c 中的第 334 行或附近,您将看到:

#define DEADMAN_LIMIT (1 << 20)

如果您喜欢冒险,您可以尝试增加该值并重建 Nasm(make install或者我喜欢make install_everything-.\configure如果您还没有,请先做)。你不应该这样做!如果这是问题所在,并且被判断为“错误”,我们会解决它,但可能需要一段时间......

这可能需要比这里适当的讨论更多。试试http://www.nasm.us上的 Nasm 论坛,或者您可以通过 fbkotler(pig's tail)myfairpoint(decimal point)net 与我联系(我不知道为什么要打扰 - 垃圾邮件发送者已经找到了我)。

抱歉,您遇到了这个问题。感谢您的反馈!

编辑:更新:好吧,我设法创建了一个表。真的拖了好久!!!但是我没有遇到这个错误。你能提供更多关于你究竟做了什么来得到这个错误的信息吗?(在这里,或在 Nasm 论坛上,或通过私人邮件......)

于 2013-06-23T15:02:38.337 回答