Microsoft DirectX 8.0 (Visual Basic)

mad

ソースを乗算および加算する。

mad   vDest, vSrc0, vSrc1, vSrc2

レジスタ

vDest
処理の結果を保持するデスティネーション レジスタ。
vSrc0
入力引数を指定するソース レジスタ。
vSrc1
入力引数を指定するソース レジスタ。
vSrc2
入力引数を指定するソース レジスタ。

処理

次のコードは、mad 命令によって実行される処理とデスティネーションへの結果の書き込みを示している。

    SetDestReg();
    SetSrcReg(0);
    SetSrcReg(1);
    SetSrcReg(2);

    m_TmpReg.x = m_Source[0].x * m_Source[1].x + m_Source[2].x;
    m_TmpReg.y = m_Source[0].y * m_Source[1].y + m_Source[2].y;
    m_TmpReg.z = m_Source[0].z * m_Source[1].z + m_Source[2].z;
    m_TmpReg.w = m_Source[0].w * m_Source[1].w + m_Source[2].w;

    WriteResult();

注意

次の例は、mad 命令の使い方を示している。

mad r0,r1,r2,v3