我在Assembly上有點生疏。我想問你們一些問題。mov指令在nasm中的含義
1)這些彙編指令是否在NASM中有效?
2)有什麼區別,我們應該什麼時候使用它們?
MOV EAX,EBX
VS
MOV EAX,[EBX]
我在Assembly上有點生疏。我想問你們一些問題。mov指令在nasm中的含義
1)這些彙編指令是否在NASM中有效?
2)有什麼區別,我們應該什麼時候使用它們?
MOV EAX,EBX
VS
MOV EAX,[EBX]
MOV EAX,EBX
在EAX移動EBX的值,同時
mov EAX, [EBX]
在EBAX中移動地址的值(因此EBX必須包含有效的地址,否則它將返回一個分段錯誤)。
你能閱讀C 2如果是這樣的話,給定的現有的定義int a, b;
,第一指令是
a = b;
而,鑑於現有定義int a, *b;
或多或少等價物,所述第二指令是
a = *b;
或多或少相當於除了EAX和EBX是寄存器而不是堆棧駐留變量。
有很多,可以說更多,但前述給你的想法。 (順便說一下,在過去的五年中,我承認我沒有使用NASM--與GNU的彙編程序相比,它們以相反的順序提供參數.NAMM將目標寄存器放在左邊,源寄存器放在右,而GNU則相反。NASM的約定也比對GNU的名爲 「Intel語法」, 「AT & T語法。」)
+1。祝賀您獲得投票權! (您的答案是好的。) – thb 2012-04-29 00:10:29
祝賀您獲得發表評論的權利!一個答案不錯。 – thb 2012-04-29 00:37:55