2016-12-04 94 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