English
★HARDWARE Manual
★SCUユーザーズマニュアル
▲戻る|
進む▼
SCUユーザーズマニュアル/第4章 DSP制御
■4.2 命令一覧
下記に、SCU-DSPで使用される命令の一覧を示します。
◆演算命令
-
- NOP
- 何もしません。
- AND
- [ACL]と[PL]との論理積をとります。
- OR
- [ACL]と[PL]との論理和をとります。
- XOR
- [ACL]と[PL]との排他的論理和をとります。
- ADD
- [ACL]と[PL]を加算します。
- SUB
- [ACL]から[PL]を減算します。
- AD2
- [ACH][ACL]と[PH][PL]を加算します。
- SR
- [ACL]を1ビット右シフトし、LSBをキャリーフラグに格納します。
- RR
- [ACL]を1ビット右ローテートし、LSBをキャリーフラグに格納します。
- SL
- [ACL]を1ビット左シフトし、0を[ACL]のLSBに、MSBをキャリーフラグに格納します。
- RL
- [ACL]を1ビット左ローテートし、MSBをキャリーフラグに格納します。
- RL8
- [ACL]を8ビット左ローテーし、b24をキャリーフラグに格納します。
-
- NOP
- 何もしません。
- MOV [s],X
- データRAMから[RX]へデータを転送します。
- MOV MUL,P
- [MULTIPLIER]のデータを[PH][PL]に転送します。
- MOV [s],P
- データRAMから[PL]へデータを転送します。
-
- NOP
- 何もしません。
- MOV [s],Y
- データRAMから[RY]へデータを転送します。
- CLR A
- [ACH]と[ACL]を0クリアします。
- MOV ALU,A
- [ALU]のデータを[ACH][ACL]に転送します。
- MOV [s],A
- データRAMから[ACL]へデータを転送します。
-
- NOP
- 何もしません。
- MOV SImm,[d]
- SImm(ショートイミディエート)のデータを[d]で指定されるデータRAMあるいはレジスタに格納します。
- MOV [s],[d]
- [s]で指定されるデータRAMあるいはレジスタから[d]で指定されるデータRAMあるい はレジスタへデータを転送します。
-
- MVI Imm,[d]
- Imm(イミディエート)のデータを[d]で指定されたデータRAMあるいはレジスタに 格納します。
- MVI Imm,[d],Z
- プログラム制御ポートのZ(ゼロフラグ)が1のときに限り、Imm(イミディエート) のデータを[d]で指定されたデータRAMあるいはレジスタに格納します。
- MVI Imm,[d],NZ
- プログラム制御ポートのZ(ゼロフラグ)が0のときに限り、Imm(イミディエート) のデータを[d]で指定されたデータRAMあるいはレジスタに格納します。
- MVI Imm,[d],S
- プログラム制御ポートのS(サインフラグ)が1のときに限り、Imm(イミディエート)の データを[d]で指定されたデータRAMあるいはレジスタに格納します。
- MVI Imm,[d],NS
- プログラム制御ポートのS(サインフラグ)が0のときに限り、Imm(イミディエート)の データを[d]で指定されたデータRAMあるいはレジスタに格納します。
- MVI Imm,[d],C
- プログラム制御ポートのC(キャリーフラグ)が1のときに限り、Imm(イミディエート) のデータを[d]で指定されたデータRAMあるいはレジスタに格納します。
- MVI Imm,[d],NC
- プログラム制御ポートのC(キャリーフラグ)が0のときに限り、Imm(イミディエート) のデータを[d]で指定されたデータRAMあるいはレジスタに格納します。
- MVI Imm,[d],TO
- プログラム制御ポートのTO(D0バスDMA実行中フラグ)が1のときに限り、Imm(イミディ エート)のデータを[d]で指定されたデータRAMあるいはレジスタに格納します。
- MVI Imm,[d],NTO
- プログラム制御ポートのTO(D0バスDMA実行中フラグ)が0のときに限り、Imm(イミディ エート)のデータを[d]で指定されたデータRAMあるいはレジスタに格納します。
- MVI Imm,[d],ZS
- プログラム制御ポートのZ(ゼロフラグ)またはS(サインフラグ)のいずれかが1のとき に限り、Imm(イミディエート)のデータを[d]で指定されたデータRAMあるいはレジスタに 格納します。
- MVI Imm,[d],NZS
- プログラム制御ポートのZ(ゼロフラグ)とS(サインフラグ)がともに0のときに限り、 Imm(イミディエート)のデータを[d]で指定されたデータRAMあるいはレジスタに格納し ます。
-
- DMA D0,[RAM],SImm
- SImm(ショートイミディエート)のデータを転送カウンタとして転送ワード数カウンタ([TN0])にセットし、D0バスを使用して外部から、[RAM]で指定されたRAMエリアにデー タを転送します。
転送開始アドレス([RA0])と転送ワード数カウンタ([TN0])は、転送終了したときの値に更新されます。
- DMA [RAM],D0,SImm
- SImm(ショートイミディエート)のデータを転送カウンタとして転送ワード数カウンタ([TN0])にセットし、D0バスを使用して[RAM]で指定されたRAMエリアから、外部にデータを転送します。
転送開始アドレス([WA0])と転送ワード数カウンタ([TN0])は、転送終了したときの値に更新されます。
- DMA D0,[RAM],[s]
- [s]で指定されたデータRAM内のデータを転送カウンタとして転送ワード数カウンタ([TN0])にセットし、D0バスを使用して外部から、[RAM]で指定されたRAMエリアにデータを転送します。
転送開始アドレス([RA0])と転送ワード数カウンタ([TN0])は、転送終了したときの値に更新されます。
- DMA [RAM],D0,[s]
- [s]で指定されたデータRAM内のデータを転送カウンタとして転送ワード数カウンタ([TN0])にセットし、D0バスを使用して[RAM]で指定されたRAMエリアから、外部にデータを転送します。
転送開始アドレス([WA0])と転送ワード数カウンタ([TN0])は、転送終了したときの値に更新されます。
- DMAH D0,[RAM],SImm
- SImm(ショートイミディエート)のデータを転送カウンタとして転送ワード数カウンタ([TN0])にセットし、D0バスを使用して外部から、[RAM]で指定されたRAMエリアにデータを転送します。
転送開始アドレス([RA0])と転送ワード数カウンタ([TN0])は、転送を開始したときの値を保持します。
- DMAH [RAM],D0,SImm
- SImm(ショートイミディエート)のデータを転送カウンタとして転送ワード数カウンタ([TN0])にセットし、D0バスを使用して[RAM]で指定されたRAMエリアから、外部にデータを転送します。
転送開始アドレス([WA0])と転送ワード数カウンタ([TN0])は、転送を開始したときの値を保持します。
- DMAH D0,[RAM],[s]
- [s]で指定されたデータRAM内のデータを転送カウンタとして転送ワード数カウンタ([TN0])にセットし、D0バスを使用して外部から、[RAM]で指定されたRAMエリアにデータを転送します。
転送開始アドレス([RA0])と転送ワード数カウンタ([TN0])は、転送を開始したときの値を保持します。
- DMAH [RAM],D0,[s]
- [s]で指定されたデータRAM内のデータを転送カウンタとして転送ワード数カウンタ([TN0])にセットし、D0バスを使用して[RAM]で指定されたRAMエリアから、外部にデータを転送します。
転送開始アドレス([WA0])と転送ワード数カウンタ([TN0])は、転送を開始したときの値を保持します。
-
- JMP Imm
- Imm(イミディエート)で示された番地へ移動します。
- JMP Z,Imm
- プログラム制御ポートのZ(ゼロフラグ)が1のとき、Imm(イミディエート)で示された番地へ移動します。
- JMP NZ,Imm
- プログラム制御ポートのZ(ゼロフラグ)が0のとき、Imm(イミディエート)で示された番地へ移動します。
- JMP S,Imm
- プログラム制御ポートのS(サインフラグ)が1のとき、Imm(イミディエート)で示された番地へ移動します。
- JMP NS,Imm
- プログラム制御ポートのS(サインフラグ)が0のとき、Imm(イミディエート)で示された番地へ移動します。
- JMP C,Imm
- プログラム制御ポートのC(キャリーフラグ)が1のとき、Imm(イミディエート)で示された番地へ移動します。
- JMP NC,Imm
- プログラム制御ポートのC(キャリーフラグ)が0のとき、Imm(イミディエート)で示された番地へ移動します。
- JMP TO,Imm
- プログラム制御ポートのTO(D0バスDMA実行中フラグ)が1のとき、Imm(イミディエート)で示された番地へ移動します。
- JMP NTO,Imm
- プログラム制御ポートのTO(D0バスDMA実行中フラグ)が0のとき、Imm(イミディエート)で示された番地へ移動します。
- JMP ZS,Imm
- プログラム制御ポートのZ(ゼロフラグ)またはS(サインフラグ)のいずれかが1のとき、Imm(イミディエート)で示された番地へ移動します。
- JMP NZS,Imm
- プログラム制御ポートのZ(ゼロフラグ)とS(サインフラグ)がともに0のとき、Imm(イミディエート)で示された番地へ移動します。
-
- BTM
- ループカウンタ([LOP])が0以外のとき、トップアドレスレジスタ([TOP])をプログラムカウンタに格納し、ループカウンタ([LOP])をデクリメントします。0のときは何もしません。
- LPS
- ループカウンタ([LOP])が0以外のとき、プログラムカウンタを止めて、次命令を実行しループカウンタ([LOP])をデクリメントし、ループカウンタが0になるまで繰り返します。
-
- END
- プログラムを止めて、プログラム制御ポートのEX(プログラム実行制御フラグ)をリセットします。
- ENDI
- プログラムを止めて、プログラム制御ポートのEX(プログラム実行制御フラグ)をリセットし、E(プログラム終了割り込みフラグ)をセットします。
●DSPプログラムの記述
- 定数またはアセンブラの記述については、付録の
「SCU DSPアランブラ使用説明書」を参照してください。
▲戻る|
進む▼
★HARDWARE Manual
★SCUユーザーズマニュアル
Copyright SEGA ENTERPRISES, LTD., 1997