X86アセンブラ/MASMでの文法

このページでは、MASMの構文を使ったx86プログラミングについて説明する。 また、同時にどのようにMASMのマクロ機能を使うかに触れる。 NASMやFASMといった他のアセンブラーは、MASMとは違う構文を使用する。似ているのは、オペランドの順序と命令サフィックスだけである。

命令の順序編集

MASMの命令は典型的にはGASの命令と逆のオペランドになっている。 例えば、命令は典型的には命令 書き込み先 読み込み元と書かれる。

mov命令は、次のように書かれる。

mov al, 05h

これは、値5をalレジスターへコピーする。

命令サフィックス編集

MASMはサイズ(byte、word、dwordなど)を区別するために命令サフィックスを使わない。

マクロ編集

MASMとは「Macro Assembler」であり、「Microsoft Assembler」である。これは話す人によって異なる。 しかし、どちらであったとしても、事実として、MASMはパワフルなマクロエンジンを持っており、多くの内蔵マクロがすぐに使用可能な状態にある。

MASM疑似命令編集

MASMは多数の多数の疑似命令を持っており、それにより設定や振る舞いを制御できる。 MASMはNASMやFASMに比較してより多くの疑似命令を持っている。