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

📄 startup.lst

📁 c8051f020实现4个 产UART 口
💻 LST
字号:
A51 MACRO ASSEMBLER  STARTUP                                                              06/10/2007 23:11:21 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN .\out\STARTUP.obj
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE STARTUP.A51 INCDIR(C:\KEIL\C51\LIB\;D:\TEST_C020\MC_55_C\) SET(LARGE) DEBU
                      G OBJECT(.\out\STARTUP.obj) EP

LOC  OBJ            LINE     SOURCE

                       1     $nomod51 
                       2     
                       3     ;------------------------------------------------------------------------------
                       4     ;  This file is part of the C51 Compiler package
                       5     ;  Copyright (c) 1988-2002 Keil Elektronik GmbH and Keil Software, Inc.
                       6     ;------------------------------------------------------------------------------
                       7     ;  STARTUP.A51:  This code is executed after processor reset.
                       8     ;
                       9     ;  To translate this file use A51 with the following invocation:
                      10     ;
                      11     ;     A51 STARTUP.A51
                      12     ;
                      13     ;  To link the modified STARTUP.OBJ file to your application use the following
                      14     ;  BL51 invocation:
                      15     ;
                      16     ;     BL51 <your object file list>, STARTUP.OBJ <controls>
                      17     ;
                      18     ;------------------------------------------------------------------------------
                      19     ;
                      20     ;  User-defined Power-On Initialization of Memory
                      21     ;
                      22     ;  With the following EQU statements the initialization of memory
                      23     ;  at processor reset can be defined:
                      24     ;
                      25     ;               ; the absolute start-address of IDATA memory is always 0
  0100                26     IDATALEN        EQU     100H    ; the length of IDATA memory in bytes.
                      27     ;
  0000                28     XDATASTART      EQU     0H      ; the absolute start-address of XDATA memory
  0000                29     XDATALEN        EQU     0H      ; the length of XDATA memory in bytes.
                      30     ;
  0000                31     PDATASTART      EQU     0H      ; the absolute start-address of PDATA memory
  0000                32     PDATALEN        EQU     0H      ; the length of PDATA memory in bytes.
                      33     ;
                      34     ;  Notes:  The IDATA space overlaps physically the DATA and BIT areas of the
                      35     ;          8051 CPU. At minimum the memory space occupied from the C51 
                      36     ;          run-time routines must be set to zero.
                      37     ;------------------------------------------------------------------------------
                      38     ;
                      39     ;  Reentrant Stack Initilization
                      40     ;
                      41     ;  The following EQU statements define the stack pointer for reentrant
                      42     ;  functions and initialized it:
                      43     ;
                      44     ;  Stack Space for reentrant functions in the SMALL model.
  0000                45     IBPSTACK        EQU     0       ; set to 1 if small reentrant is used.
  0100                46     IBPSTACKTOP     EQU     0FFH+1  ; set top of stack to highest location+1.
                      47     ;
                      48     ;  Stack Space for reentrant functions in the LARGE model.      
  0001                49     XBPSTACK        EQU     1       ; set to 1 if large reentrant is used.
  0000                50     XBPSTACKTOP     EQU     0FFFFH+1; set top of stack to highest location+1.
                      51     ;
                      52     ;  Stack Space for reentrant functions in the COMPACT model.    
  0000                53     PBPSTACK        EQU     0       ; set to 1 if compact reentrant is used.
  0000                54     PBPSTACKTOP     EQU     0FFFFH+1; set top of stack to highest location+1.
                      55     ;
                      56     ;------------------------------------------------------------------------------
                      57     ;
A51 MACRO ASSEMBLER  STARTUP                                                              06/10/2007 23:11:21 PAGE     2

                      58     ;  Page Definition for Using the Compact Model with 64 KByte xdata RAM
                      59     ;
                      60     ;  The following EQU statements define the xdata page used for pdata
                      61     ;  variables. The EQU PPAGE must conform with the PPAGE control used
                      62     ;  in the linker invocation.
                      63     ;
  0000                64     PPAGEENABLE     EQU     0       ; set to 1 if pdata object are used.
                      65     ;
  0000                66     PPAGE           EQU     0       ; define PPAGE number.
                      67     ;
  00A0                68     PPAGE_SFR       DATA    0A0H    ; SFR that supplies uppermost address byte
                      69     ;               (most 8051 variants use P2 as uppermost address byte)
                      70     ;
                      71     ;------------------------------------------------------------------------------
                      72     
                      73     ; Standard SFR Symbols 
  00E0                74     ACC     DATA    0E0H
  00F0                75     B       DATA    0F0H
  0081                76     SP      DATA    81H
  0082                77     DPL     DATA    82H
  0083                78     DPH     DATA    83H
                      79     
  00F6                80     CHPENR  DATA    0F6H
  00BF                81     CHPCON  DATA    0BFH
                      82     
                      83                     NAME    ?C_STARTUP
                      84     
                      85     
                      86     ?C_C51STARTUP   SEGMENT   CODE
                      87     ?STACK          SEGMENT   IDATA
                      88     
----                  89                     RSEG    ?STACK
0000                  90                     DS      1
                      91     
                      92                     EXTRN CODE (?C_START)
                      93                     PUBLIC  ?C_STARTUP
                      94     
----                  95                     CSEG    AT      0
0000 020000   F       96     ?C_STARTUP:     LJMP    STARTUP1
                      97     
----                  98                     RSEG    ?C_C51STARTUP
                      99     
0000                 100     STARTUP1:
                     101     IF IDATALEN <> 0
0000 78FF            102                     MOV     R0,#IDATALEN - 1
0002 E4              103                     CLR     A
0003 F6              104     IDATALOOP:      MOV     @R0,A
0004 D8FD            105                     DJNZ    R0,IDATALOOP
                     106     ENDIF
                     107     
                     108     IF XDATALEN <> 0
                                             MOV     DPTR,#XDATASTART
                                             MOV     R7,#LOW (XDATALEN)
                               IF (LOW (XDATALEN)) <> 0
                                             MOV     R6,#(HIGH (XDATALEN)) +1
                               ELSE
                                             MOV     R6,#HIGH (XDATALEN)
                               ENDIF
                                             CLR     A
                             XDATALOOP:      MOVX    @DPTR,A
                                             INC     DPTR
                                             DJNZ    R7,XDATALOOP
                                             DJNZ    R6,XDATALOOP
                             ENDIF
                     122     
                     123     IF PPAGEENABLE <> 0
A51 MACRO ASSEMBLER  STARTUP                                                              06/10/2007 23:11:21 PAGE     3

                                             MOV     PPAGE_SFR,#PPAGE
                             ENDIF
                     126     
                     127     IF PDATALEN <> 0
                                             MOV     R0,#LOW (PDATASTART)
                                             MOV     R7,#LOW (PDATALEN)
                                             CLR     A
                             PDATALOOP:      MOVX    @R0,A
                                             INC     R0
                                             DJNZ    R7,PDATALOOP
                             ENDIF
                     135     
                     136     IF IBPSTACK <> 0
                             EXTRN DATA (?C_IBP)
                             
                                             MOV     ?C_IBP,#LOW IBPSTACKTOP
                             ENDIF
                     141     
                     142     IF XBPSTACK <> 0
                     143     EXTRN DATA (?C_XBP)
                     144     
0006 750000   F      145                     MOV     ?C_XBP,#HIGH XBPSTACKTOP
0009 750000   F      146                     MOV     ?C_XBP+1,#LOW XBPSTACKTOP
                     147     ENDIF
                     148     
                     149     IF PBPSTACK <> 0
                             EXTRN DATA (?C_PBP)
                                             MOV     ?C_PBP,#LOW PBPSTACKTOP
                             ENDIF
                     153     
000C 758100   F      154                     MOV     SP,#?STACK-1
                     155     ; This code is required if you use L51_BANK.A51 with Banking Mode 4
                     156     ; EXTRN CODE (?B_SWITCH0)
                     157     ;               CALL    ?B_SWITCH0      ; init bank mechanism to code bank 0
000F 020000   F      158                     LJMP    ?C_START
                     159     
                     160                     END
A51 MACRO ASSEMBLER  STARTUP                                                              06/10/2007 23:11:21 PAGE     4

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


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

?C_C51STARTUP. . .  C SEG    0012H       REL=UNIT
?C_START . . . . .  C ADDR   -----       EXT
?C_STARTUP . . . .  C ADDR   0000H   A   
?C_XBP . . . . . .  D ADDR   -----       EXT
?STACK . . . . . .  I SEG    0001H       REL=UNIT
ACC. . . . . . . .  D ADDR   00E0H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
CHPCON . . . . . .  D ADDR   00BFH   A   
CHPENR . . . . . .  D ADDR   00F6H   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   0003H   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   
SP . . . . . . . .  D ADDR   0081H   A   
STARTUP1 . . . . .  C ADDR   0000H   R   SEG=?C_C51STARTUP
XBPSTACK . . . . .  N NUMB   0001H   A   
XBPSTACKTOP. . . .  N NUMB   0000H   A   
XDATALEN . . . . .  N NUMB   0000H   A   
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 + -