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

📄 startup.lst

📁 一个可作为mp3播放器固件的代码集,包括解码,播放,控制,任务管理等.
💻 LST
字号:
A51 MACRO ASSEMBLER  STARTUP                                                              09/20/2005 21:47:35 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN startup.OBJ
ASSEMBLER INVOKED BY: e:\Keil\C51\BIN\A51.EXE startup.a51 SET(SMALL) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     
                       2     
                       3     
                       4     
                       5     
                       6     
                       7     
                       8     
                       9     
                      10     
                      11     
                      12     
                      13     ;_____ I N C L U D E S ____________________________________________________
                      14     
                      15     
                      16     ;_____ M A C R O S ________________________________________________________
                      17     
                      18     ;  User-defined Power-On Initialization of Memory
                      19     ;
                      20     ;  With the following EQU statements the initialization of memory
                      21     ;  at processor reset can be defined:
                      22     ;
                      23     ;       ; the absolute start-address of IDATA memory is always 0
  0100                24     IDATALEN    EQU 100H    ; the length of IDATA memory in bytes.
                      25     ;
  0000                26     XDATASTART  EQU 0H      ; the absolute start-address of XDATA memory
  0800                27     XDATALEN    EQU 800H    ; the length of XDATA memory in bytes.
                      28     ;
  0000                29     PDATASTART  EQU 0H      ; the absolute start-address of PDATA memory
  0100                30     PDATALEN    EQU 100H    ; the length of PDATA memory in bytes.
                      31     ;
                      32     ;  Notes:  The IDATA space overlaps physically the DATA and BIT areas of the
                      33     ;          8051 CPU. At minimum the memory space occupied from the C51 
                      34     ;          run-time routines must be set to zero.
                      35     ;------------------------------------------------------------------------------
                      36     ;
                      37     ;  Reentrant Stack Initilization
                      38     ;
                      39     ;  The following EQU statements define the stack pointer for reentrant
                      40     ;  functions and initialized it:
                      41     ;
                      42     ;  Stack Space for reentrant functions in the SMALL model.
  0000                43     IBPSTACK    EQU 0       ; set to 1 if small reentrant is used.
  0100                44     IBPSTACKTOP EQU 0FFH+1  ; set top of stack to highest location+1.
                      45     ;
                      46     ;  Stack Space for reentrant functions in the LARGE model.      
  0000                47     XBPSTACK    EQU 0       ; set to 1 if large reentrant is used.
  0000                48     XBPSTACKTOP EQU 0FFFFH+1; set top of stack to highest location+1.
                      49     ;
                      50     ;  Stack Space for reentrant functions in the COMPACT model.    
  0000                51     PBPSTACK    EQU 0       ; set to 1 if compact reentrant is used.
  0000                52     PBPSTACKTOP EQU 0FFFFH+1; set top of stack to highest location+1.
                      53     ;
                      54     ;------------------------------------------------------------------------------
                      55     
                      56             NAME    ?C_STARTUP
                      57     
                      58     
A51 MACRO ASSEMBLER  STARTUP                                                              09/20/2005 21:47:35 PAGE     2

                      59     ;_____ D E F I N I T I O N ________________________________________________
                      60     
                      61     ?C_C51STARTUP   SEGMENT   CODE
                      62     ?STACK          SEGMENT   IDATA
                      63     
----                  64             RSEG    ?STACK
0000                  65             DS      1
                      66     
                      67     
                      68     ;_____ D E C L A R A T I O N ______________________________________________
                      69     
                      70             EXTRN CODE (?C_START)
                      71             PUBLIC  ?C_STARTUP
                      72     
                      73     ;*F**************************************************************************
                      74     ; NAME: C_STARTUP
                      75     ;----------------------------------------------------------------------------
                      76     ; PARAMS:
                      77     ;
                      78     ; return:
                      79     ;----------------------------------------------------------------------------
                      80     ; PURPOSE: 
                      81     ;   Reset vector 
                      82     ;----------------------------------------------------------------------------
                      83     ; EXAMPLE:
                      84     ;----------------------------------------------------------------------------
                      85     ; NOTE: 
                      86     ;----------------------------------------------------------------------------
                      87     ; REQUIREMENTS: 
                      88     ;****************************************************************************
----                  89             CSEG    AT  0
                      90     
0000                  91     ?C_STARTUP:
0000 020000   F       92             LJMP    STARTUP1
                      93     
                      94     
                      95     ;*F**************************************************************************
                      96     ; NAME: STARTUP1
                      97     ;----------------------------------------------------------------------------
                      98     ; PARAMS:
                      99     ;
                     100     ; return:
                     101     ;----------------------------------------------------------------------------
                     102     ; PURPOSE: 
                     103     ;   Memory initialization 
                     104     ;----------------------------------------------------------------------------
                     105     ; EXAMPLE:
                     106     ;----------------------------------------------------------------------------
                     107     ; NOTE: 
                     108     ;----------------------------------------------------------------------------
                     109     ; REQUIREMENTS: 
                     110     ;****************************************************************************
----                 111             RSEG    ?C_C51STARTUP
                     112     
0000                 113     STARTUP1:
                     114     
                     115     IF IDATALEN <> 0
0000 78FF            116             MOV     R0,#IDATALEN - 1
0002 E4              117             CLR     A
0003                 118       IDATALOOP:
0003 F6              119             MOV     @R0,A
0004 D8FD            120             DJNZ    R0,IDATALOOP
                     121     ENDIF
                     122     
                     123     IF XDATALEN <> 0
0006 900000          124             MOV     DPTR,#XDATASTART
A51 MACRO ASSEMBLER  STARTUP                                                              09/20/2005 21:47:35 PAGE     3

0009 7F00            125             MOV     R7,#LOW (XDATALEN)
                     126       IF (LOW (XDATALEN)) <> 0
                                     MOV     R6,#(HIGH XDATALEN) +1
                               ELSE
000B 7E08            129             MOV     R6,#HIGH (XDATALEN)
                     130       ENDIF
000D E4              131             CLR     A
000E                 132       XDATALOOP:
000E F0              133             MOVX    @DPTR,A
000F A3              134             INC     DPTR
0010 DFFC            135             DJNZ    R7,XDATALOOP
0012 DEFA            136             DJNZ    R6,XDATALOOP
                     137     ENDIF
                     138     
                     139     
                     140     IF PDATALEN <> 0
0014 7800            141             MOV     R0,#PDATASTART
0016 7F00            142             MOV     R7,#LOW (PDATALEN)
0018 E4              143             CLR     A
0019                 144     PDATALOOP:
0019 F2              145             MOVX    @R0,A
001A 08              146             INC     R0
001B DFFC            147             DJNZ    R7,PDATALOOP
                     148     ENDIF
                     149     
                     150     IF IBPSTACK <> 0
                             EXTRN DATA (?C_IBP)
                             
                                     MOV     ?C_IBP,#LOW IBPSTACKTOP
                             ENDIF
                     155     
                     156     IF XBPSTACK <> 0
                             EXTRN DATA (?C_XBP)
                             
                                     MOV     ?C_XBP,#HIGH XBPSTACKTOP
                                     MOV     ?C_XBP+1,#LOW XBPSTACKTOP
                             ENDIF
                     162     
                     163     IF PBPSTACK <> 0
                             EXTRN DATA (?C_PBP)
                                     MOV     ?C_PBP,#LOW PBPSTACKTOP
                             ENDIF
                     167     
001D 758100   F      168             MOV     SP,#?STACK-1
0020 020000   F      169             LJMP    ?C_START
                     170     
                     171             END
A51 MACRO ASSEMBLER  STARTUP                                                              09/20/2005 21:47:35 PAGE     4

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


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

?C_C51STARTUP. . .  C SEG    0023H       REL=UNIT
?C_START . . . . .  C ADDR   -----       EXT
?C_STARTUP . . . .  C ADDR   0000H   A   
?STACK . . . . . .  I SEG    0001H       REL=UNIT
IBPSTACK . . . . .  N NUMB   0000H   A   
IBPSTACKTOP. . . .  N NUMB   0100H   A   
IDATALEN . . . . .  N NUMB   0100H   A   
IDATALOOP. . . . .  C ADDR   0003H   R   SEG=?C_C51STARTUP
PBPSTACK . . . . .  N NUMB   0000H   A   
PBPSTACKTOP. . . .  N NUMB   0000H   A   
PDATALEN . . . . .  N NUMB   0100H   A   
PDATALOOP. . . . .  C ADDR   0019H   R   SEG=?C_C51STARTUP
PDATASTART . . . .  N NUMB   0000H   A   
SP . . . . . . . .  D ADDR   0081H   A   
STARTUP1 . . . . .  C ADDR   0000H   R   SEG=?C_C51STARTUP
XBPSTACK . . . . .  N NUMB   0000H   A   
XBPSTACKTOP. . . .  N NUMB   0000H   A   
XDATALEN . . . . .  N NUMB   0800H   A   
XDATALOOP. . . . .  C ADDR   000EH   R   SEG=?C_C51STARTUP
XDATASTART . . . .  N NUMB   0000H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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