4-4
EPSOn
S5U1C17001C ManUal
(C COMPilEr PaCkagE fOr S1C17 faMily) (Ver. 1.5.0)
4 SOUrCE filES
4.2.3 in-line assemble
The
xgcc
C compiler supports in-line assembly, so the
asm
statement can be used. As a result, the word "
asm
" is
reserved for system use.
Format:
asm("
<character string>
");
Example 1:
/* HALT mode */
asm("halt");
Example 2:
/* Trap Table*/
asm(".long
BOOT\n\
.long
ADDR_ERR\n\
.long
NMI\n\
.space
4\n\
.long
EINT0\n\
.long
EINT1");
Example 3:
BOOT(){
asm("xld.a %sp,0x3f00"); /* set SP */
:
}
For details on how to write an assembly source, refer to Section 4.3, "Grammar of Assembly Source".
4.2.4 Prototype Declarations
Declaring interrupt handler functions
Interrupt handler functions should be declared in the following format:
<type>
<function name>
__attribute__ ((interrupt_handler));
Example:
void foo(void) __attribute__ ((interrupt_handler));
int int_num;
void foo()
{
int_num = 5;
}
Assembler code
foo:
ld.a -[%sp],%r2
ld %r2,5
xld [int_num],%r2
ld.a %r2,[%sp]+
reti
Summary of Contents for S5U1C17001C
Page 6: ......
Page 17: ...1 General S5U1C17001C Manual 1 General ...
Page 18: ......
Page 21: ...1 2 Install S5U1C17001C Manual 2 Installation ...
Page 22: ......
Page 29: ...3 SoftDev S5U1C17001C Manual 3 Software Development Procedures ...
Page 30: ......
Page 103: ...4 SrcFiles S5U1C17001C Manual 4 Source files ...
Page 104: ......
Page 121: ...5 IDE S5U1C17001C Manual 5 gnU17 iDE ...
Page 122: ......
Page 365: ...6 Compiler S5U1C17001C Manual 6 C Compiler ...
Page 366: ......
Page 385: ...7 Library S5U1C17001C Manual 7 library ...
Page 386: ......
Page 405: ...8 Assemblr S5U1C17001C Manual 8 assembler ...
Page 406: ......
Page 439: ...9 Linker S5U1C17001C Manual 9 linker ...
Page 440: ......
Page 449: ...10 Debugger S5U1C17001C Manual 10 Debugger ...
Page 450: ......
Page 626: ...11 Tools S5U1C17001C Manual 11 Other Tools ...
Page 627: ......
Page 696: ...S1C17 Family C Compiler Package Quick Reference Reference ...