📄 startu32.lst
字号:
127
128 ; uPSD specific initialization
0000 7455 129 MOV A, #055H ; Disable Watch Dog Reset
0002 F5AE 130 MOV WDKEY, A
131
0004 74FE 132 MOV A, #0FEH ; Load pre-scalars with large value
0006 F595 133 MOV ASCL, A ; Slow down ADC Logic
0008 F5B1 134 MOV PSCL0L, A ; Slow down PWM Logic
000A F5B2 135 MOV PSCL0H, A
000C F5B3 136 MOV PSCL1L, A
000E F5B4 137 MOV PSCL1H, A
0010 F5E1 138 MOV USCL, A ; Slow down USB Logic
139
0012 7400 140 MOV A,#0 ; Disable DDC and DDC XRAM out of addr space
0014 F5A8 141 MOV EA,A ; EA=0; disable all INTs
0016 F5EE 142 MOV UADR, A ; Disable USB Logic
0018 F5E9 143 MOV UIEN, A ; Disable USB Logic
144
001A F5D7 145 MOV DDCCON, A
001C F5D8 146 MOV S1CON, A ; Disable DDC I2C as well
147
001E F5D0 148 MOV PSW, A ; register BANK 0
149
150
151 IF IDATALEN <> 0
0020 78FF 152 MOV R0,#IDATALEN - 1
0022 E4 153 CLR A
0023 F6 154 IDATALOOP: MOV @R0,A
0024 D8FD 155 DJNZ R0,IDATALOOP
156 ENDIF
157
158 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
172
173 IF PPAGEENABLE <> 0
MOV PPAGE_SFR,#PPAGE
ENDIF
176
177 IF PDATALEN <> 0
MOV R0,#LOW (PDATASTART)
MOV R7,#LOW (PDATALEN)
CLR A
PDATALOOP: MOVX @R0,A
INC R0
DJNZ R7,PDATALOOP
ENDIF
185
186 IF IBPSTACK <> 0
EXTRN DATA (?C_IBP)
MOV ?C_IBP,#LOW IBPSTACKTOP
ENDIF
A51 MACRO ASSEMBLER STARTU32 04/30/2004 12:57:59 PAGE 4
191
192 IF XBPSTACK <> 0
EXTRN DATA (?C_XBP)
MOV ?C_XBP,#HIGH XBPSTACKTOP
MOV ?C_XBP+1,#LOW XBPSTACKTOP
ENDIF
198
199 IF PBPSTACK <> 0
EXTRN DATA (?C_PBP)
MOV ?C_PBP,#LOW PBPSTACKTOP
ENDIF
203
0026 758100 F 204 MOV SP,#?STACK-1 ;#080H ;#?STACK-1
205 ; This code is required if you use L51_BANK.A51 with Banking Mode 4
206 ; EXTRN CODE (?B_SWITCH0)
207 ; CALL ?B_SWITCH0 ; init bank mechanism to code bank 0
0029 020000 F 208 LJMP ?C_START
209
210 END
A51 MACRO ASSEMBLER STARTU32 04/30/2004 12:57:59 PAGE 5
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C_C51STARTUP. . . C SEG 002CH REL=UNIT
?C_START . . . . . C ADDR ----- EXT
?C_STARTUP . . . . C ADDR 0000H A
?STACK . . . . . . I SEG 0001H REL=UNIT
ACC. . . . . . . . D ADDR 00E0H A
ASCL . . . . . . . D ADDR 0095H A
B. . . . . . . . . D ADDR 00F0H A
DDCCON . . . . . . D ADDR 00D7H A
DPH. . . . . . . . D ADDR 0083H A
DPL. . . . . . . . D ADDR 0082H A
EA . . . . . . . . D ADDR 00A8H A
IBPSTACK . . . . . N NUMB 0000H A
IBPSTACKTOP. . . . N NUMB 0100H A
IDATALEN . . . . . N NUMB 0100H A
IDATALOOP. . . . . C ADDR 0023H R SEG=?C_C51STARTUP
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 0000H A
PPAGE_SFR. . . . . D ADDR 00A0H A
PSCL0H . . . . . . D ADDR 00B2H A
PSCL0L . . . . . . D ADDR 00B1H A
PSCL1H . . . . . . D ADDR 00B4H A
PSCL1L . . . . . . D ADDR 00B3H A
PSW. . . . . . . . D ADDR 00D0H A
S1CON. . . . . . . D ADDR 00D8H A
SP . . . . . . . . D ADDR 0081H A
STARTUP1 . . . . . C ADDR 0000H R SEG=?C_C51STARTUP
UADR . . . . . . . D ADDR 00EEH A
UIEN . . . . . . . D ADDR 00E9H A
USCL . . . . . . . D ADDR 00E1H A
WDKEY. . . . . . . D ADDR 00AEH A
XBPSTACK . . . . . N NUMB 0000H A
XBPSTACKTOP. . . . N NUMB 0000H A
XDATALEN . . . . . N NUMB 0000H A
XDATASTART . . . . 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 + -