📄 start_mx.lst
字号:
154 ENDIF
155
156
157 EXTRN CODE (?C_START)
158 PUBLIC ?C_STARTUP
159
000000 160 CSEG AT 0
000000 020000 F 161 ?C_STARTUP: LJMP STARTUP1
162
------ 163 RSEG ?C_C51STARTUP
164
000000 165 STARTUP1:
166
167
168 IF ECRM ; Define Symbols for LX51 Linker/Locater
PUBLIC ?L?_CALL3_
?L?_CALL3_ EQU 1 ; 3 bytes stack frame for CALL/RET
ENDIF
172
173 ; Init MXCON
0000 174 _VMXCON EQU (ECRM SHL 4) OR (EAM SHL 2) OR (ESMM SHL 1) OR (EIFM)
175 IF _VMXCON
MOV MXCON,#_VMXCON
ENDIF
178
179 ; Init AUXR
0000 180 _VAUXR EQU (EXTRAM SHL 1) OR (AO)
181 IF _VAUXR
MOV AUXR,#_VAUXR
ENDIF
184
185 ; Init AUXR1
0000 186 _VAUXR1 EQU (LPEP SHL 4)
187 IF _VAUXR1
MOV AUXR1,#_VAUXR1
ENDIF
AX51 MACRO ASSEMBLER START_MX 27/04/05 13:28:54 PAGE 4
190
191 IF IDATALEN <> 0
000000 78FE 192 MOV R0,#IDATALEN - 1
000002 E4 193 CLR A
000003 F6 194 IDATALOOP: MOV @R0,A
000004 D8FD 195 DJNZ R0,IDATALOOP
196 ENDIF
197
198 IF XDATALEN <> 0
MOV R1,#BYTE0 XDATASTART
MOV R2,#BYTE1 XDATASTART
MOV R3,#BYTE2 XDATASTART
MOV R7,#BYTE0 (XDATALEN)
IF (BYTE0 (XDATALEN)) <> 0
MOV R6,#(BYTE1 (XDATALEN)) +1
ELSE
MOV R6,#BYTE1 (XDATALEN)
ENDIF
IF (WORD0 (XDATALEN)) <> 0
MOV R5,#(BYTE2 (XDATALEN)) + 1
ELSE
MOV R5,#BYTE2 (XDATALEN)
ENDIF
CLR A
XDATALOOP: EMOV @PR0,A
ADD PR0,#1
DJNZ R7,XDATALOOP
DJNZ R6,XDATALOOP
DJNZ R5,XDATALOOP
ENDIF
220
221 IF PPAGEENABLE <> 0
MOV P2,#PPAGE
ENDIF
224
225 IF PDATALEN <> 0
MOV R0,#PDATASTART
MOV R7,#LOW (PDATALEN)
CLR A
PDATALOOP: MOVX @R0,A
INC R0
DJNZ R7,PDATALOOP
ENDIF
233
234 IF IBPSTACK <> 0
EXTRN DATA (?C_IBP)
MOV ?C_IBP,#LOW IBPSTACKTOP
ENDIF
239
240 IF XBPSTACK <> 0
EXTRN DATA (?C_XBP)
MOV ?C_XBP,#HIGH XBPSTACKTOP
MOV ?C_XBP+1,#LOW XBPSTACKTOP
ENDIF
246
247 IF PBPSTACK <> 0
EXTRN DATA (?C_PBP)
MOV ?C_PBP,#LOW PBPSTACKTOP
ENDIF
251
252 IF (ESMM)
MOV SP,#BYTE0 (?STACK-1) ; Initilize Extended Stack Pointer
MOV SPE,#BYTE1 (?STACK-1)
ELSE
AX51 MACRO ASSEMBLER START_MX 27/04/05 13:28:54 PAGE 5
000006 758100 F 256 MOV SP,#?STACK-1 ; Initilize Classic 8051 Stack
257 ENDIF
258
259 IF (EIFM)
EJMP ?C_START
ELSE
000009 020000 E 262 LJMP ?C_START
263 ENDIF
264
265
266 END
AX51 MACRO ASSEMBLER START_MX 27/04/05 13:28:54 PAGE 6
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C_C51STARTUP. . . . . . . . . C SEG 00000CH 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 . . . . . . . . . . . . HC ADDR 0000H A
_VAUXR1. . . . . . . . . . . . HC ADDR 0000H A
_VMXCON. . . . . . . . . . . . HC ADDR 0000H A
AO . . . . . . . . . . . . . . HC ADDR 0000H A
AUXR . . . . . . . . . . . . . D ADDR 008EH A
AUXR1. . . . . . . . . . . . . D ADDR 00A2H A
EAM. . . . . . . . . . . . . . HC ADDR 0000H A
ECRM . . . . . . . . . . . . . HC ADDR 0000H A
EIFM . . . . . . . . . . . . . HC ADDR 0000H A
ESMM . . . . . . . . . . . . . HC ADDR 0000H A
EXTRAM . . . . . . . . . . . . HC ADDR 0000H A
IBPSTACK . . . . . . . . . . . HC ADDR 0000H A
IBPSTACKTOP. . . . . . . . . . HC ADDR 0100H A
IDATALEN . . . . . . . . . . . HC ADDR 00FFH A
IDATALOOP. . . . . . . . . . . C ADDR 0003H R SEG=?C_C51STARTUP
LPEP . . . . . . . . . . . . . HC ADDR 0000H A
MXCON. . . . . . . . . . . . . XF ADDR 01FFH A
PBPSTACK . . . . . . . . . . . HC ADDR 0000H A
PBPSTACKTOP. . . . . . . . . . HC ADDR 00010000H A
PDATALEN . . . . . . . . . . . HC ADDR 0000H A
PDATASTART . . . . . . . . . . HC ADDR 0000H A
PPAGE. . . . . . . . . . . . . HC ADDR 0000H A
PPAGEENABLE. . . . . . . . . . HC ADDR 0000H A
SP . . . . . . . . . . . . . . D ADDR 0081H A
SPE. . . . . . . . . . . . . . XF ADDR 01FBH A
STACKSIZE. . . . . . . . . . . HC ADDR 0100H A
STARTUP1 . . . . . . . . . . . C ADDR 0000H R SEG=?C_C51STARTUP
XBPSTACK . . . . . . . . . . . HC ADDR 0000H A
XBPSTACKTOP. . . . . . . . . . HC ADDR 00010000H A
XDATALEN . . . . . . . . . . . HC ADDR 0000H A
XDATASTART . . . . . . . . . . HC ADDR 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 + -