我是asm的新手(masm 64bit)。 在我的程序中,我需要一个64位常数数组(30个常数),以便我能够通过偏离第一个常量来获得它们。 最好的方法是什么? 堆栈,直接通过mov移动(我不会说我可以将内容移动到没有寄存器的内存中)或者其他吗? 提前谢谢
答案 0 :(得分:0)
由于'mov',我怀疑你在谈论x86汇编程序,你应该指定它!
如果它们确实是常数(即它们没有变化,在编译时已知),则存在 没有理由将它们存储在内存中。你可以将它们声明为'equ',然后只使用它们 你的代码。
如果必须在运行时对它们进行索引,可以使用BasePointer或Source Index指向基数 该表,然后使用偏移量来检索值。在一条指令中,您可以指定常量偏移量, 或使用另一个寄存器添加到基地。
看看这个页面:
http://www.supernovah.com/Tutorials/Assembly3.php
它有很多例子。