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