0
我有两个值的函数(int * a , int * b)
所以a转到RDI和b转到RSI。 我的b
是一个数组,其中一个任务是改变b[1]
的值。Nasm在数组中的更改值
所以在我的ASM文件我尝试这样做,因为任何简单的数组
mov [rsi+1*4] ,5
一个在这里我得到了“未指定的操作规模”的错误
我有两个值的函数(int * a , int * b)
所以a转到RDI和b转到RSI。 我的b
是一个数组,其中一个任务是改变b[1]
的值。Nasm在数组中的更改值
所以在我的ASM文件我尝试这样做,因为任何简单的数组
mov [rsi+1*4] ,5
一个在这里我得到了“未指定的操作规模”的错误
因为NASM没有你得到这个错误知道哪个尺寸在您尝试写入的内存中有位置5
。您似乎尝试使用C int
类型的值。在您的mov
声明中指定操作数大小。
例如,如果你的平台int
C类为4字节大小,你应该写mov dword [rsi+1*4] ,5
如何NASM应该知道'5'是一个字节,一个字,双字或四字?这是它正在寻找的'大小'。 –