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

📄 startu32.lst

📁 TI公司的增强型8位单片机upsd32xx系列芯片
💻 LST
字号:
A51 MACRO ASSEMBLER  STARTU32                                                             10/13/2004 10:12:17 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN .\Startu32.obj
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE ..\..\..\每天工作文件备份\8500E\hd8200e10.12\Startu32.a51 SET(SMALL) DEBUG
                       PRINT(.\Startu32.lst) OBJECT(.\Startu32.obj) EP

LOC  OBJ            LINE     SOURCE

                       1     $nomod51 
                       2     ;------------------------------------------------------------------------------
                       3     ;  STARTU32.A51:  This code is executed after processor reset.
                       4     ;    
                       5     ;  Modified for uPSD Startup:
                       6     ;     - Disable Watchdog timer - enable at beginning of user application
                       7     ;     - Settup various IP prescalers to large values (lowers power requirements)
                       8     ;       The IP device drivers wil need to initialize the prescaler to the right value
                       9     ;
                      10     ;------------------------------------------------------------------------------
                      11     
                      12     
                      13     ;  User-defined Power-On Initialization of Memory (Clear Memory)
                      14     ;
                      15     ;  With the following EQU statements the initialization of memory
                      16     ;  at processor reset can be defined:
                      17     
                      18     ;               ; the absolute start-address of IDATA memory is always 0
  0100                19     IDATALEN        EQU     100H    ; the length of IDATA memory in bytes.
                      20     
                      21     ; *** NOTE: uPSD users need to fill in the following based on where SRAM memory mapped.
                      22     
  2000                23     XDATASTART      EQU     2000H      ; the absolute start-address of XDATA memory
  1FFF                24     XDATALEN        EQU     1FFFH      ; the length of XDATA memory in bytes.
                      25     
  0000                26     PDATASTART      EQU     0H      ; the absolute start-address of PDATA memory
  0000                27     PDATALEN        EQU     0H      ; the length of PDATA memory in bytes.
                      28     
                      29     ;  Notes:  The IDATA space overlaps physically the DATA and BIT areas of the
                      30     ;          8051 CPU. At minimum the memory space occupied from the C51 
                      31     ;          run-time routines must be set to zero.
                      32     
                      33     
                      34     ;------------------------------------------------------------------------------
                      35     ;
                      36     ;  Reentrant Stack Initilization
                      37     ;
                      38     ;  The following EQU statements define the stack pointer for reentrant
                      39     ;  functions and initialized it:
                      40     ;
                      41     ;  Stack Space for reentrant functions in the SMALL model.
  0000                42     IBPSTACK        EQU     0       ; set to 1 if small reentrant is used.
  0100                43     IBPSTACKTOP     EQU     0FFH+1  ; set top of stack to highest location+1.
                      44     ;
                      45     ;  Stack Space for reentrant functions in the LARGE model.      
  0000                46     XBPSTACK        EQU     0       ; set to 1 if large reentrant is used.
  0000                47     XBPSTACKTOP     EQU     0FFFFH+1; set top of stack to highest location+1.
                      48     ;
                      49     ;  Stack Space for reentrant functions in the COMPACT model.    
  0000                50     PBPSTACK        EQU     0       ; set to 1 if compact reentrant is used.
  0000                51     PBPSTACKTOP     EQU     0FFFFH+1; set top of stack to highest location+1.
                      52     ;
                      53     ;------------------------------------------------------------------------------
                      54     ;
                      55     ;  Page Definition for Using the Compact Model with 64 KByte xdata RAM
                      56     ;
                      57     ;  The following EQU statements define the xdata page used for pdata
A51 MACRO ASSEMBLER  STARTU32                                                             10/13/2004 10:12:17 PAGE     2

                      58     ;  variables. The EQU PPAGE must conform with the PPAGE control used
                      59     ;  in the linker invocation.
                      60     ;
  0000                61     PPAGEENABLE     EQU     0       ; set to 1 if pdata object are used.
                      62     ;
  0000                63     PPAGE           EQU     0       ; define PPAGE number.
                      64     ;
  00A0                65     PPAGE_SFR       DATA    0A0H    ; SFR that supplies uppermost address byte
                      66     ;               (most 8051 variants use P2 as uppermost address byte)
                      67     ;
                      68     ;------------------------------------------------------------------------------
                      69     
                      70     ; Standard SFR Symbols 
  00E0                71     ACC     DATA    0E0H
  00F0                72     B       DATA    0F0H
  0081                73     SP      DATA    81H
  0082                74     DPL     DATA    82H
  0083                75     DPH     DATA    83H
  00AE                76     WDKEY   DATA    0AEH
  0095                77     ASCL    DATA    095H
  00B1                78     PSCL0L  DATA    0B1H
  00B2                79     PSCL0H  DATA    0B2H
  00B3                80     PSCL1L  DATA    0B3H
  00B4                81     PSCL1H  DATA    0B4H
  00E1                82     USCL    DATA    0E1H
  00D7                83     DDCCON  DATA    0D7H
  00D8                84     S1CON   DATA    0D8H
                      85     
                      86                     NAME    ?C_STARTUP
                      87     
                      88     
                      89     ?C_C51STARTUP   SEGMENT   CODE
                      90     ?STACK          SEGMENT   IDATA
                      91     
----                  92                     RSEG    ?STACK
0000                  93                     DS      1
                      94     
                      95                     EXTRN CODE (?C_START)
                      96                     PUBLIC  ?C_STARTUP
                      97     
----                  98                     CSEG    AT      0
0000 020000   F       99     ?C_STARTUP:     LJMP    STARTUP1
                     100     
----                 101                     RSEG    ?C_C51STARTUP
                     102     
0000                 103     STARTUP1:
                     104     
                     105     ; uPSD specific initialization
                     106     
0000 74FE            107                     MOV     A, #0FEH        ; Load pre-scalars with large value
0002 F595            108                     MOV     ASCL, A         ; Slow down ADC Logic
0004 F5B1            109                     MOV     PSCL0L, A       ; Slow down PWM Logic
0006 F5B2            110                     MOV     PSCL0H, A
0008 F5B3            111                     MOV     PSCL1L, A
000A F5B4            112                     MOV     PSCL1H, A
000C F5E1            113                     MOV     USCL, A         ; Slow down USB Logic
                     114     
000E 7455            115                     MOV     A, #055H        ; Disable Watch Dog Reset
0010 F5AE            116                     MOV     WDKEY, A
                     117     
0012 E500            118                     MOV     A, 0            ; Disable DDC and DDC XRAM out of addr space
0014 F5D7            119                     MOV     DDCCON, A
0016 F5D8            120                     MOV     S1CON, A        ; Disable DDC I2C as well
                     121     
                     122     
                     123     IF IDATALEN <> 0
A51 MACRO ASSEMBLER  STARTU32                                                             10/13/2004 10:12:17 PAGE     3

0018 78FF            124                     MOV     R0,#IDATALEN - 1
001A E4              125                     CLR     A
001B F6              126     IDATALOOP:      MOV     @R0,A
001C D8FD            127                     DJNZ    R0,IDATALOOP
                     128     ENDIF
                     129     
                     130     IF XDATALEN <> 0
001E 902000          131                     MOV     DPTR,#XDATASTART
0021 7FFF            132                     MOV     R7,#LOW (XDATALEN)
                     133       IF (LOW (XDATALEN)) <> 0
0023 7E20            134                     MOV     R6,#(HIGH (XDATALEN)) +1
                     135       ELSE
                                             MOV     R6,#HIGH (XDATALEN)
                               ENDIF
0025 F0              138     XDATALOOP:      MOVX    @DPTR,A
0026 E4              139                     CLR     A
0027 A3              140                     INC     DPTR
0028 DFFB            141                     DJNZ    R7,XDATALOOP
002A DEF9            142                     DJNZ    R6,XDATALOOP
                     143     ENDIF
                     144     
                     145     IF PPAGEENABLE <> 0
                                             MOV     PPAGE_SFR,#PPAGE
                             ENDIF
                     148     
                     149     IF PDATALEN <> 0
                                             MOV     R0,#LOW (PDATASTART)
                                             MOV     R7,#LOW (PDATALEN)
                                             CLR     A
                             PDATALOOP:      MOVX    @R0,A
                                             INC     R0
                                             DJNZ    R7,PDATALOOP
                             ENDIF
                     157     
                     158     IF IBPSTACK <> 0
                             EXTRN DATA (?C_IBP)
                             
                                             MOV     ?C_IBP,#LOW IBPSTACKTOP
                             ENDIF
                     163     
                     164     IF XBPSTACK <> 0
                             EXTRN DATA (?C_XBP)
                             
                                             MOV     ?C_XBP,#HIGH XBPSTACKTOP
                                             MOV     ?C_XBP+1,#LOW XBPSTACKTOP
                             ENDIF
                     170     
                     171     IF PBPSTACK <> 0
                             EXTRN DATA (?C_PBP)
                                             MOV     ?C_PBP,#LOW PBPSTACKTOP
                             ENDIF
                     175     
002C 758100   F      176                     MOV     SP,#?STACK-1
                     177     ; This code is required if you use L51_BANK.A51 with Banking Mode 4
                     178     ; EXTRN CODE (?B_SWITCH0)
                     179     ;               CALL    ?B_SWITCH0      ; init bank mechanism to code bank 0
002F 020000   F      180                     LJMP    ?C_START
                     181     
                     182                     END
A51 MACRO ASSEMBLER  STARTU32                                                             10/13/2004 10:12:17 PAGE     4

SYMBOL TABLE LISTING
------ ----- -------


N A M E             T Y P E  V A L U E   ATTRIBUTES

?C_C51STARTUP. . .  C SEG    0032H       REL=UNIT
?C_START . . . . .  C ADDR   -----       EXT
?C_STARTUP . . . .  C ADDR   0000H   A   
?STACK . . . . . .  I SEG    0001H       REL=UNIT
ACC. . . . . . . .  D ADDR   00E0H   A   
ASCL . . . . . . .  D ADDR   0095H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
DDCCON . . . . . .  D ADDR   00D7H   A   
DPH. . . . . . . .  D ADDR   0083H   A   
DPL. . . . . . . .  D ADDR   0082H   A   
IBPSTACK . . . . .  N NUMB   0000H   A   
IBPSTACKTOP. . . .  N NUMB   0100H   A   
IDATALEN . . . . .  N NUMB   0100H   A   
IDATALOOP. . . . .  C ADDR   001BH   R   SEG=?C_C51STARTUP
PBPSTACK . . . . .  N NUMB   0000H   A   
PBPSTACKTOP. . . .  N NUMB   0000H   A   
PDATALEN . . . . .  N NUMB   0000H   A   
PDATASTART . . . .  N NUMB   0000H   A   
PPAGE. . . . . . .  N NUMB   0000H   A   
PPAGEENABLE. . . .  N NUMB   0000H   A   
PPAGE_SFR. . . . .  D ADDR   00A0H   A   
PSCL0H . . . . . .  D ADDR   00B2H   A   
PSCL0L . . . . . .  D ADDR   00B1H   A   
PSCL1H . . . . . .  D ADDR   00B4H   A   
PSCL1L . . . . . .  D ADDR   00B3H   A   
S1CON. . . . . . .  D ADDR   00D8H   A   
SP . . . . . . . .  D ADDR   0081H   A   
STARTUP1 . . . . .  C ADDR   0000H   R   SEG=?C_C51STARTUP
USCL . . . . . . .  D ADDR   00E1H   A   
WDKEY. . . . . . .  D ADDR   00AEH   A   
XBPSTACK . . . . .  N NUMB   0000H   A   
XBPSTACKTOP. . . .  N NUMB   0000H   A   
XDATALEN . . . . .  N NUMB   1FFFH   A   
XDATALOOP. . . . .  C ADDR   0025H   R   SEG=?C_C51STARTUP
XDATASTART . . . .  N NUMB   2000H   A   


REGISTER BANK(S) USED: 0 

ASSEMBLY COMPLETE.  0 WARNING(S), 0 ERROR(S)

⌨️ 快捷键说明

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