4.2.7  
Section Address Operators
 
Table 4.11 lists the section address operators.
| 
Table 4.11 | 	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.