#include <iris/cp.h>s64 CP_GetDivResult64( void )s32 CP_GetDivResult32( void )s16 CP_GetDivResult16( void )s8 CP_GetDivResult8( void )s64 CP_GetDivResultImm64( void )s32 CP_GetDivResultImm32( void )s16 CP_GetDivResultImm16( void )s8 CP_GetDivResultImm8( void )
なし。
除算で得られる結果のうち、商(quotient)を返します。
除算の結果のうち、商を返します。
結果は8ビット、16ビット、32ビット、64ビットの何れかで取得できます。
出ている結果以下のビット数で取得することも出来ますが、正確な値にはならないかもしれません。(例えば、商が0x100
になっているときに、s8 の値で取得すると 0x0 となる)
ビジー状態からレディ状態になるのを待つ関数と、レディ状態になっているものとして待たない関数がそれぞれ用意されています。
| 関数 | 返り値の型 | レディ状態になるのを待つかどうか |
CP_GetDivResult64 |
s64 | 待つ |
CP_GetDivResult32 |
s32 | 待つ |
CP_GetDivResult16 |
s16 | 待つ |
CP_GetDivResult8 |
s8 | 待つ |
CP_GetDivResultImm64 |
s64 | 待たない |
CP_GetDivResultImm32 |
s32 | 待たない |
CP_GetDivResultImm16 |
s16 | 待たない |
CP_GetDivResultImm8 |
s8 | 待たない |
IOレジスタの、DIV_RESULT(0x40002a0) の値を参照します。
また、レディ状態のチェックにはDIVCNT(0x4000280)を参照します。
CP_SetDivImm*, CP_SetDiv*, CP_IsDivBusy, CP_WaitDiv, CP_GetDivRemainder*
2004/01/09 内容を書いた
2003/12/01 初版