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

📄 startup.lst

📁 C8051F350单片机的24位AD程序
💻 LST
字号:
A51 MACRO ASSEMBLER  STARTUP                                                              12/22/2006 14:56:28 PAGE     1


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

LOC  OBJ            LINE     SOURCE

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

                      59     ;  The following EQU statements define the xdata page used for pdata
                      60     ;  variables. The EQU PPAGE must conform with the PPAGE control used
                      61     ;  in the linker invocation.
                      62     ;
  0000                63     PPAGEENABLE     EQU     0       ; set to 1 if pdata object are used.
                      64     ;
  0000                65     PPAGE           EQU     0       ; define PPAGE number.
                      66     ;
  00A0                67     PPAGE_SFR       DATA    0A0H    ; SFR that supplies uppermost address byte
                      68     ;               (most 8051 variants use P2 as uppermost address byte)
                      69     ;
                      70     ;------------------------------------------------------------------------------
                      71     
                      72     ; Standard SFR Symbols 
  00E0                73     ACC     DATA    0E0H
  00F0                74     B       DATA    0F0H
  0081                75     SP      DATA    81H
  0082                76     DPL     DATA    82H
  0083                77     DPH     DATA    83H
  00D9                78     PCA0MD  DATA    0D9H
                      79     
                      80                     NAME    ?C_STARTUP
                      81     
                      82     
                      83     ?C_C51STARTUP   SEGMENT   CODE
                      84     ?STACK          SEGMENT   IDATA
                      85     
----                  86                     RSEG    ?STACK
0000                  87                     DS      1
                      88     
                      89                     EXTRN CODE (?C_START)
                      90                     PUBLIC  ?C_STARTUP
                      91     
----                  92                     CSEG    AT      0
0000 020000   F       93     ?C_STARTUP:     LJMP    STARTUP1
                      94     
----                  95                     RSEG    ?C_C51STARTUP
                      96     
0000                  97     STARTUP1:
0000 00               98                                     NOP
0001 00               99                                     NOP
0002 00              100                                     NOP
0003 00              101                                     NOP
0004 00              102                                     NOP
0005 00              103                                     NOP
0006 00              104                                     NOP
0007 00              105                                     NOP
0008 00              106                                     NOP
0009 00              107                                     NOP
000A 00              108                                     NOP
000B 00              109                                     NOP
000C 00              110                                     NOP
000D 00              111                                     NOP
000E 00              112                                     NOP
000F 00              113                                     NOP
0010 00              114                                     NOP
0011 00              115                                     NOP
0012 00              116                                     NOP
0013 00              117                                     NOP
0014 00              118                                     NOP
0015 00              119                                     NOP
0016 00              120                                     NOP
0017 00              121                                     NOP
0018 00              122                                     NOP
0019 00              123                                     NOP
001A 00              124                                     NOP
A51 MACRO ASSEMBLER  STARTUP                                                              12/22/2006 14:56:28 PAGE     3

001B 00              125                                     NOP
001C 00              126                                     NOP
001D 00              127                                     NOP
001E 00              128                                     NOP
001F 00              129                                     NOP
0020 00              130                                     NOP
0021 00              131                                     NOP
0022 00              132                                     NOP
0023 00              133                                     NOP
0024 00              134                                     NOP
0025 00              135                                     NOP
0026 00              136                                     NOP
0027 00              137                                     NOP
                     138                                     ;开机则禁止看门狗
0028 75D900          139                                     MOV     PCA0MD, #00H
                     140     
                     141     IF IDATALEN <> 0
002B 787F            142                     MOV     R0,#IDATALEN - 1
002D E4              143                     CLR     A
002E F6              144     IDATALOOP:      MOV     @R0,A
002F D8FD            145                     DJNZ    R0,IDATALOOP
                     146     ENDIF
                     147     
                     148     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
                     162     
                     163     IF PPAGEENABLE <> 0
                                             MOV     PPAGE_SFR,#PPAGE
                             ENDIF
                     166     
                     167     IF PDATALEN <> 0
                                             MOV     R0,#LOW (PDATASTART)
                                             MOV     R7,#LOW (PDATALEN)
                                             CLR     A
                             PDATALOOP:      MOVX    @R0,A
                                             INC     R0
                                             DJNZ    R7,PDATALOOP
                             ENDIF
                     175     
                     176     IF IBPSTACK <> 0
                             EXTRN DATA (?C_IBP)
                             
                                             MOV     ?C_IBP,#LOW IBPSTACKTOP
                             ENDIF
                     181     
                     182     IF XBPSTACK <> 0
                             EXTRN DATA (?C_XBP)
                             
                                             MOV     ?C_XBP,#HIGH XBPSTACKTOP
                                             MOV     ?C_XBP+1,#LOW XBPSTACKTOP
                             ENDIF
                     188     
                     189     IF PBPSTACK <> 0
                             EXTRN DATA (?C_PBP)
A51 MACRO ASSEMBLER  STARTUP                                                              12/22/2006 14:56:28 PAGE     4

                                             MOV     ?C_PBP,#LOW PBPSTACKTOP
                             ENDIF
                     193     
0031 758100   F      194                     MOV     SP,#?STACK-1
                     195     ; This code is required if you use L51_BANK.A51 with Banking Mode 4
                     196     ; EXTRN CODE (?B_SWITCH0)
                     197     ;               CALL    ?B_SWITCH0      ; init bank mechanism to code bank 0
0034 020000   F      198                     LJMP    ?C_START
                     199     
                     200                     END
A51 MACRO ASSEMBLER  STARTUP                                                              12/22/2006 14:56:28 PAGE     5

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


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

?C_C51STARTUP. . .  C SEG    0037H       REL=UNIT
?C_START . . . . .  C ADDR   -----       EXT
?C_STARTUP . . . .  C ADDR   0000H   A   
?STACK . . . . . .  I SEG    0001H       REL=UNIT
ACC. . . . . . . .  D ADDR   00E0H   A   
B. . . . . . . . .  D ADDR   00F0H   A   
DPH. . . . . . . .  D ADDR   0083H   A   
DPL. . . . . . . .  D ADDR   0082H   A   
IBPSTACK . . . . .  N NUMB   0000H   A   
IBPSTACKTOP. . . .  N NUMB   0100H   A   
IDATALEN . . . . .  N NUMB   0080H   A   
IDATALOOP. . . . .  C ADDR   002EH   R   SEG=?C_C51STARTUP
PBPSTACK . . . . .  N NUMB   0000H   A   
PBPSTACKTOP. . . .  N NUMB   0000H   A   
PCA0MD . . . . . .  D ADDR   00D9H   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   0000H   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 + -