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

📄 startup.lst

📁 本人开发的测量水的浊度的仪器
💻 LST
字号:
A51 MACRO ASSEMBLER  STARTUP                                                              04/09/2005 13:15:57 PAGE     1


MACRO ASSEMBLER A51 V7.07
OBJECT MODULE PLACED IN STARTUP.OBJ
ASSEMBLER INVOKED BY: d:\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                                                              04/09/2005 13:15:57 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
  0080                78     P0      EQU     80H
  0090                79     P1      EQU     90H
  00A0                80     P2      EQU     0A0H
  00B0                81     P3      EQU     0B0H
                      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:
0000 C280            101                     CLR     P0
0002 C290            102                     CLR     P1
0004 C2A0            103                     CLR     P2
0006 C2B0            104                     CLR     P3
                     105     
                     106     IF IDATALEN <> 0
0008 787F            107                     MOV     R0,#IDATALEN - 1
000A E4              108                     CLR     A
000B F6              109     IDATALOOP:      MOV     @R0,A
000C D8FD            110                     DJNZ    R0,IDATALOOP
                     111     ENDIF
                     112     
                     113     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
A51 MACRO ASSEMBLER  STARTUP                                                              04/09/2005 13:15:57 PAGE     3

                                             DJNZ    R6,XDATALOOP
                             ENDIF
                     127     
                     128     IF PPAGEENABLE <> 0
                                             MOV     PPAGE_SFR,#PPAGE
                             ENDIF
                     131     
                     132     IF PDATALEN <> 0
                                             MOV     R0,#LOW (PDATASTART)
                                             MOV     R7,#LOW (PDATALEN)
                                             CLR     A
                             PDATALOOP:      MOVX    @R0,A
                                             INC     R0
                                             DJNZ    R7,PDATALOOP
                             ENDIF
                     140     
                     141     IF IBPSTACK <> 0
                             EXTRN DATA (?C_IBP)
                             
                                             MOV     ?C_IBP,#LOW IBPSTACKTOP
                             ENDIF
                     146     
                     147     IF XBPSTACK <> 0
                             EXTRN DATA (?C_XBP)
                             
                                             MOV     ?C_XBP,#HIGH XBPSTACKTOP
                                             MOV     ?C_XBP+1,#LOW XBPSTACKTOP
                             ENDIF
                     153     
                     154     IF PBPSTACK <> 0
                             EXTRN DATA (?C_PBP)
                                             MOV     ?C_PBP,#LOW PBPSTACKTOP
                             ENDIF
                     158     
000E 758100   F      159                     MOV     SP,#?STACK-1
                     160     ; This code is required if you use L51_BANK.A51 with Banking Mode 4
                     161     ; EXTRN CODE (?B_SWITCH0)
                     162     ;               CALL    ?B_SWITCH0      ; init bank mechanism to code bank 0
0011 020000   F      163                     LJMP    ?C_START
                     164     
                     165                     END
A51 MACRO ASSEMBLER  STARTUP                                                              04/09/2005 13:15:57 PAGE     4

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


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

?C_C51STARTUP. . .  C SEG    0014H       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   000BH   R   SEG=?C_C51STARTUP
P0 . . . . . . . .  N NUMB   0080H   A   
P1 . . . . . . . .  N NUMB   0090H   A   
P2 . . . . . . . .  N NUMB   00A0H   A   
P3 . . . . . . . .  N NUMB   00B0H   A   
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   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 + -