「8.3.2 初期設定」で説明した、PowerON_Reset_PC関数のコーディング例を示します。
なお、統合開発環境で生成される実際の初期設定ルーチンは、「8.4 コーディング例」を参照ください。
#include <machine.h>
#include <_h_c_lib.h>
#include "typedefine.h"
#include "stacksct.h"
#ifdef __cplusplus
extern "C" {
#endif
void PowerON_Reset_PC(void);
void main(void);
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus // Use SIM I/O
extern "C" {
#endif
extern void _INITLIB(void);
#ifdef __cplusplus
}
#endif
#define PSW_init 0x00010000
#define FPSW_init 0x00000100
#pragma section ResetPRG
#pragma entry PowerON_Reset_PC
void PowerON_Reset_PC(void)
{
set_intb(__sectop("C$VECT"));
set_fpsw(FPSW_init);
_INITSCT();
_INITLIB();
nop();
set_psw(PSW_init);
main();
brk();
}
|