2016-12-04 93 views
0

我有两个值的函数(int * a , int * b) 所以a转到RDI和b转到RSI。 我的b是一个数组,其中一个任务是改变b[1]的值。Nasm在数组中的更改值

所以在我的ASM文件我尝试这样做,因为任何简单的数组

mov [rsi+1*4] ,5 

一个在这里我得到了“未指定的操作规模”的错误

+2

如何NASM应该知道'5'是一个字节,一个字,双字或四字?这是它正在寻找的'大小'。 –

回答

3

因为NASM没有你得到这个错误知道哪个尺寸在您尝试写入的内存中有位置5。您似乎尝试使用C int类型的值。在您的mov声明中指定操作数大小。

例如,如果你的平台int C类为4字节大小,你应该写mov dword [rsi+1*4] ,5