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