演算とストア

命令形式

<alu_op>,   DM(<ireg>+=<mreg>) = <dreg>;
<mac_op>,   DM(<ireg>+=<mreg>) = <dreg>;
<shift_op>, DM(<ireg>+=<mreg>) = <dreg>;

<alu_op>,   PM(<ireg>+=<mreg>) = <dreg>;
<mac_op>,   PM(<ireg>+=<mreg>) = <dreg>;
<shift_op>, PM(<ireg>+=<mreg>) = <dreg>;

AR = AX0 + AY0, DM( I0+=M1 ) = AX0;
MR = MR + MX0 * MY1(SS), PM( I2+=M1 ) = MX0;

説明

演算を実行しながらDMバスあるいはPMバスを使ってオペランドを同時にストアします。

演算はALU演算、MAC演算、シフター演算命令のうち、基本形式のものに限ります。条件実行はできません。

ソース・レジスタはDREGです。アドレッシングはポスト・モディファイなので循環バッファ・アクセスが可能です。

循環バッファに関しては循環バッファ・アクセスを参照してください。DAG1、DAG2に関する詳細とデュアル・アクセス時の衝突に関してはDAGを参照してください。また、DM/PMバスによる16/24ビット転送に関しては後更新DM転送後更新PM転送を参照してください。

文法要素

<alu_op>::= ALU演算命令のうち、基本形式のもの
<mac_op>::= MAC演算命令のうち、基本形式のもの
<shift_op>::= シフター演算命令のうち、基本形式のもの
<dreg> ::= AX0, AX1, AY0, AY1, MX0, MX1, MY0, MY1, 
           SI, AR, MR2, MR1, MR0, SR2, SR1, SR0
<ireg>  ::= I0, I1, I2, I3, I4, I5, I6, I7
<mreg>  ::= M0, M1, M2, M3, M4, M5, M6, M7
2191空挺団 | プログラム | EZ-KIT | こぼれ話 | アーキテクチャー | 命令 | レジスタ | DSP掲示板 | FAQ |