アセンブラーmov命令について
Microsoft Macro Assembler (MASM) アセンブラーについて、レジスタとメモリ間でデータを移動する際にmov命令が使われてます。mov命令についてどんなものか解説していきます。
MOV命令はレジスタからメモリーに、メモリーからレジスタに、ある数字をレジスタもしくは メモリーにコピーする事を言います。2つの引数を指定して、1 つ目はコピー元のアドレスで、2 つ目は移動先のアドレスを指定します。MOV命令は4バイトずつコピーをします。
mov tmp,[var] ; var に含まれるアドレスのメモリ内の 4 バイトを tmp にコピーする。
mov tmp, [var-4] ; メモリ アドレス var + (-4) の 4 バイトを tmp にコピーする。
mov [tmp+var], cl ; CL の内容をアドレス tmp+var のバイトにコピーする。
mov cl, [tmp+var] ; ( tmp + var )のアドレスから 4 バイトのデータを CL にコピーする。