導入
最もよく使う命令が mov です。「move」という名前ですが、実際にはコピーです(コピー元は消えません)。
説明
mov 書き込み先, 読み込み元 の形です(Intel 記法)。
mov eax, 10 ; eax = 10(即値をレジスタへ)
mov ebx, eax ; ebx = eax の値(レジスタ間コピー)
mov ecx, ebx ; ecx = ebx の値
- 即値(
10のような定数)、レジスタ、メモリ の間で値を移せます。 - ただし「メモリ→メモリ」の直接
movはできません。いったんレジスタを経由します。 - Intel 記法は必ず「左が行き先、右が元」。AT&T 記法(
mov $10, %eax)とは順序が逆なので、資料を読むときは記法に注意します。
やってみよう(考えてみよう)
eax に 5、ebx に eax をコピーしたあと、eax を 99 に変えたら、ebx はいくつ? ―― mov はコピーなので、ebx は 5 のままです。