📄 start_mx.lst
字号:
155 ENDIF
156
157
158 EXTRN CODE (?C_START)
159 PUBLIC ?C_STARTUP
160
000000 161 CSEG AT 0
000000 020000 F 162 ?C_STARTUP: LJMP STARTUP1
163
------ 164 RSEG ?C_C51STARTUP
165
000000 166 STARTUP1:
167
168
169 IF ECRM ; Define Symbols for LX51 Linker/Locater
PUBLIC ?L?_CALL3_
?L?_CALL3_ EQU 1 ; 3 bytes stack frame for CALL/RET
ENDIF
173
174 ; Init MXCON
0005 175 _VMXCON EQU (ECRM SHL 4) OR (EAM SHL 2) OR (ESMM SHL 1) OR (EIFM)
176
177 IF _VMXCON
000000 A575FF05 178 MOV MXCON,#_VMXCON
179 ENDIF
180
181 ; Init AUXR
0000 182 _VAUXR EQU (EXTRAM SHL 1) OR (AO)
183 IF _VAUXR
MOV AUXR,#_VAUXR
ENDIF
186
187 ; Init AUXR1
0000 188 _VAUXR1 EQU (LPEP SHL 4)
189 IF _VAUXR1
AX51 MACRO ASSEMBLER START_MX 11/21/05 17:35:22 PAGE 4
MOV AUXR1,#_VAUXR1
ENDIF
192
193 IF IDATALEN <> 0
000004 78FF 194 MOV R0,#IDATALEN
000006 E4 195 CLR A
000007 F6 196 IDATALOOP: MOV @R0,A
000008 D8FD 197 DJNZ R0,IDATALOOP
198 ENDIF
199
200 IF XDATALEN <> 0
00000A 7900 201 MOV R1,#BYTE0 XDATASTART
00000C 7A00 202 MOV R2,#BYTE1 XDATASTART
00000E 7B00 203 MOV R3,#BYTE2 XDATASTART
000010 7FFF 204 MOV R7,#BYTE0 (XDATALEN)
205 IF (BYTE0 (XDATALEN)) <> 0
000012 7E03 206 MOV R6,#(BYTE1 (XDATALEN)) +1
207 ELSE
MOV R6,#BYTE1 (XDATALEN)
ENDIF
210 IF (WORD0 (XDATALEN)) <> 0
000014 7D01 211 MOV R5,#(BYTE2 (XDATALEN)) + 1
212 ELSE
MOV R5,#BYTE2 (XDATALEN)
ENDIF
000016 E4 215 CLR A
000017 A558 216 XDATALOOP: EMOV @PR0,A
000019 A569 217 ADD PR0,#1
00001B DFFA 218 DJNZ R7,XDATALOOP
00001D DEF8 219 DJNZ R6,XDATALOOP
00001F DDF6 220 DJNZ R5,XDATALOOP
221 ENDIF
222
223 IF PPAGEENABLE <> 0
MOV P2,#PPAGE
ENDIF
226
227 IF PDATALEN <> 0
MOV R0,#PDATASTART
MOV R7,#LOW (PDATALEN)
CLR A
PDATALOOP: MOVX @R0,A
INC R0
DJNZ R7,PDATALOOP
ENDIF
235
236 IF IBPSTACK <> 0
EXTRN DATA (?C_IBP)
MOV ?C_IBP,#LOW IBPSTACKTOP
ENDIF
241
242 IF XBPSTACK <> 0
EXTRN DATA (?C_XBP)
MOV ?C_XBP,#HIGH XBPSTACKTOP
MOV ?C_XBP+1,#LOW XBPSTACKTOP
ENDIF
248
249 IF PBPSTACK <> 0
EXTRN DATA (?C_PBP)
MOV ?C_PBP,#LOW PBPSTACKTOP
ENDIF
253
254 IF (ESMM)
MOV SP,#BYTE0 (?STACK-1) ; Initilize Extended Stack Pointer
AX51 MACRO ASSEMBLER START_MX 11/21/05 17:35:22 PAGE 5
MOV SPE,#BYTE1 (?STACK-1)
ELSE
000021 758100 F 258 MOV SP,#?STACK-1 ; Initilize Classic 8051 Stack
259 ENDIF
260
261 IF (EIFM)
000024 A502000000 E 262 EJMP ?C_START
263 ELSE
LJMP ?C_START
ENDIF
266
267 END
AX51 MACRO ASSEMBLER START_MX 11/21/05 17:35:22 PAGE 6
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C_C51STARTUP. . . . . . . . . C SEG 000029H REL=UNIT, ALN=BYTE
?C_START . . . . . . . . . . . C ADDR ------- EXT
?C_STARTUP . . . . . . . . . . C ADDR 0000H R SEG=?CO?START_MX?3
?STACK . . . . . . . . . . . . I SEG 000001H REL=UNIT, ALN=BYTE
_VAUXR . . . . . . . . . . . . N NUMB 0000H A
_VAUXR1. . . . . . . . . . . . N NUMB 0000H A
_VMXCON. . . . . . . . . . . . N NUMB 0005H A
AO . . . . . . . . . . . . . . N NUMB 0000H A
AUXR . . . . . . . . . . . . . D ADDR 008EH A
AUXR1. . . . . . . . . . . . . D ADDR 00A2H A
EAM. . . . . . . . . . . . . . N NUMB 0001H A
ECRM . . . . . . . . . . . . . N NUMB 0000H A
EIFM . . . . . . . . . . . . . N NUMB 0001H A
ESMM . . . . . . . . . . . . . N NUMB 0000H A
EXTRAM . . . . . . . . . . . . N NUMB 0000H A
IBPSTACK . . . . . . . . . . . N NUMB 0000H A
IBPSTACKTOP. . . . . . . . . . N NUMB 0100H A
IDATALEN . . . . . . . . . . . N NUMB 00FFH A
IDATALOOP. . . . . . . . . . . C ADDR 0007H R SEG=?C_C51STARTUP
LPEP . . . . . . . . . . . . . N NUMB 0000H A
MXCON. . . . . . . . . . . . . XF ADDR 01FFH A
PBPSTACK . . . . . . . . . . . N NUMB 0000H A
PBPSTACKTOP. . . . . . . . . . N NUMB 00010000H A
PDATALEN . . . . . . . . . . . N NUMB 0000H A
PDATASTART . . . . . . . . . . N NUMB 0000H A
PPAGE. . . . . . . . . . . . . N NUMB 0000H A
PPAGEENABLE. . . . . . . . . . N NUMB 0000H A
SP . . . . . . . . . . . . . . D ADDR 0081H A
SPE. . . . . . . . . . . . . . XF ADDR 01FBH A
STACKSIZE. . . . . . . . . . . N NUMB 0100H A
STARTUP1 . . . . . . . . . . . C ADDR 0000H R SEG=?C_C51STARTUP
XBPSTACK . . . . . . . . . . . N NUMB 0000H A
XBPSTACKTOP. . . . . . . . . . N NUMB 00010000H A
XDATALEN . . . . . . . . . . . N NUMB 02FFH A
XDATALOOP. . . . . . . . . . . C ADDR 0017H R SEG=?C_C51STARTUP
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 + -