⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 start167.lst

📁 英飞凌XC164CS系列单片机的源码
💻 LST
📖 第 1 页 / 共 5 页
字号:
 0001                     537     _STKSZ1         SET     1               ; size is 256 Words
                          538     $ENDIF
                                  $IF (STK_SIZE = 1)
                                  _STKSZ          SET     1
                                  _STKSZ1         SET     2               ; size is 128 Words
                          542     $ENDIF
                                  $IF (STK_SIZE = 2)
                                  _STKSZ          SET     2
                                  _STKSZ1         SET     3               ; size is  64 Words
                          546     $ENDIF
                                  $IF (STK_SIZE = 3)
                                  _STKSZ          SET     3
                                  _STKSZ1         SET     4               ; size is  32 Words
                          550     $ENDIF
                                  $IF (STK_SIZE = 4)
                                  _STKSZ          SET     4
                          553     $ENDIF
                                  $IF (STK_SIZE = 5)
                                  _STKSZ          SET     5
                          556     $ENDIF
                                  $IF (STK_SIZE = 6)
                                  _STKSZ          SET     6
                          559     $ENDIF
                                  $IF (STK_SIZE = 7)
                                  _STKSZ          SET     7
                          562     $ENDIF
                          563     
                          564     
                          565     $IF NOT TINY
                          566     ASSUME  DPP3:SYSTEM
                          567     ASSUME  DPP2:NDATA
                          568     $ENDIF
                          569     
                          570     NAME    ?C_STARTUP
                          571     PUBLIC  ?C_STARTUP
                          572     
                                  $IF MEDIUM OR LARGE OR HLARGE
                                  Model   LIT     'FAR'
                          575     $ELSE
                          576     Model   LIT     'NEAR'
                          577     $ENDIF
                          578     
                          579     EXTRN   main:NEAR
                          580     
                          581     PUBLIC          ?C_USRSTKBOT
                          582     
--------                  583     ?C_USERSTACK    SECTION DATA PUBLIC 'NDATA'
                          584     $IF NOT TINY
                          585     NDATA           DGROUP  ?C_USERSTACK
                          586     $ENDIF
A166 MACRO ASSEMBLER  START167                                                            07/02/2002 18:27:53 PAGE    10

                          587     ?C_USRSTKBOT:
00000000                  588                     DS      USTSZ           ; Size of User Stack
                          589     ?C_USERSTKTOP:
--------                  590     ?C_USERSTACK    ENDS
                          591     
                          592     ?C_MAINREGISTERS        REGDEF  R0 - R15
                          593     
                                  $IF (STK_SIZE = 7)
                                  
                                  ?C_SYSSTACK     SECTION DATA PUBLIC 'IDATA'
                                  $IF NOT TINY
                                  SDATA           DGROUP  ?C_SYSSTACK
                                  $ENDIF
                                  _BOS:                                   ; bottom of system stack
                                                  DS      SSTSZ           ; Size of User Stack
                                  _TOS:                                   ; top of system stack
                                  ?C_SYSSTACK     ENDS
                                  
                          605     $ELSE
                          606     ; Setup Stack Overflow
 FC00                     607     _TOS    EQU     0FC00H                          ; top of system stack
 FA00                     608     _BOS    EQU     _TOS - (1024 >> _STKSZ1)        ; bottom of system stack
                          609     $ENDIF
                          610     
                          611     PUBLIC          ?C_SYSSTKBOT
                          612     PUBLIC          ?C_SYSSTKTOP
                          613     
 FA00                     614     ?C_SYSSTKBOT    EQU     _BOS
 FC00                     615     ?C_SYSSTKTOP    EQU     _TOS
                          616     
                          617                     SSKDEF  _STKSZ          ; System stack size
                          618     
--------                  619     ?C_STARTUP_CODE SECTION CODE    'ICODE'
                          620     
                          621     
                          622     ;------------------------------------------------------------------------------
                          623     
                          624     ; Special Function Register Addresses
 FF12                     625     SYSCON   DEFR   0FF12H
 FF0C                     626     BUSCON0  DEFR   0FF0CH
 FE12                     627     SP       DEFR   0FE12H
 FE14                     628     STKOV    DEFR   0FE14H
 FE16                     629     STKUN    DEFR   0FE16H
 FFC4                     630     P3       DEFR   0FFC4H
 FFC6                     631     DP3      DEFR   0FFC6H
 FF14                     632     BUSCON1  DEFR   0FF14H
 FF16                     633     BUSCON2  DEFR   0FF16H
 FF18                     634     BUSCON3  DEFR   0FF18H
 FF1A                     635     BUSCON4  DEFR   0FF1AH
 FE18                     636     ADDRSEL1 DEFR   0FE18H
 FE1A                     637     ADDRSEL2 DEFR   0FE1AH
 FE1C                     638     ADDRSEL3 DEFR   0FE1CH
 FE1E                     639     ADDRSEL4 DEFR   0FE1EH
 F1D0                     640     SYSCON2  DEFR   0F1D0H
 F1D4                     641     SYSCON3  DEFR   0F1D4H
                          642     
                          643                               644                               645                               646                               647                               648                               649                               650                               651                               652     A166 MACRO ASSEMBLER  START167                                                            07/02/2002 18:27:53 PAGE    11

                          653                               654                               655                               656                               657                               658                               659                               660                               661                               662     
                          663     
                          664     ?C_RESET        PROC TASK C_STARTUP INTNO RESET = 0
                          665     ?C_STARTUP:     LABEL   NEAR
                          666     
                          667     
                                  $IF (WATCHDOG = 0)
                                                  DISWDT                  ; Disable watchdog timer
                          670     $ENDIF
                          671     
                                  $IF (INIT_XPERCON = 1)
                                  ; Improtant XPERCON must be set before SYSCON.XPEN is enabled
                                  XPERCON  DEFR 0F024H
                                                  EXTR    #1
                                                  MOV     XPERCON,#V_XPERCON
                          677     $ENDIF
                          678     
 0020                     679     BCON0L          SET     (_MTTC0 << 5) OR (_RWDC0 << 4)
 002E                     680     BCON0L          SET     BCON0L OR ((NOT _MCTC0) AND 0FH)
 002E                     681     BCON0L          SET     BCON0L AND (NOT (_RDYEN0 << 3))
 002E                     682     BCON0L          SET     BCON0L OR (_RDY_AS0 << 3)
 0000                     683     BCON0H          SET     (_ALECTL0 << 1) OR (_RDYEN0 << 4)
 0000                     684     BCON0H          SET     BCON0H OR (_CSREN0 << 6) OR (_CSWEN0 << 7)
                                  $IF (BTYP_ENABLE == 1)
                                  BCON0L          SET     BCON0L OR (_BTYP0 << 6)
                                  BCON0H          SET     BCON0H OR (_BUSACT0 << 2)
                          688     $ENDIF
                          689     
                          690     $IF (BTYP_ENABLE == 0)
00000000 0A863F2E         691                     BFLDL   BUSCON0,#03FH,#BCON0L
00000004 1A8600D2         692                     BFLDH   BUSCON0,#0D2H,#BCON0H
                                  $ELSE
                                                  BFLDL   BUSCON0,#0FFH,#BCON0L
                                                  BFLDH   BUSCON0,#0D6H,#BCON0H
                          696     $ENDIF
 FB6F                     697     SYS_BITS        SET     0FB6FH
                          698     
 0000                     699     SYS_H           SET     (_STKSZ << 5) OR (_ROMS1 << 4) OR (_SGTDIS << 3)
 0000                     700     SYS_H           SET     SYS_H OR (_BYTDIS << 1) OR _CLKEN
 0000                     701     SYS_L           SET     _XPERSHARE OR (_VISIBLE << 1) OR (_XPEN << 2)
 0000                     702     SYS_L           SET     SYS_L OR (_BDRSTEN << 3)
 0000                     703     SYS_L           SET     SYS_L OR (_PWDCFG << 5) OR (_CSCFG << 6)
                                  $IF (WRCFG_ENABLE == 1)
                                  SYS_L           SET     SYS_L OR (_WRCFG << 7)
                                  SYS_BITS        SET     SYS_BITS OR 00080H
                          707     $ENDIF
                                  $IF (OWDDIS_ENABLE == 1)
                                  SYS_L           SET     SYS_L OR (_OWDDIS << 4)
                                  SYS_BITS        SET     SYS_BITS OR 00010H
                          711     $ENDIF
                                  $IF (ROMEN_ENABLE == 1)
                                  SYS_H           SET     SYS_H OR (_ROMEN << 2)
                                  SYS_BITS        SET     SYS_BITS OR 00400H
                          715     $ENDIF
                          716     ; Setup SYSCON Register
                          717     
00000008 1A8900FB         718                     BFLDH   SYSCON,#HIGH SYS_BITS,#SYS_H
A166 MACRO ASSEMBLER  START167                                                            07/02/2002 18:27:53 PAGE    12

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -