| [startup_picpid.c] // マニュアル 7.3.2(5)セクションの初期化処理 #pragma section C C$DSEC //セクション名をC$DSEC にします const struct {    void *rom_s; //初期化データセクションのROM 上の先頭アドレスメンバ     void *rom_e; //初期化データセクションのROM 上の最終アドレスメンバ     void *ram_s; //初期化データセクションのRAM 上の先頭アドレスメンバ } DTBL[] = {__sectop("D"), __secend("D"), __sectop("R")};#pragma section C C$BSEC //セクション名をC$BSEC にします const struct {    void *b_s; //未初期化データセクションの先頭アドレスメンバ     void *b_e; //未初期化データセクションの最終アドレスメンバ } BTBL[] = {__sectop("B"), __secend("B")};  extern void main(void); extern void _INITLIB(void); // マニュアル 7.3.2(6) ライブラリの初期化処理 #pragma entry application_pic_entry void application_pic_entry(void) {     _INITSCT_PICPID();     _INITLIB();      main(); }   [initsct_pid.src] ; PID対応 セクション初期化ルーチン     .glb   __INITSCT_PICPID     .glb   __PID_TOP     .section  C$BSEC,ROMDATA,ALIGN=4     .section  C$DSEC,ROMDATA,ALIGN=4     .section  P,CODE   __INITSCT_PICPID:               ; function: _INITSCT     .STACK    __INITSCT_PICPID=28     PUSHM     R1-R6     ADD       #-__PID_TOP,__PID_REG,R6   ;   How long distance PID moves ;;; ;;; clear BBS(B) ;;;     ADD       #TOPOF C$BSEC,  R6, R4     ADD       #SIZEOF C$BSEC, R4, R5     MOV.L     #0, R2     BRA       next_loop1   |