CP_GetDivRemainder*

構文

#include <iris/cp.h>

s64 CP_GetDivRemainder64( void )
s32 CP_GetDivRemainder32( void )
s16 CP_GetDivRemainder16( void )
s8 CP_GetDivRemainder8( void )
s64 CP_GetDivRemainderImm64( void )
s32 CP_GetDivRemainderImm32( void )
s16 CP_GetDivRemainderImm16( void )
s8 CP_GetDivRemainderImm8( void )

引数

なし。

返り値

除算で得られる結果のうち、余り(Remainder)を返します。

説明

除算の結果のうち、余りを返します。
結果は8ビット、16ビット、32ビット、64ビット値の何れかで取得できます。
出ている結果以下のビット数で取得することも出来ますが、正確な値にならないかもしれません。(例えば、余りが0x100 になっているときに、s8 の値で取得すると 0x0 となる)

ビジー状態からレディ状態になるのを待つ関数と、レディ状態になっているものとして待たない関数がそれぞれ用意されています。

関数 返り値の型 レディ状態になるのを待つかどうか
CP_GetDivRemainder64 s64 待つ
CP_GetDivRemainder32 s32 待つ
CP_GetDivRemainder16 s16 待つ
CP_GetDivRemainder8 s8 待つ
CP_GetDivRemainderImm64 s64 待たない
CP_GetDivRemainderImm32 s32 待たない
CP_GetDivRemainderImm16 s16 待たない
CP_GetDivRemainderImm8 s8 待たない

内部動作

IOレジスタの、DIVREM_RESULT(0x40002a8) の値を参照します。
また、レディ状態のチェックにはDIVCNT(0x4000280)を参照します。

参照

CP_SetDivImm*, CP_SetDiv*, CP_IsDivBusy, CP_WaitDiv, CP_GetDivResult*

履歴

2004/01/09 内容を書いた
2003/12/01 初版