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

📄 start_ad.lst

📁 实现单片机与键盘和液晶的人机交互
💻 LST
📖 第 1 页 / 共 2 页
字号:
                               __error__ "Extended Stack Mode requires enabled on-chip XDATA RAM"
                             ENDIF
                     144     
                     145     IF (EXSP = 1) AND (XSTACKSTART < 100H)
                               __error__ "Extended Stack must start in XRAM above address 100H"
                             ENDIF
                     148     
                     149                     NAME    ?C_STARTUP
                     150     
                     151     
                     152     ?C_C51STARTUP   SEGMENT   CODE
                     153     
                     154     IF (EXSP = 1)
                                             XSEG    AT XSTACKSTART
                                             DS      STACKSIZE       ; Stack Space 200H Bytes
                             ELSE
                     158     ?STACK          SEGMENT   IDATA
----                 159                     RSEG    ?STACK
0000                 160                     DS      1
                     161     ENDIF
                     162     
                     163                     EXTRN CODE (?C_START)
                     164                     PUBLIC  ?C_STARTUP
                     165     
----                 166                     CSEG    AT      0
0000 020000   F      167     ?C_STARTUP:     LJMP    STARTUP1
                     168     
----                 169                     RSEG    ?C_C51STARTUP
                     170     
0000                 171     STARTUP1:
                     172     
  0001               173     _CFG8xx EQU (EXSP SHL 7) OR (XRAMEN)
                     174     
                     175     IF _CFG8xx
0000 43AF01          176                     ORL     CFG8xx,#_CFG8xx    ; set extended memory modes
                     177     ENDIF
                     178     
                     179     IF IDATALEN <> 0
0003 787F            180                     MOV     R0,#IDATALEN - 1
0005 E4              181                     CLR     A
0006 F6              182     IDATALOOP:      MOV     @R0,A
0007 D8FD            183                     DJNZ    R0,IDATALOOP
                     184     ENDIF
                     185     
                     186     IF XDATALEN <> 0
                                             MOV     DPTR,#XDATASTART
                                             MOV     R7,#LOW (XDATALEN)
                               IF (LOW (XDATALEN)) <> 0
                                             MOV     R6,#(HIGH (XDATALEN)) +1
A51 MACRO ASSEMBLER  START_AD                                                             05/17/2008 16:44:41 PAGE     4

                               ELSE
                                             MOV     R6,#HIGH (XDATALEN)
                               ENDIF
                                             CLR     A
                             XDATALOOP:      MOVX    @DPTR,A
                                             INC     DPTR
                                             DJNZ    R7,XDATALOOP
                                             DJNZ    R6,XDATALOOP
                             ENDIF
                     200     
                     201     IF PPAGEENABLE <> 0
0009 75A000          202                     MOV     P2,#PPAGE
                     203     ENDIF
                     204     
                     205     IF PDATALEN <> 0
                                             MOV     R0,#PDATASTART
                                             MOV     R7,#LOW (PDATALEN)
                                             CLR     A
                             PDATALOOP:      MOVX    @R0,A
                                             INC     R0
                                             DJNZ    R7,PDATALOOP
                             ENDIF
                     213     
                     214     IF IBPSTACK <> 0
                             EXTRN DATA (?C_IBP)
                             
                                             MOV     ?C_IBP,#LOW IBPSTACKTOP
                             ENDIF
                     219     
                     220     IF XBPSTACK <> 0
                             EXTRN DATA (?C_XBP)
                             
                                             MOV     ?C_XBP,#HIGH XBPSTACKTOP
                                             MOV     ?C_XBP+1,#LOW XBPSTACKTOP
                             ENDIF
                     226     
                     227     IF PBPSTACK <> 0
                             EXTRN DATA (?C_PBP)
                                             MOV     ?C_PBP,#LOW PBPSTACKTOP
                             ENDIF
                     231     
                     232     IF EXSP = 1
                                             MOV     SP,#LOW (XSTACKSTART-1)
                                             MOV     SPH,#HIGH (XSTACKSTART-1)
                             ELSE
000C 758100   F      236                     MOV     SP,#?STACK-1
                     237     ENDIF
                     238     
                     239     ; This code is required if you use L51_BANK.A51 with Banking Mode 4
                     240     ;<h> Code Banking
                     241     ; <q> Select Bank 0 for L51_BANK.A51 Mode 4
                     242     
                             
                             
                                            
                             
                     247     ;</h>
000F 020000   F      248                     LJMP    ?C_START
                     249     
                     250                     END
A51 MACRO ASSEMBLER  START_AD                                                             05/17/2008 16:44:41 PAGE     5

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   
?STACK . . . . . .  I SEG    0001H       REL=UNIT
CFG8XX . . . . . .  D ADDR   00AFH   A   
EXSP . . . . . . .  N NUMB   0000H   A   
IBPSTACK . . . . .  N NUMB   0000H   A   
IBPSTACKTOP. . . .  N NUMB   0100H   A   
IDATALEN . . . . .  N NUMB   0080H   A   
IDATALOOP. . . . .  C ADDR   0006H   R   SEG=?C_C51STARTUP
P2 . . . . . . . .  D ADDR   00A0H   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   0001H   A   
SP . . . . . . . .  D ADDR   0081H   A   
SPH. . . . . . . .  D ADDR   00B7H   A   
STACKSIZE. . . . .  N NUMB   0200H   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   
XRAMEN . . . . . .  N NUMB   0001H   A   
XSTACKSTART. . . .  N NUMB   0600H   A   
_CFG8XX. . . . . .  N NUMB   0001H   A   


REGISTER BANK(S) USED: 0 

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

⌨️ 快捷键说明

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