

#include <nitro/cp.h>s32 CP_IsDivBusy( void )なし。
除算器がビジーかどうかを返します。0 ならばレディ状態、非0 ならばビジー状態です。
除算器がビジーかどうかを取得します。
除算レジスタへの書き込み後、一定サイクルの間ビジー状態になります。
除算の結果を取得する場合、ビジーが落ちた状態で読み出さなければなりません。
計算サイクルは以下のようになります。(計算サイクルは33.514MHzを基準としたサイクル数です。CPUサイクル換算は67.028MHzを基準としたサイクル数です。)
| 除算モード | 計算 | 計算サイクル | CPUサイクル換算 |
|---|---|---|---|
| CP_DIV_32_32BIT_MODE | 32ビット 割る 32ビット | 18サイクル | 36サイクル |
| CP_DIV_64_32BIT_MODE | 64ビット 割る 32ビット | 34サイクル | 68サイクル |
| CP_DIV_64_64BIT_MODE | 64ビット 割る 64ビット | 34サイクル | 68サイクル |
IOレジスタの、DIVCNT(0x4000280)を参照します。
CP_SetDivImm*, CP_SetDiv*, CP_WaitDiv, CP_GetDivResult*, CP_GetDivRemainder*
2004/11/02 構文の関数型を u32→s32
2004/06/16 サイクル数の記述追加
2004/01/09 内容を追加
2003/12/01 初版