2013-10-16 70 views
0

我真的迷失在這裏,因爲無論我如何嘗試這段代碼,我都得到了無效的操作碼和操作數錯誤組合。我已經在.bss中聲明瞭一個緩衝區,但是我無法將某個值從寄存器移動到該位置,我找不到原因。從寄存器到緩衝區的NASM MOV

numArgs:  resb 4 
    mov dword numArgs, [esp+4] 

顯然我只是試圖檢索命令行參數的數量。如果有更簡單的方法可以做到這一點,我就會全神貫注,但我特別關心爲什麼我無法將值存入內存緩衝區。

回答

2

你不能像這樣將內存移動到內存中。你必須做

mov eax,[esp+4] 
mov [numArgs],eax 

或者:

push dword [esp+4] 
pop dword [numArgs] 
相關問題