<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