# CP_IsDivBusy

## 構文

  `#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 初版