我正在写一个汇编程序,我希望它能够完成以下(基本)工作:
x = 100;
y = int[x]
例如,y的大小取决于x的值。
注意:我在64位Ubuntu系统上使用NASM指令集。
在汇编中,我知道数组的大小需要在文件的数据部分声明,例如:
myvariable resq 1000
问题是,我不知道该把它做多大,直到我做了一个预先的计算。我真正想要的是:
mov rax, 100
myvariable resq rax
但这是不允许的,对吗?只是在汇编中的数组访问/声明上有一些混乱。
感谢您的指点!
1条答案
按热度按时间x7rlezfr1#
C语言的例子只适用于在堆栈上声明数组,或者使用malloc或类似的方法从堆中提取内存的情况。对于小值,使用堆栈是非常好的(而且更快):