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

📄 init.lst

📁 用89c54单片机开发的32键扫描键盘程序。
💻 LST
字号:
A51 MACRO ASSEMBLER  INIT                                                                 08/29/2001 13:35:59 PAGE     1


MACRO ASSEMBLER A51 V7.10
OBJECT MODULE PLACED IN INIT.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE INIT.ASM SET(LARGE) DEBUG EP

LOC  OBJ            LINE     SOURCE

                       1     ;------------------------------------------------------------------------------
                       2     ;  This file is part of the C51 Compiler package
                       3     ;  Copyright (c) 1988-1999 Keil Elektronik GmbH and Keil Software, Inc.
                       4     ;------------------------------------------------------------------------------
                       5     ;  INIT.A51:  This code is executed, if the application program contains
                       6     ;             initialized variables at file level.
                       7     ;
                       8     ;  To translate this file use A51 with the following invocation:
                       9     ;
                      10     ;     A51 INIT.A51
                      11     ;
                      12     ;  To link the modified INIT.OBJ file to your application use the following
                      13     ;  BL51 invocation:
                      14     ;
                      15     ;     BL51 <your object file list>, INIT.OBJ <controls>
                      16     ;
                      17     ;------------------------------------------------------------------------------
                      18     ;
                      19     ;  User-defined Watch-Dog Refresh.
                      20     ;
                      21     ;  If the C application contains many initialized variables uses a watchdog
                      22     ;  it might be possible that the user has to include a watchdog refresh into
                      23     ;  the initialization process. The watchdog refresh routine can be included
                      24     ;  in the following MACRO and can alter all CPU registers except
                      25     ;  DPTR.
                      26     ;
                      27     WATCHDOG        MACRO
                      28                                     ; Include any Watchdog refresh code here
                      29                     ENDM
                      30     ;------------------------------------------------------------------------------
                      31     
                      32                     NAME    ?C_INIT
                      33     
                      34     
                      35     ?C_C51STARTUP   SEGMENT   CODE
                      36     ?C_INITSEG      SEGMENT   CODE          ; Segment with Initializing Data
                      37     
                      38     
                      39                     EXTRN CODE (MAIN)
                      40                     PUBLIC  ?C_START
                      41     
----                  42                     RSEG    ?C_C51STARTUP
0000 020000   F       43     INITEND:        LJMP    MAIN
                      44     
0003                  45     IorPData:                               ; If CY=1 PData Values
0003 E4               46                     CLR     A
0004 93               47                     MOVC    A,@A+DPTR
0005 A3               48                     INC     DPTR
0006 F8               49                     MOV     R0,A            ; Start Address
0007 E4               50     IorPLoop:       CLR     A
0008 93               51                     MOVC    A,@A+DPTR
0009 A3               52                     INC     DPTR
000A 4003             53                     JC      Pdata
000C F6               54                     MOV     @R0,A
000D 8001             55                     SJMP    Common
000F F2               56     PData:          MOVX    @R0,A
0010 08               57     Common:         INC     R0
0011 DFF4             58                     DJNZ    R7,IorPLoop
A51 MACRO ASSEMBLER  INIT                                                                 08/29/2001 13:35:59 PAGE     2

0013 8029             59                     SJMP    Loop
                      60     
0015 E4               61     Bits:           CLR     A
0016 93               62                     MOVC    A,@A+DPTR
0017 A3               63                     INC     DPTR
0018 F8               64                     MOV     R0,A
0019 5407             65                     ANL     A,#007H
001B 240C             66                     ADD     A,#Table-LoadTab
001D C8               67                     XCH     A,R0
001E C3               68                     CLR     C
001F 33               69                     RLC     A               ; Bit Condition to Carry
0020 C4               70                     SWAP    A
0021 540F             71                     ANL     A,#00FH
0023 4420             72                     ORL     A,#20H          ; Bit Address
0025 C8               73                     XCH     A,R0            ; convert to Byte Addressen
0026 83               74                     MOVC    A,@A+PC
0027 4004             75     LoadTab:        JC      Setzen
0029 F4               76                     CPL     A
002A 56               77                     ANL     A,@R0
002B 8001             78                     SJMP    BitReady
002D 46               79     Setzen:         ORL     A,@R0
002E F6               80     BitReady:       MOV     @R0,A
002F DFE4             81                     DJNZ    R7,Bits
0031 800B             82                     SJMP    Loop
                      83     
0033 01               84     Table:          DB      00000001B
0034 02               85                     DB      00000010B
0035 04               86                     DB      00000100B
0036 08               87                     DB      00001000B
0037 10               88                     DB      00010000B
0038 20               89                     DB      00100000B
0039 40               90                     DB      01000000B
003A 80               91                     DB      10000000B
                      92     
                      93     
003B                  94     ?C_START:
003B 900000   F       95                     MOV     DPTR,#?C_INITSEG
003E                  96     LOOP:
                      97                     WATCHDOG
003E E4               99                     CLR     A
003F 7E01            100                     MOV     R6,#1
0041 93              101                     MOVC    A,@A+DPTR
0042 60BC            102                     JZ      INITEND
0044 A3              103                     INC     DPTR
0045 FF              104                     MOV     R7,A
0046 543F            105                     ANL     A,#3FH
0048 30E509          106                     JNB     ACC.5,NOBIG
004B 541F            107                     ANL     A,#01FH
004D FE              108                     MOV     R6,A
004E E4              109                     CLR     A
004F 93              110                     MOVC    A,@A+DPTR
0050 A3              111                     INC     DPTR
0051 6001            112                     JZ      NOBIG
0053 0E              113                     INC     R6
0054 CF              114     NOBIG:          XCH     A,R7
0055 54C0            115                     ANL     A,#0C0H         ; Typ is in Bit 6 and Bit 7
0057 25E0            116                     ADD     A,ACC
0059 60A8            117                     JZ      IorPDATA
005B 40B8            118                     JC      Bits
                     119     
005D E4              120     XdataMem:       CLR     A
005E 93              121                     MOVC    A,@A+DPTR
005F A3              122                     INC     DPTR
0060 FA              123                     MOV     R2,A            ; High
0061 E4              124                     CLR     A
0062 93              125                     MOVC    A,@A+DPTR
A51 MACRO ASSEMBLER  INIT                                                                 08/29/2001 13:35:59 PAGE     3

0063 A3              126                     INC     DPTR
0064 F8              127                     MOV     R0,A            ; LOW
0065 E4              128     XLoop:          CLR     A
0066 93              129                     MOVC    A,@A+DPTR
0067 A3              130                     INC     DPTR
0068 C8              131                     XCH     A,R0
0069 C582            132                     XCH     A,DPL
006B C8              133                     XCH     A,R0
006C CA              134                     XCH     A,R2
006D C583            135                     XCH     A,DPH
006F CA              136                     XCH     A,R2
0070 F0              137                     MOVX    @DPTR,A
0071 A3              138                     INC     DPTR
0072 C8              139                     XCH     A,R0
0073 C582            140                     XCH     A,DPL
0075 C8              141                     XCH     A,R0
0076 CA              142                     XCH     A,R2
0077 C583            143                     XCH     A,DPH
0079 CA              144                     XCH     A,R2
007A DFE9            145                     DJNZ    R7,XLoop
007C DEE7            146                     DJNZ    R6,XLoop
007E 80BE            147                     SJMP    Loop
                     148     
----                 149                     RSEG    ?C_INITSEG
0000 00              150                     DB      0
                     151     
                     152                     END
                             
A51 MACRO ASSEMBLER  INIT                                                                 08/29/2001 13:35:59 PAGE     4

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


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

?C_C51STARTUP. . .  C SEG    0080H       REL=UNIT
?C_INIT. . . . . .  N NUMB   -----       
?C_INITSEG . . . .  C SEG    0001H       REL=UNIT
?C_START . . . . .  C ADDR   003BH   R   SEG=?C_C51STARTUP
ACC. . . . . . . .  D ADDR   00E0H   A   
BITREADY . . . . .  C ADDR   002EH   R   SEG=?C_C51STARTUP
BITS . . . . . . .  C ADDR   0015H   R   SEG=?C_C51STARTUP
COMMON . . . . . .  C ADDR   0010H   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   0003H   R   SEG=?C_C51STARTUP
IORPLOOP . . . . .  C ADDR   0007H   R   SEG=?C_C51STARTUP
LOADTAB. . . . . .  C ADDR   0027H   R   SEG=?C_C51STARTUP
LOOP . . . . . . .  C ADDR   003EH   R   SEG=?C_C51STARTUP
MAIN . . . . . . .  C ADDR   -----       EXT
NOBIG. . . . . . .  C ADDR   0054H   R   SEG=?C_C51STARTUP
PDATA. . . . . . .  C ADDR   000FH   R   SEG=?C_C51STARTUP
SETZEN . . . . . .  C ADDR   002DH   R   SEG=?C_C51STARTUP
TABLE. . . . . . .  C ADDR   0033H   R   SEG=?C_C51STARTUP
XDATAMEM . . . . .  C ADDR   005DH   R   SEG=?C_C51STARTUP
XLOOP. . . . . . .  C ADDR   0065H   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 + -