MMX 命令

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 命令一覧

[目次]