📄 init.lst
字号:
MOVC A,@A+DPTR
MOV R3,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R2,A
INC DPTR
CLR A
MOVC A,@A+DPTR
MOV R1,A
INC DPTR
HLOOP: CLR A
MOVC A,@A+DPTR
PUSH DPH
PUSH DPL
CALL ?C?CSTPTR
POP DPL
POP DPH
INC DPTR
INC R1
MOV A,R1
JNZ HINC
INC R2
HINC: DJNZ R7,HLOOP
DJNZ R6,HLOOP
SJMP Loop
NOHDATA:
$endif
0055 54C0 205 ANL A,#0C0H ; Typ is in Bit 6 and Bit 7
A51 MACRO ASSEMBLER INIT 08/31/2007 13:59:14 PAGE 4
0057 25E0 206 ADD A,ACC
0059 60A8 207 JZ IorPData
005B 40B8 208 JC Bits
209
005D E4 210 XdataMem: CLR A
005E 93 211 MOVC A,@A+DPTR
005F A3 212 INC DPTR
0060 FA 213 MOV R2,A ; High
0061 E4 214 CLR A
0062 93 215 MOVC A,@A+DPTR
0063 A3 216 INC DPTR
0064 F8 217 MOV R0,A ; LOW
0065 E4 218 XLoop: CLR A
0066 93 219 MOVC A,@A+DPTR
0067 A3 220 INC DPTR
0068 C8 221 XCH A,R0
0069 C582 222 XCH A,DPL
006B C8 223 XCH A,R0
006C CA 224 XCH A,R2
006D C583 225 XCH A,DPH
006F CA 226 XCH A,R2
227 $if (DS390)
DPX DATA 93H
EXTRN CODE (?C?XDATASEG)
MOV DPX,#BYTE0 (?C?XDATASEG)
$endif
0070 F0 232 MOVX @DPTR,A
233 $if (DS390)
EXTRN CODE (?C?CODESEG)
MOV DPX,#BYTE0 (?C?CODESEG)
$endif
0071 A3 237 INC DPTR
0072 C8 238 XCH A,R0
0073 C582 239 XCH A,DPL
0075 C8 240 XCH A,R0
0076 CA 241 XCH A,R2
0077 C583 242 XCH A,DPH
0079 CA 243 XCH A,R2
007A DFE9 244 DJNZ R7,XLoop
007C DEE7 245 DJNZ R6,XLoop
007E 80BE 246 SJMP Loop
247
248 $if (XBANK = 1)
INIT_IorP
$endif
251
---- 252 RSEG ?C_INITSEG
0000 00 253 DB 0
254
255 ;-------------------------------------------------------------------------
256 ; STRUCTURE OF THE INITIALIZATION INFORMATION
257 ; -------------------------------------------
258 ; This section describes the initialization data generated by C51 for
259 ; explicit variable initializations (in segment ?C_INITSEC).
260 ;
261 ; Explicit variable initilizations at C source level are stored by C51 in
262 ; the segment ?C_INITSEC. All partial segments are combined at linker level
263 ; to one segment. The segment end value DB 0 is taken from this library module
264 ; INIT.A51.
265 ;
266 ; Structure of the ?C_INITSEC information:
267 ; <Info> (see below) [BYTE] ----+ repeated
268 ; <additional info> [BYTES depend on Info] ----+ repeated
269 ; 0x00 [BYTE] <end of list mark>
270 ;
271 ; <Info> has the following format:
A51 MACRO ASSEMBLER INIT 08/31/2007 13:59:14 PAGE 5
272 ;
273 ; Bit 7 6 5 4 3 2 1 0
274 ; <Info> T T B L L L L L T=Type B=BIGBIT L=LENGTH
275 ;
276 ; If BIGBIT is set, another LENGTH BYTE FOLLOWS. The LENGHT
277 ; info of the first byte is then the HIGH part.
278 ;
279 ; Typ is one of the following:
280 ; 0 := IDATA init values; the following bytes follow:
281 ; - 1 byte address
282 ; - init data bytes according LENGTH specification
283 ;
284 ; 1 := XDATA init values; the following bytes follow:
285 ; - 2 byte address (high byte first)
286 ; - init data bytes according LENGTH specification
287 ;
288 ; 2 := PDATA init values; the following bytes follow:
289 ; - 1 byte address
290 ; - init data bytes according LENGTH specification
291 ;
292 ; 3, BIGBIT=0 := BIT init values; the followign bytes follow:
293 ; - 1 byte for each bit according LENGTH specification
294 ; this byte has the following format:
295 ;
296 ; Bit 7 6 5 4 3 2 1 0
297 ; I B B B B B B B I := state of the bit
298 ; B := bit address
299 ;
300 ; 3, BIGBIT=1 := HDATA init values; the following bytes follow:
301 ; - another LENGTH byte (since BIGBIT is always 1)
302 ; - 3 byte address (MSB first)
303 ; - data bytes according LENGTH specification
304 ;
305 ;----------------------------------------------------------------------
306
307 END
A51 MACRO ASSEMBLER INIT 08/31/2007 13:59:14 PAGE 6
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 + -