📄 start900.lst
字号:
150
151 ; <h> SEC1: (SEC1.0 .. SEC1.2)
152 ; SEC1 Bit Description
153 ; -------- -----------
154 ; <q.0> Disable reading with MOVC
155 ; <q.1> Disable program/erase
156 ; <q.2> Disable IAP/ISP global erase
157 ; <i> Flash Security Configuration sector 0 (c:0x0400 - c:0x07FF)
0000 158 SEC1 EQU 0
159 ; </h>
160
161 ; <h> SEC2: (SEC2.0 .. SEC2.2)
162 ; SEC2 Bit Description
163 ; -------- -----------
164 ; <q.0> Disable reading with MOVC
165 ; <q.1> Disable program/erase
166 ; <q.2> Disable IAP/ISP global erase
167 ; <i> Flash Security Configuration sector 0 (c:0x0800 - c:0x0BFF)
0000 168 SEC2 EQU 0
169 ; </h>
170
171 ; <h> SEC3: (SEC3.0 .. SEC3.2)
172 ; SEC3 Bit Description
173 ; -------- -----------
174 ; <q.0> Disable reading with MOVC
175 ; <q.1> Disable program/erase
176 ; <q.2> Disable IAP/ISP global erase
177 ; <i> Flash Security Configuration sector 0 (c:0x0C00 - c:0x0FFF)
0000 178 SEC3 EQU 0
179
180 ;------------------------------------------------------------------------------
181
182
183 NAME ?C_STARTUP
184
0003 185 _UCFG1 EQU FOSC OR (WDSE SHL 4) OR (BOE SHL 5) OR (RPE SHL 6) OR (WDTE SHL 7)
0000 186 _UCFG2 EQU 0
187
---- 188 CSEG AT 0FF00H
FF00 03 189 DB _UCFG1 ; place UCFG Bytes in hex file
FF01 00 190 DB _UCFG2 ; reserved for future use
A51 MACRO ASSEMBLER START900 06/04/2008 17:16:21 PAGE 4
FF02 1E 191 DB BOOTVEC
FF03 00 192 DB BOOTSTAT
---- 193 CSEG AT 0FF04H
FF04 07 194 DB SEC0
FF05 00 195 DB SEC1
FF06 00 196 DB SEC2
FF07 00 197 DB SEC3
198
199 ?C_C51STARTUP SEGMENT CODE
200 ?STACK SEGMENT IDATA
201
---- 202 RSEG ?STACK
0000 203 DS 1
204
205 EXTRN CODE (?C_START)
206 PUBLIC ?C_STARTUP
207
---- 208 CSEG AT 0
0000 020000 F 209 ?C_STARTUP: JMP STARTUP1
210
---- 211 RSEG ?C_C51STARTUP
212
0000 213 STARTUP1:
214
215 IF IDATALEN <> 0
0000 78FF 216 MOV R0,#IDATALEN - 1
0002 E4 217 CLR A
0003 F6 218 IDATALOOP: MOV @R0,A
0004 D8FD 219 DJNZ R0,IDATALOOP
220 ENDIF
221
222
223 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
DJNZ R6,XDATALOOP
ENDIF
237
238
239 IF IBPSTACK <> 0
EXTRN DATA (?C_IBP)
MOV ?C_IBP,#LOW IBPSTACKTOP
ENDIF
244
245 IF XBPSTACK <> 0
EXTRN DATA (?C_XBP)
MOV ?C_XBP,#HIGH XBPSTACKTOP
MOV ?C_XBP+1,#LOW XBPSTACKTOP
ENDIF
251
252 IF PBPSTACK <> 0
EXTRN DATA (?C_PBP)
MOV ?C_PBP,#LOW PBPSTACKTOP
ENDIF
256
A51 MACRO ASSEMBLER START900 06/04/2008 17:16:21 PAGE 5
0006 758100 F 257 MOV SP,#?STACK-1
0009 020000 F 258 JMP ?C_START
259
260 END
A51 MACRO ASSEMBLER START900 06/04/2008 17:16:21 PAGE 6
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C_C51STARTUP. . . C SEG 000CH REL=UNIT
?C_START . . . . . C ADDR ----- EXT
?C_STARTUP . . . . C ADDR 0000H A
?STACK . . . . . . I SEG 0001H REL=UNIT
BOE. . . . . . . . N NUMB 0000H A
BOOTSTAT . . . . . N NUMB 0000H A
BOOTVEC. . . . . . N NUMB 001EH A
FOSC . . . . . . . N NUMB 0003H A
IBPSTACK . . . . . N NUMB 0000H A
IBPSTACKTOP. . . . N NUMB 0100H A
IDATALEN . . . . . N NUMB 0100H A
IDATALOOP. . . . . C ADDR 0003H R SEG=?C_C51STARTUP
PBPSTACK . . . . . N NUMB 0000H A
PBPSTACKTOP. . . . N NUMB 0100H A
RPE. . . . . . . . N NUMB 0000H A
SEC0 . . . . . . . N NUMB 0007H A
SEC1 . . . . . . . N NUMB 0000H A
SEC2 . . . . . . . N NUMB 0000H A
SEC3 . . . . . . . N NUMB 0000H A
SP . . . . . . . . D ADDR 0081H A
STARTUP1 . . . . . C ADDR 0000H R SEG=?C_C51STARTUP
WDSE . . . . . . . N NUMB 0000H A
WDTE . . . . . . . N NUMB 0000H A
XBPSTACK . . . . . N NUMB 0000H A
XBPSTACKTOP. . . . N NUMB 01FFH A
XDATALEN . . . . . N NUMB 0000H A
XDATASTART . . . . N NUMB 0000H A
_UCFG1 . . . . . . N NUMB 0003H A
_UCFG2 . . . . . . 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 + -