|
|
|
di
|
Interrupt control
|
void __DI(void);
|
ei
|
void __EI(void);
|
-
|
Interrupt-priority-level control
|
int NUM;
void* ADDRNote 1;
void __set_il_rh(NUM, ADDR);
movhi highw1(ADDR), r0, rX
ld.b loww(ADDR)[rX], rY
andi 0x00F0, rY, rY
ori (Priority - 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]
- | NUM : No greater than 4 and no less than 17 |
Out-of-range error
|
nop
|
No operation
|
void __nop(void);
|
halt
|
Stops the processor
|
void __halt(void);
|
satadd
|
Saturated addition
|
long a, b;
long __satadd(a, b);
|
satsub
|
Saturated subtraction
|
long a, b;
long __satsub(a, b);
|
bsh
|
Halfword data byte swap
|
long a;
long __bsh(a);
|
bsw
|
Word data byte swap
|
long a;
long __bsw(a);
|
hsw
|
Word data halfword swap
|
long a;
long __hsw(a);
|
mul
|
Instruction that assigns higher 32 bits of multiplication result to variable
|
long a, b;
long __mul32(a, b);
|
mulu
|
Instruction that assigns higher 32 bits of unsigned multiplication result to variable
|
unsigned long a, b;
unsigned long __mul32u(a, b);
|
sch0l
|
Bit (0) search from MSB side
|
long a;
long __sch0l(a);
|
sch0r
|
Bit (0) search from LSB side
|
long a;
long __sch0r(a);
|
sch1l
|
Bit (1) search from MSB side
|
long a;
long __sch1l(a);
|
sch1r
|
Bit (1) search from LSB side
|
long a;
long __sch1r(a);
|
ldsr
|
Loads to system register
|
long regID;
unsigned long a;
void __ldsr(regIDNote 2, a);
|
ldsr
|
Loads to system register
|
long regID;
long selID;
unsigned long a;
void __ldsr_rh(regIDNote 2, selIDNote 2, a);
|
stsr
|
Stores contents of system register
|
long regID;
unsigned long __stsr(regIDNote 2);
|
stsr
|
Stores contents of system register
|
long regID;
long selID;
unsigned long __stsr_rh(regIDNote 2, selIDNote 2);
|
caxi
|
Compare and Exchange
|
long *a;
long b, c;
long __caxi(a, b, c);
|
clr1
|
Bit clear
|
unsigned char *a;
int bit;
void __clr1(a, bit);
|
set1
|
Bit set
|
unsigned char *a;
int bit;
void __set1(a, bit);
|
not1
|
Bit not
|
unsigned char *a;
int bit;
void __not1(a, bit);
|
ldl.wNote 3
|
Atomic load.
|
long *a;
long __ldlw(a);
|
stc.wNote 3
|
Store
|
long *a;
long b;
void __stcw(a, b);
|
synce
|
Exception synchronization
|
void __synce(void);
|
synci
|
Instruction pipeline synchronization
|
void __synci(void);
|
syncm
|
Memory synchronization
|
void __syncm(void);
|
syncp
|
Pipeline synchronization
|
void __syncp(void);
|