4.2.7  
Section Address Operators
 
Table 3.26 lists the section address operators.
Table 4.27  | 	Section Address Operators  | 
 
| 
 | 
 | 
 | 
| 
 
1 
 | 
 
__sectop("<section name>") 
 | 
 
Refers to the start address of <section name>. 
 | 
| 
 
2 
 | 
 
__secend("<section name>") 
 | 
 
Refers to the sum of the size of <section name> and the address where <section name> starts. 
 | 
| 
 
3 
 | 
 
__secsize("<section name>") 
 | 
 
Refers to the size of <section name>. 
 | 
 
[Return value type]
The return value type of __sectop is void *. 
The return value type of __secend is void *. 
The return value type of __secsize is unsigned long.
 
[Example]
(1) __sectop, __secend
| 
 
#include <machine.h> 
#pragma section $DSEC 
static const struct { 
   void *rom_s; /* Start address of the initialized data section in ROM */ 
   void *rom_e; /* End address of the initialized data section in ROM */ 
   void *ram_s; /* Start address of the initialized data section in RAM */ 
} DTBL[]={__sectop("D"), __secend("D"), __sectop("R")}; 
  
#pragma section $BSEC 
static const struct { 
   void *b_s; /* Start address of the uninitialized data section */ 
   void *b_e; /* End address of the uninitialized data section */ 
} BTBL[]={__sectop("B"), __secend("B")}; 
  
#pragma section 
#pragma stacksize si=0x100 
#pragma entry INIT 
void main(void); 
void INIT(void) 
{ 
    _INITSCT(); 
    main(); 
    sleep(); 
} 
 | 
 
(2) __secsize
| 
 
/* size of section B */ 
unsigned int size_of_B = __secsize("B"); 
 | 
 
[Remarks]
In an application that enables the PIC/PID function, __sectop and __secend is processed as the addresses determined at linkage.
For details of the PIC/PID function, refer to the descriptions of the pic and pid options in  Usage of PIC/PID Function.