LASM 2.14 から、Intel MMX プロセッサに固有の命令に対応しました。MMX 命令を使用するには、ソースファイルに .MMX ディレクティブを記述する必要があります。
MMX 命令では、64 ビット (8 バイト) の整数データをまとめて演算できます。8 バイトのデータを一回で処理できるほか、8 個の 1 バイト データ、4 個の 2 バイト データ、または 2 個の 4 バイト データをまとめて処理できます。
ただし、プログラムで MMX 命令を使用すると、そのプログラムは MMX 命令に対応していないプロセッサでは実行できなくなります。CPUID 命令を使用すれば、現在のプロセッサが MMX 命令をサポートしているかどうかを実行時に判定できます。
MMX 命令の詳細については、ほかのドキュメントを参照してください。たとえば、インテル社が Web で配布している次のマニュアルでは、MMX 命令が詳しく紹介されています。
『インテル・アーキテクチャ・ソフトウェア・ディベロッパーズ・マニュアル』
上巻:基本アーキテクチャ
中巻:命令セット・リファレンス
1999 年 6 月現在、このマニュアルは次の URL に置かれています。
http://www.intel.co.jp/jp/developer/design/intarch/manuals/index.htm
MMX には、MM0 ~ MM7 という 8 本の 8 バイト レジスタがあり、常に 8 バイト単位で処理が行われます。各 8 バイト値は、1 つの 8 バイト データ、2 個の 4 バイト データ、4 個の 2 バイト データ、または 8 個の 1 バイト データとして使用されます。
例 MOVD MMX2, EAX MOVQ MMX2, [SI] MOVQ [DI], MMX2 PADDB MM0, MM1 PADDW MM0, MM1 PADDQ MM0, [BP-2]
参照 MMX 命令一覧