📄 start_xc.lst
字号:
180
00BF 181 sfr SCU_PAGE = 0xBF
00B7 182 sfr PLL_CON = 0xB7
00B6 183 sfr OSC_CON = 0xB6
00BB 184 sfr PASSWD = 0xBB
00B3 185 sfr XADDRH = 0xB3
186
187
188 NAME ?C_STARTUP
189
190
A51 MACRO ASSEMBLER START_XC 07/13/2008 19:12:33 PAGE 4
191 ?C_C51STARTUP SEGMENT CODE
192 ?STACK SEGMENT IDATA
193
---- 194 RSEG ?STACK
0000 195 DS 1
196
197 EXTRN CODE (?C_START)
198 PUBLIC ?C_STARTUP
199
---- 200 CSEG AT 0
0000 020000 F 201 ?C_STARTUP: LJMP STARTUP1
202
---- 203 RSEG ?C_C51STARTUP
204
0000 205 STARTUP1:
206
207 IF XTAL <> 0
MOV SCU_PAGE,#1
ORL PLL_CON, #0x08
ORL PLL_CON, #0x04
ORL OSC_CON, #0x04
ANL OSC_CON, #0xF7
MOV R0,#10
DelayXTAL:
DJNZ R1,
DJNZ R0,DelayXTAL
OSCR_NOTSET:
ORL OSC_CON, #0x02
WAIT_ORDRES_0:
MOV A,OSC_CON
JB ACC.1,WAIT_ORDRES_0
JNB ACC.0,OSCR_NOTSET
ORL PLL_CON, #0x08
ANL PLL_CON, #0xFB
MOV PASSWD, #0x98
ANL PLL_CON, #0x0F
ORL PLL_CON, #NDIV*16
ORL PLL_CON, #0x02
WAIT_LOCK:
MOV A, PLL_CON
JNB ACC.0, WAIT_LOCK
ANL PLL_CON, #0xF7
MOV SCU_PAGE,#0
ENDIF
242
243 IF IDATALEN <> 0
0000 787F 244 MOV R0,#IDATALEN - 1
0002 E4 245 CLR A
0003 F6 246 IDATALOOP: MOV @R0,A
0004 D8FD 247 DJNZ R0,IDATALOOP
248 ENDIF
249
250 IF XDATALEN <> 0
0006 90F000 251 MOV DPTR,#XDATASTART
0009 7F00 252 MOV R7,#LOW (XDATALEN)
253 IF (LOW (XDATALEN)) <> 0
MOV R6,#(HIGH (XDATALEN)) +1
ELSE
000B 7E02 256 MOV R6,#HIGH (XDATALEN)
A51 MACRO ASSEMBLER START_XC 07/13/2008 19:12:33 PAGE 5
257 ENDIF
000D E4 258 CLR A
000E F0 259 XDATALOOP: MOVX @DPTR,A
000F A3 260 INC DPTR
0010 DFFC 261 DJNZ R7,XDATALOOP
0012 DEFA 262 DJNZ R6,XDATALOOP
263 ENDIF
264
265 IF PPAGEENABLE <> 0
MOV SCU_PAGE,#3
MOV XADDRH,#PPAGE
MOV SCU_PAGE,#0
ENDIF
270
271 IF PDATALEN <> 0
MOV R0,#LOW (PDATASTART)
MOV R7,#LOW (PDATALEN)
CLR A
PDATALOOP: MOVX @R0,A
INC R0
DJNZ R7,PDATALOOP
ENDIF
279
280 IF IBPSTACK <> 0
EXTRN DATA (?C_IBP)
MOV ?C_IBP,#LOW IBPSTACKTOP
ENDIF
285
286 IF XBPSTACK <> 0
EXTRN DATA (?C_XBP)
MOV ?C_XBP,#HIGH XBPSTACKTOP
MOV ?C_XBP+1,#LOW XBPSTACKTOP
ENDIF
292
293 IF PBPSTACK <> 0
EXTRN DATA (?C_PBP)
MOV ?C_PBP,#LOW PBPSTACKTOP
ENDIF
297
0014 758100 F 298 MOV SP,#?STACK-1
299
0017 020000 F 300 LJMP ?C_START
301
302
303 PUBLIC ?C?DPSEL
00A2 304 ?C?DPSEL DATA 0A2H
305
306 END
A51 MACRO ASSEMBLER START_XC 07/13/2008 19:12:33 PAGE 6
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C?DPSEL . . . . . D ADDR 00A2H A
?C_C51STARTUP. . . C SEG 001AH 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 0003H R SEG=?C_C51STARTUP
NDIV_XC866 . . . . N NUMB 0002H A
NDIV_XC88X . . . . N NUMB 0009H A
OSC_CON. . . . . . D ADDR 00B6H A
PASSWD . . . . . . D ADDR 00BBH A
PBPSTACK . . . . . N NUMB 0000H A
PBPSTACKTOP. . . . N NUMB 0100H A
PDATALEN . . . . . N NUMB 0000H A
PDATASTART . . . . N NUMB F000H A
PLL_CON. . . . . . D ADDR 00B7H A
PPAGE. . . . . . . N NUMB 00F0H A
PPAGEENABLE. . . . N NUMB 0000H A
SCU_PAGE . . . . . D ADDR 00BFH A
SP . . . . . . . . D ADDR 0081H A
STARTUP1 . . . . . C ADDR 0000H R SEG=?C_C51STARTUP
XADDRH . . . . . . D ADDR 00B3H A
XBPSTACK . . . . . N NUMB 0000H A
XBPSTACKTOP. . . . N NUMB 0000H A
XC866_CHIP . . . . N NUMB 0000H A
XC88X_CHIP . . . . N NUMB 0001H A
XDATALEN . . . . . N NUMB 0200H A
XDATALOOP. . . . . C ADDR 000EH R SEG=?C_C51STARTUP
XDATASTART . . . . N NUMB F000H A
XTAL . . . . . . . N NUMB 0000H A
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
PA51 2006 中文汇编系统
Version 6.12 (C) Copyright 2006.10
C:\KEIL\C51\BIN\A51.EXE @START_XC._ia N=2
格式:4
C:\DOCUME~1\LFWLYJ\MYDOCU~1\T01 + START_XC = C:\DOCUME~1\LFWLYJ\MYDOCU~1\T01\START_XC.a51
存盘:C:\DOCUME~1\LFWLYJ\MYDOCU~1\T01\START_XC.a51 C:\KEIL\C51\BIN\PINC\BAK\BAK000.ASM
编译: C:\KEIL\C51\BIN\KE51.exe @START_XC._ia 586
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -