📄 start167.lst
字号:
0000000C 0A896F00 719 BFLDL SYSCON,#LOW SYS_BITS,#SYS_L
720
721 ; Setup RSTCON Register
$IF (INIT_RSTCON = 1)
RSTCON EQU 0F1E0H
V_RSTCON SET R_RSTLEN OR (R_SUE << 8) OR (R_CSSEL << 9)
V_RSTCON SET V_RSTCON OR (R_SALSEL << 11) OR (R_CLKCFG << 13)
MOV R1,#V_RSTCON ; RSTCON value
MOVW DPP3:RSTCON,R1
EXTR #2
MOV SYSCON2,#0500H ; SDD mode, PLL on, factor 2
MOV SYSCON2,#0400H ; Switch to basic clock mode
732 $ENDIF
733
734 ;
$IF (ADVANCED_SYSCON = 1)
SYS_2 SET (PDCON << 4) OR (RTS << 6) OR (SCS << 7)
SYS_2 SET SYS_2 OR (CLKCON << 8) OR (CLKREL << 10)
SYS_3 SET ADCDIS OR (ASC0DIS << 1) OR (SSCDIS << 2)
SYS_3 SET SYS_3 OR (GPTDIS << 3)
SYS_3 SET SYS_3 OR (FMDIS << 5) OR (CC1DIS << 6) OR (CC2DIS << 7)
SYS_3 SET SYS_3 OR (CC6DIS << 8) OR (PWMDIS << 9)
SYS_3 SET SYS_3 OR (ASC1DIS << 10) OR (I2CDIS << 11)
SYS_3 SET SYS_3 OR (CAN1DIS << 13) OR (CAN2DIS << 14)
SYS_3 SET SYS_3 OR (PCDDIS << 15)
EXTR #2
MOV SYSCON2,#SYS_2
MOV SYSCON3,#SYS_3
750 $ENDIF
751 ;
752
$IF (BUSCON1 = 1)
BCON1 SET (_MTTC1 << 5) OR (_RWDC1 << 4)
BCON1 SET BCON1 OR ((NOT _MCTC1) AND 0FH)
BCON1 SET BCON1 AND (NOT (_RDYEN1 << 3))
BCON1 SET BCON1 OR (_RDY_AS1 << 3) OR (_BTYP1 << 6)
BCON1 SET BCON1 OR (_ALECTL1 << 9) OR (_BUSACT1 << 10)
BCON1 SET BCON1 OR (_RDYEN1 << 12) OR (_CSREN1 << 14)
BCON1 SET BCON1 OR (_CSWEN1 << 15)
ADDR1 EQU 1008H
MOV ADDRSEL1,#ADDR1
MOV BUSCON1,#BCON1
784 $ENDIF
A166 MACRO ASSEMBLER START167 07/02/2002 18:27:53 PAGE 13
785
$IF (BUSCON2 = 1)
BCON2 SET (_MTTC2 << 5) OR (_RWDC2 << 4)
BCON2 SET BCON2 OR ((NOT _MCTC2) AND 0FH)
BCON2 SET BCON2 AND (NOT (_RDYEN2 << 3))
BCON2 SET BCON2 OR (_RDY_AS2 << 3) OR (_BTYP2 << 6)
BCON2 SET BCON2 OR (_ALECTL2 << 9) OR (_BUSACT2 << 10)
BCON2 SET BCON2 OR (_RDYEN2 << 12) OR (_CSREN2 << 14)
BCON2 SET BCON2 OR (_CSWEN2 << 15)
ADDR2 EQU 2008H
MOV ADDRSEL2,#ADDR2
MOV BUSCON2,#BCON2
817 $ENDIF
818
$IF (BUSCON3 = 1)
BCON3 SET (_MTTC3 << 5) OR (_RWDC3 << 4)
BCON3 SET BCON3 OR ((NOT _MCTC3) AND 0FH)
BCON3 SET BCON3 AND (NOT (_RDYEN3 << 3))
BCON3 SET BCON3 OR (_RDY_AS3 << 3) OR (_BTYP3 << 6)
BCON3 SET BCON3 OR (_ALECTL3 << 9) OR (_BUSACT3 << 10)
BCON3 SET BCON3 OR (_RDYEN3 << 12) OR (_CSREN3 << 14)
BCON3 SET BCON3 OR (_CSWEN3 << 15)
ADDR3 EQU 3008H
MOV ADDRSEL3,#ADDR3
MOV BUSCON3,#BCON3
850 $ENDIF
A166 MACRO ASSEMBLER START167 07/02/2002 18:27:53 PAGE 14
851
$IF (BUSCON4 = 1)
BCON4 SET (_MTTC4 << 5) OR (_RWDC4 << 4)
BCON4 SET BCON4 OR ((NOT _MCTC4) AND 0FH)
BCON4 SET BCON4 AND (NOT (_RDYEN4 << 3))
BCON4 SET BCON4 OR (_RDY_AS4 << 3) OR (_BTYP4 << 6)
BCON4 SET BCON4 OR (_ALECTL4 << 9) OR (_BUSACT4 << 10)
BCON4 SET BCON4 OR (_RDYEN4 << 12) OR (_CSREN4 << 14)
BCON4 SET BCON4 OR (_CSWEN4 << 15)
ADDR4 EQU 4008H
MOV ADDRSEL4,#ADDR4
MOV BUSCON4,#BCON4
883 $ENDIF
884
885
886
$IF (STK_SIZE = 7)
MOV STKUN,#0FFFEH ; AVOID STKUN TRAP
MOV STKOV,#0H ; AVOID STKOV TRAP
MOV SP,#DPP3:_TOS ; INITIALIZE STACK POINTER
MOV STKUN,#DPP3:_TOS ; INITIALIZE STACK UNFL REGISTER
MOV STKOV,#DPP3:(_BOS+6*2) ; INITIALIZE STACK OVFL REGISTER
893 $ELSE
00000010 E60A0CFA 894 MOV STKOV,#(_BOS+6*2) ; INITIALIZE STACK OVFL REGISTER
895 $ENDIF
896
897 $IF NOT TINY
898
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -