2

私はこれに対する答えを見つけることができなかったようで、本当に私を悩ませ始めています. これは単純に、16 進数値が 4 ビットで構成されているためでしょうか? (それ以外の場合、2番目のオペランドが整数であると仮定します-間違っている場合は指摘してください)

mov   ebx,0x00   ; why not ebx,0?
mov   eax,0x01   ; why not ebx,1?

へのシステムコールを行うとき、上記は両方で機能するsys_exit(0)ようです。

4

1 に答える 1

3

特定のコンテキストに適したベースを使用することをお勧めします。ASM で行っていることの多くは、慣習的に 16 進数で表記されているレジスタ、メモリ アドレスなどを処理することです。組み立てにもう少し時間をかけて、10 進法のほうが「簡単」だと思うかどうかを確認してください。

于 2013-04-15T14:53:21.883 に答える