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

📄 init_tny.lst

📁 本程序是基于T6963C的程序 好用 欢迎下载
💻 LST
字号:
A51 MACRO ASSEMBLER  INIT_TNY                                                             04/22/2006 14:39:28 PAGE     1


MACRO ASSEMBLER A51 V6.23
OBJECT MODULE PLACED IN .\INIT_TNY.obj
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE C:\Keil\C51\LIB\INIT_TNY.A51 SET(LARGE) DEBUG PRINT(.\INIT_TNY.lst) OBJECT
                      (.\INIT_TNY.obj) 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     ;  INIT_TNY.A51:  This code is executed, if the application program contains
                       7     ;  initialized variables at file level.  This file is a reduced version of the
                       8     ;  INIT.A51 file and can be used for projects that do not contain XDATA memory
                       9     ;  initilizations.
                      10     ;
                      11     ;  If you are using uVision2, just add the file as last file to your project.
                      12     ;  *** IMPORTANT NOTE ***:  this file needs to be the last file of the linker 
                      13     ;  input list.  If you are using uVision2 this file should be therefore the 
                      14     ;  last file in your project tree.can
                      15     ;
                      16     ;
                      17     ;  To translate this file manually use Ax51 with the following invocation:
                      18     ;
                      19     ;     Ax51 INIT_TNY.A51
                      20     ;
                      21     ;  To link the modified INIT.OBJ file to your application use the following
                      22     ;  BL51/LX51 invocation:
                      23     ;
                      24     ;     Lx51 <your object file list>, INIT_TNY.OBJ <controls>
                      25     ;
                      26     ;------------------------------------------------------------------------------
                      27     ;
                      28     ;  User-defined Watch-Dog Refresh.
                      29     ;
                      30     ;  If the C application contains many initialized variables uses a watchdog
                      31     ;  it might be possible that the user has to include a watchdog refresh into
                      32     ;  the initialization process. The watchdog refresh routine can be included
                      33     ;  in the following MACRO and can alter all CPU registers except
                      34     ;  DPTR.
                      35     ;
                      36     WATCHDOG        MACRO
                      37                                     ; Include any Watchdog refresh code here
                      38                     ENDM
                      39     ;------------------------------------------------------------------------------
                      40     
                      41     ; Standard SFR Symbols
  00E0                42     ACC     DATA    0E0H
  0082                43     DPL     DATA    82H
  0083                44     DPH     DATA    83H
                      45     
                      46                     NAME    ?C_INIT
                      47     
                      48     
                      49     ?C_C51STARTUP   SEGMENT   CODE
                      50     ?C_INITSEG      SEGMENT   CODE          ; Segment with Initializing Data
                      51     
                      52     
                      53                     EXTRN CODE (MAIN)
                      54                     PUBLIC  ?C_START
                      55     
----                  56                     RSEG    ?C_C51STARTUP
0000 0100     F       57     INITEND:        AJMP    MAIN
A51 MACRO ASSEMBLER  INIT_TNY                                                             04/22/2006 14:39:28 PAGE     2

                      58     
0002                  59     IorPData:                               ; If CY=1 PData Values
0002 E4               60                     CLR     A
0003 93               61                     MOVC    A,@A+DPTR
0004 A3               62                     INC     DPTR
0005 F8               63                     MOV     R0,A            ; Start Address
0006 E4               64     IorPLoop:       CLR     A
0007 93               65                     MOVC    A,@A+DPTR
0008 A3               66                     INC     DPTR
0009 F6               67                     MOV     @R0,A
000A 08               68     Common:         INC     R0
000B DFF9             69                     DJNZ    R7,IorPLoop
000D 8029             70                     SJMP    Loop
                      71     
000F E4               72     Bits:           CLR     A
0010 93               73                     MOVC    A,@A+DPTR
0011 A3               74                     INC     DPTR
0012 F8               75                     MOV     R0,A
0013 5407             76                     ANL     A,#007H
0015 240C             77                     ADD     A,#Table-LoadTab
0017 C8               78                     XCH     A,R0
0018 C3               79                     CLR     C       
0019 33               80                     RLC     A               ; Bit Condition to Carry
001A C4               81                     SWAP    A
001B 540F             82                     ANL     A,#00FH
001D 4420             83                     ORL     A,#20H          ; Bit Address
001F C8               84                     XCH     A,R0            ; convert to Byte Addressen
0020 83               85                     MOVC    A,@A+PC
0021 4004             86     LoadTab:        JC      Setzen
0023 F4               87                     CPL     A
0024 56               88                     ANL     A,@R0
0025 8001             89                     SJMP    BitReady
0027 46               90     Setzen:         ORL     A,@R0
0028 F6               91     BitReady:       MOV     @R0,A
0029 DFE4             92                     DJNZ    R7,Bits
002B 800B             93                     SJMP    Loop
                      94     
002D 01               95     Table:          DB      00000001B
002E 02               96                     DB      00000010B
002F 04               97                     DB      00000100B
0030 08               98                     DB      00001000B
0031 10               99                     DB      00010000B
0032 20              100                     DB      00100000B
0033 40              101                     DB      01000000B
0034 80              102                     DB      10000000B
                     103                     
                     104     
0035                 105     ?C_START:       
0035 900000   F      106                     MOV     DPTR,#?C_INITSEG
0038 E4              107     Loop:           CLR     A
0039 7E01            108                     MOV     R6,#1
003B 93              109                     MOVC    A,@A+DPTR
003C 60C2            110                     JZ      INITEND
003E A3              111                     INC     DPTR
003F FF              112                     MOV     R7,A
0040 543F            113                     ANL     A,#3FH
0042 30E509          114                     JNB     ACC.5,NOBIG
0045 541F            115                     ANL     A,#01FH
0047 FE              116                     MOV     R6,A
0048 E4              117                     CLR     A
0049 93              118                     MOVC    A,@A+DPTR
004A A3              119                     INC     DPTR
004B 6001            120                     JZ      NOBIG
004D 0E              121                     INC     R6
004E CF              122     NOBIG:          XCH     A,R7
004F 54C0            123                     ANL     A,#0C0H         ; Typ is in Bit 6 and Bit 7
A51 MACRO ASSEMBLER  INIT_TNY                                                             04/22/2006 14:39:28 PAGE     3

0051 25E0            124                     ADD     A,ACC
0053 60AD            125                     JZ      IorPData
0055 40B8            126                     JC      Bits
0057 80FE            127                     SJMP    $
                     128     
----                 129                     RSEG    ?C_INITSEG
0000 00              130                     DB      0
                     131     
                     132     ;-------------------------------------------------------------------------
                     133     ; STRUCTURE OF THE INITIALIZATION INFORMATION
                     134     ; -------------------------------------------
                     135     ; This section describes the initialization data generated by C51 for
                     136     ; explicit variable initializations (in segment ?C_INITSEC).
                     137     ;
                     138     ; Explicit variable initilizations at C source level are stored by C51 in
                     139     ; the segment ?C_INITSEC.  All partial segments are combined at linker level
                     140     ; to one segment.  The segment end value DB 0 is taken from this library module
                     141     ; INIT.A51.
                     142     ;
                     143     ; Structure of the ?C_INITSEC information:
                     144     ;     <Info> (see below) [BYTE]                      ----+  repeated
                     145     ;     <additional info>  [BYTES depend on Info]      ----+  repeated
                     146     ;     0x00               [BYTE]   <end of list mark>
                     147     ;
                     148     ;  <Info> has the following format:
                     149     ;
                     150     ;  Bit      7  6  5  4  3  2  1  0
                     151     ;  <Info>   T  T  B  L  L  L  L  L    T=Type  B=BIGBIT  L=LENGTH
                     152     ;
                     153     ;  If BIGBIT is set, another LENGTH BYTE FOLLOWS.  The LENGHT
                     154     ;  info of the first byte is then the HIGH part.
                     155     ;
                     156     ;  Typ is one of the following:
                     157     ;  0  := IDATA init values;  the following bytes follow:
                     158     ;        -  1 byte address
                     159     ;        -  init data bytes according LENGTH specification
                     160     ;
                     161     ;  1  := XDATA init values;  the following bytes follow:
                     162     ;        -  2 byte address (high byte first)
                     163     ;        -  init data bytes according LENGTH specification
                     164     ;
                     165     ;  2  := PDATA init values;  the following bytes follow:
                     166     ;        -  1 byte address
                     167     ;        -  init data bytes according LENGTH specification
                     168     ;
                     169     ;  3, BIGBIT=0  := BIT init values; the followign bytes follow:
                     170     ;        -  1 byte for each bit according LENGTH specification
                     171     ;           this byte has the following format:
                     172     ;
                     173     ;           Bit    7  6  5  4  3  2  1  0
                     174     ;                  I  B  B  B  B  B  B  B   I := state of the bit
                     175     ;                                           B := bit address
                     176     ;
                     177     ;  3, BIGBIT=1  := HDATA init values;   the following bytes follow:
                     178     ;        -  another LENGTH byte (since BIGBIT is always 1)
                     179     ;        -  3 byte address  (MSB first)
                     180     ;        -  data bytes according LENGTH specification
                     181     ;
                     182     ;----------------------------------------------------------------------
                     183     
                     184                     END
                             
A51 MACRO ASSEMBLER  INIT_TNY                                                             04/22/2006 14:39:28 PAGE     4

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


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

?C_C51STARTUP. . .  C SEG    0059H       REL=UNIT
?C_INIT. . . . . .  N NUMB   -----       
?C_INITSEG . . . .  C SEG    0001H       REL=UNIT
?C_START . . . . .  C ADDR   0035H   R   SEG=?C_C51STARTUP
ACC. . . . . . . .  D ADDR   00E0H   A   
BITREADY . . . . .  C ADDR   0028H   R   SEG=?C_C51STARTUP
BITS . . . . . . .  C ADDR   000FH   R   SEG=?C_C51STARTUP
COMMON . . . . . .  C ADDR   000AH   R   SEG=?C_C51STARTUP
DPH. . . . . . . .  D ADDR   0083H   A   
DPL. . . . . . . .  D ADDR   0082H   A   
INITEND. . . . . .  C ADDR   0000H   R   SEG=?C_C51STARTUP
IORPDATA . . . . .  C ADDR   0002H   R   SEG=?C_C51STARTUP
IORPLOOP . . . . .  C ADDR   0006H   R   SEG=?C_C51STARTUP
LOADTAB. . . . . .  C ADDR   0021H   R   SEG=?C_C51STARTUP
LOOP . . . . . . .  C ADDR   0038H   R   SEG=?C_C51STARTUP
MAIN . . . . . . .  C ADDR   -----       EXT
NOBIG. . . . . . .  C ADDR   004EH   R   SEG=?C_C51STARTUP
SETZEN . . . . . .  C ADDR   0027H   R   SEG=?C_C51STARTUP
TABLE. . . . . . .  C ADDR   002DH   R   SEG=?C_C51STARTUP


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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