|
|
|
di
|
割り込み制御
|
void __DI(void);
|
ei
|
void __EI(void);
|
-
|
割り込みレベルの制御注1
|
void __set_il_rh(long NUM, void* ADDR注2);
movhi highw1(ADDR), r0, rX
ld.b loww(ADDR)[rX], rY
andi 0x00F0, rY, rY
ori (優先順位 - 1), rY, rY
st.b loww(ADDR)[rX]
movhi highw1(ADDR), r0, rX
clr1 7, loww(ADDR)[rX]
movhi highw1(ADDR), r0, rX
set1 7, loww(ADDR)[rX]
movhi highw1(ADDR), r0, rX
clr1 6, loww(ADDR)[rX]
movhi highw1(ADDR), r0, rX
set1 6, loww(ADDR)[rX]
範囲外エラー
|
nop
|
ノー・オペレーション
|
void __nop(void);
|
halt
|
プロセッサの停止
|
void __halt(void);
|
satadd
|
飽和加算
|
long __satadd(long a, long b);
|
satsub
|
飽和減算
|
long __satsub(long a, long b);
|
bsh
|
ハーフワード・データのバイト・スワップ
|
long __bsh(long a);
|
bsw
|
ワード・データのバイト・スワップ
|
long __bsw(long a);
|
hsw
|
ワード・データのハーフワード・スワップ
|
long __hsw(long a);
|
mul
|
符号つき64ビット乗算結果の上位32ビットを変数に代入する命令
|
long __mul32(long a, long b);
|
mulu
|
符号なし64ビット乗算結果の上位32ビットを変数に代入する命令
|
unsigned long __mul32u(unsigned long a, unsigned long b);
|
sch0l
|
MSB側からのビット(0)検索
|
long __sch0l(long a);
|
sch0r
|
LSB側からのビット(0)検索
|
long __sch0r(long a);
|
sch1l
|
MSB側からのビット(1)検索
|
long __sch1l(long a);
|
sch1r
|
LSB側からのビット(1)検索
|
long __sch1r(long a);
|
ldsr
|
システム・レジスタへのロード
|
void __ldsr(long regID注3, unsigned long a);
|
ldsr
|
システム・レジスタへのロード
|
void __ldsr_rh(long regID注3, long selID注3, unsigned long a);
|
stsr
|
システム・レジスタの内容のストア
|
unsigned long __stsr(long regID注3);
|
stsr
|
システム・レジスタの内容のストア
|
unsigned long __stsr_rh(long regID注3, long selID注3);
|
caxi
|
比較と交換
|
long __caxi(long *a, long b, long c);
|
clr1
|
ビット・クリア
|
void __clr1(unsigned char *a, long bit);
|
set1
|
ビット・セット
|
void __set1(unsigned char *a, long bit);
|
not1
|
ビット・ノット
|
void __not1(unsigned char *a, long bit);
|
ldl.w注4
|
アトミック・ロード
|
long __ldlw(long *a);
|
stc.w注4
|
ストア
|
void __stcw(long *a, long b);【V1.04.00以前】
long __stcw(long *a, long b);【V1.05.00以降】
|
synce
|
例外同期化
|
void __synce(void);
|
synci
|
命令パイプライン同期化
|
void __synci(void);
|
syncm
|
メモリ同期化
|
void __syncm(void);
|
syncp
|
パイプライン同期化
|
void __syncp(void);
|
dbcp
|
デバッグ・チェックポイント
|
void __dbcp(void);
|
dbpush
|
デバッグ・プッシュ
|
void __dbpush(long regID1, long regID2);
|
dbtag
|
デバッグ・タグ
|
void __dbtag(long a);
|