2013-05-16 19 views
0

我最近一直在研究帶有nasm的80x86彙編語言。但是,我一直在努力的那些代碼之一彈出一個錯誤!不幸的是,我不明白爲什麼......你能幫我一把嗎?相同的含義和不同的輸出

。數據和.bss

segment .data 
minho dd 100 
ilseob dd 200 

segment .bss 
extern _hello 
extern _hello2 

沒有錯誤第一的.text。

mov eax, [minho] 
mov [_hello], eax 
mov eax, [ilseob] 
mov [_hello2], eax 

第二的.text一個錯誤。

mov dword[_hello], [minho] 
mov dword[_hello2], [ilseob] 

invalid combination of opcode and operands 

因爲我對彙編語言的新手,可能是一個錯誤或錯誤理解......

+0

作爲一般規則,兩個內存操作數是不允許的。這是第一種方式。 –

回答

2

mem,mem不是操作數爲MOV的有效組合。也就是說,沒有任何MOV的變種將數據直接從內存移動到內存。當你不確定你可以使用哪些操作數時,請諮詢the instruction set reference

+0

謝謝!它真的幫助了我。 – isbae93

+0

@ bis0317接受答案,如果它解決了你的問題... – Aaron

+0

@ JesusPlusPlus11哦...對不起!我剛剛檢查過它。再次感謝你! – isbae93

相關問題