アセンブラー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 にコピーする。