|
|
|
__DI
|
DI命令を出力します。
|
void __DI(void);
|
__EI
|
EI命令を出力します。
|
void __EI(void);
|
__halt
|
HALT命令を出力します。
|
void __halt(void);
|
__stop
|
STOP命令を出力します。
|
void __stop(void);
|
__brk
|
BRK命令を出力します。
|
void __brk(void);
|
__nop
|
NOP命令を出力します。
|
void __nop(void);
|
__rolb
|
xを8ビット幅でy回左ローテートします。
ビット幅を越えるローテート数指定時の動作は未定義です。
ローテート数がビット幅を越える可能性がある場合は,ビット幅でマスクしてください。
|
unsigned char __rolb(unsigned char x, unsigned char y);
|
__rorb
|
xを8ビット幅でy回右ローテートします。
ビット幅を越えるローテート数指定時の動作は未定義です。
ローテート数がビット幅を越える可能性がある場合は,ビット幅でマスクしてください。
|
unsigned char __rorb(unsigned char x, unsigned char y);
|
__rolw
|
xを16ビット幅でy回左ローテートします。
ビット幅を越えるローテート数指定時の動作は未定義です。
ローテート数がビット幅を越える可能性がある場合は,ビット幅でマスクしてください。
|
unsigned int __rolw(unsigned int x, unsigned char y);
|
__rorw
|
xを16ビット幅でy回右ローテートします。
ビット幅を越えるローテート数指定時の動作は未定義です。
ローテート数がビット幅を越える可能性がある場合は,ビット幅でマスクしてください。
|
unsigned int __rorw(unsigned int x, unsigned char y);
|
__mulu
|
(unsigned int)x * (unsigned int)yの符号なし乗算を行い,16ビットの演算結果を返します。
|
unsigned int __mulu(unsigned char x, unsigned char y);
|
__mului
|
(unsigned long)x * (unsigned long)yの符号なし乗算を行い,32ビットの演算結果を返します。
|
unsigned long __mului(unsigned int x, unsigned int y);
|
__mulsi
|
(signed long)x * (signed long)yの符号付き乗算を行い,32ビットの演算結果を返します。
|
signed long __mulsi(signed int x, signed int y);
|
__mulul
|
(unsigned long long)x * (unsigned long long)yの符号なし乗算を行い,64ビットの演算結果を返します。-lang=cかつ-strict_std オプション指定時は組み込み関数として定義されません。
|
unsigned long long __mulul(unsigned long x, unsigned long y);
|
__mulsl
|
(signed long long)x * (signed long long)yの符号付き乗算を行い,64ビットの演算結果を返します。-lang=cかつ-strict_std オプション指定時は組み込み関数として定義されません。
|
signed long long __mulsl(signed long x, signed long y);
|
__divui
|
xとyの符号なし除算を行い,16ビットの演算結果を返します。
除数yが0の場合は0xFFFFを返します。
|
unsigned int __divui(unsigned int x, unsigned char y);
|
__divul
|
xとyの符号なし除算を行い,32ビットの演算結果を返します。
除数yが0の場合は0xFFFFFFFFを返します。
|
unsigned long __divul(unsigned long x, unsigned int y);
|
__remui
|
xとyの符号なし剰余算を行い,8ビットの演算結果を返します。
除数yが0の場合は被除数xの下位8ビットを返します。
|
unsigned char __remui(unsigned int x, unsigned char y);
|
__remul
|
xとyの符号なし剰余算を行い,16ビットの演算結果を返します。
除数yが0の場合は被除数xの下位16ビットを返します。
|
unsigned int __remul(unsigned long x, unsigned int y);
|
__macui
|
(unsigned long) x * (unsigned long) y + z の符号なし積和演算を行い,32ビットの演算結果を返します。
|
unsigned long __macui(unsigned int x, unsigned int y, unsigned long z);
|
__macsi
|
(signed long) x * (signed long) y + z の符号付き積和演算を行い,32ビットの演算結果を返します。
|
signed long __macsi(signed int x, signed int y, signed long z);
|
__get_psw
|
PSWの内容を返します。
|
unsigned char __get_psw(void);
|
__set_psw
|
PSWにxを設定します。
|
void __set_psw(unsigned char x);
|
__set1
|
set1命令を使用し,xが指すアドレスのビットyを1にセットします。
ビットyは0から7までの定数のみ指定可能とし,それ以外はコンパイルエラーとします。
|
void __set1(unsigned char __near *x, unsigned char y);
|
__clr1
|
clr1命令を使用し,xが指すアドレスのビットyを0にクリアします。
ビットyは0から7までの定数のみ指定可能とし,それ以外はコンパイルエラーとします。
|
void __clr1(unsigned char __near *x, unsigned char y);
|
__not1
|
not1命令(saddr領域ならxor命令)を使用し,xが指すアドレスのビットyを反転します。
ビットyは0から7までの定数のみ指定可能とし,それ以外はコンパイルエラーとします。
|
void __not1(unsigned char __near *x, unsigned char y);
|