我想assermbly學會(如此忍受我),我在這條線得到一個編譯錯誤:大會:兩個存儲器之間移動解決
mov byte [t_last], [t_cur]
的錯誤是
error: invalid combination of opcode and operands
我懷疑這個錯誤的原因很簡單,就是它不可能讓mov指令在兩個內存地址之間移動,但是半小時的谷歌搜索,我還沒有能夠證實這一點 - 是這種情況嗎?
此外,假設我右這意味着我需要使用的寄存器作爲中間點用於複製存儲器:
mov cl, [t_cur]
mov [t_last], cl
請告訴我推薦寄存器使用(或應該使用堆棧,而不是)?
有時更好轉到*源*而不是谷歌搜索,例如這裏是英特爾64&IA-32指令AM,在這裏你可以看到'mov'的操作數組合,http://www.intel.com/Assets/PDF/manual/253666.pdf – 2009-08-19 11:11:00
規則的例外是指令不能帶兩個內存操作數;見[這裏](http://stackoverflow.com/questions/14510280/why-cant-mov-have-both-operands-as-memory-locations?lq=1#comment20229305_14510280)。 – legends2k 2015-06-13 11:05:17