Code:
From MCU_init:/* ### MC9S08DZ60_64 "Cpu" init code ... */ /* PE initialization code after reset */ /* Common initialization of the write once registers */ /* SOPT1: COPT=0,STOPE=0,SCI2PS=0,IICPS=0 */ SOPT1 = 0x00; /* SOPT2: COPCLKS=0,COPW=0,ADHTS=0,MCSEL=0 */ SOPT2 = 0x00; /* SPMSC1: LVWF=0,LVWACK=0,LVWIE=0,LVDRE=1,LVDSE=1,LVDE=1,BGBE=0 */ SPMSC1 = 0x1C; /* SPMSC2: LVDV=0,LVWV=0,PPDF=0,PPDACK=0,PPDC=0 */ SPMSC2 = 0x00; /* System clock initialization */ MCGTRM = *(unsigned char*far)0xFFAF; /* Initialize MCGTRM register from a non volatile memory */ MCGSC = *(unsigned char*far)0xFFAE; /* Initialize MCGSC register from a non volatile memory */ /* MCGC2: BDIV=1,RANGE=0,HGO=0,LP=0,EREFS=0,ERCLKEN=0,EREFSTEN=0 */ MCGC2 = 0x40; /* Set MCGC2 register */ /* MCGC1: CLKS=0,RDIV=0,IREFS=1,IRCLKEN=0,IREFSTEN=0 */ MCGC1 = 0x04; /* Set MCGC1 register */ /* MCGC3: LOLIE=0,PLLS=0,CME=0,VDIV=1 */ MCGC3 = 0x01; /* Set MCGC3 register */ while(!MCGSC_LOCK) { /* Wait until FLL is locked */ }/* FCDIV: DIVLD=0,PRDIV8=0,DIV5=0,DIV4=0,DIV3=1,DIV2=0,DIV1=0,DIV0=0 */ FCDIV = 0x08; /* Set clock divider */From main.c; /* System clock initialization */ ; MCGTRM = *(unsigned char*)0xFFAF; /* Initialize MCGTRM register from a non volatile memory */ LDA $FFAF ;65455 STA MCGTRM ; MCGSC = *(unsigned char*)0xFFAE; /* Initialize MCGSC register from a non volatile memory */ LDA $FFAE ;65454 STA MCGSC ; /* MCGC2: BDIV=1,RANGE=1,HGO=1,LP=0,EREFS=1,ERCLKEN=1,EREFSTEN=0 */ ; setReg8(MCGC2, 0x36); /* Set MCGC2 register */ MOV #$36,MCGC2 ; /* MCGC1: CLKS=2,RDIV=7,IREFS=0,IRCLKEN=1,IREFSTEN=0 */ ; setReg8(MCGC1, 0xBA); /* Set MCGC1 register */ MOV #$B2,MCGC1 ; /* MCGC3: LOLIE=0,PLLS=0,CME=0,—–=0,VDIV=1 */ ; setReg8(MCGC3, 0x01); /* Set MCGC3 register */ MOV #1,MCGC3