📄 start_xc.lst
字号:
A51 MACRO ASSEMBLER START_XC 03/23/2008 23:18:05 PAGE 1
MACRO ASSEMBLER A51 V8.00
OBJECT MODULE PLACED IN START_XC.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE START_XC.a51 SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 $nomod51
2 ;------------------------------------------------------------------------------
3 ; This file is part of the C51 Compiler package
4 ; Startup Code for the Infineon XC8xx devices
5 ; Copyright (c) 1988-2005 Keil Elektronik GmbH and Keil Software, Inc.
6 ; Version 1.00
7 ;
8 ; *** <<< Use Configuration Wizard in Context Menu >>> ***
9 ;------------------------------------------------------------------------------
10 ; STARTUP.A51: This code is executed after processor reset.
11 ;
12 ; To translate this file use A51 with the following invocation:
13 ;
14 ; A51 STARTUP.A51
15 ;
16 ; To link the modified STARTUP.OBJ file to your application use the following
17 ; Lx51 invocation:
18 ;
19 ; Lx51 your object file list, STARTUP.OBJ controls
20 ;
21 ;------------------------------------------------------------------------------
22 ;
23 ;<e> Use off-chip XTAL
24 ;<i> XC8xx series runs by default from on-chip osciallator.
25 ;<i> optionally you may use a off-chip XTAL
0000 26 XTAL EQU 0 ; set to 0 On-chip oscillator
27
28 ; <o> PLL N-Divider
29 ; <0=> N=10
30 ; <1=> N=12
31 ; <2=> N=13
32 ; <3=> N=14
33 ; <4=> N=15
34 ; <5=> N=16
35 ; <6=> N=17
36 ; <7=> N=18
37 ; <8=> N=19
38 ; <9=> N=20 (9.6 MHz On-Chip XTAL)
39 ; <10=> N=24 (8 MHz Ext XTAL)
40 ; <11=> N=30
41 ; <12=> N=32
42 ; <13=> N=36
43 ; <14=> N=40
44 ; <15=> N=48
0009 45 NDIV EQU 9 ; default 9
46 ;</e>
47 ;------------------------------------------------------------------------------
48 ;
49 ; User-defined <h> Power-On Initialization of Memory
50 ;
51 ; With the following EQU statements the initialization of memory
52 ; at processor reset can be defined:
53 ;
54 ;<o> IDATA memory length <0x0-0x100>
55 ;<i> Note: The absolute start-address of IDATA memory is always 0
56 ;<i> The IDATA space overlaps physically the DATA and BIT areas.
0080 57 IDATALEN EQU 0x80
58 ;
A51 MACRO ASSEMBLER START_XC 03/23/2008 23:18:05 PAGE 2
59 ; <o> XDATA memory start address <0x0-0xFFFF>
60 ; <i> absolute start-address of XDATA memory
F000 61 XDATASTART EQU 0xF000
62 ;
63 ; <o> XDATA memory length <0x0-0xFFFF>
64 ; <i> length of XDATA memory in bytes.
0200 65 XDATALEN EQU 0x200
66 ;
67 ; <o> PDATA memory start address <0x0-0xFFFF>
68 ; <i> absolute start-address of PDATA memory
0000 69 PDATASTART EQU 0H
70 ;
71 ; <o> PDATA memory length <0x0-0xFF>
72 ; <i> length of PDATA memory in bytes.
0000 73 PDATALEN EQU 0H
74 ;
75 ; </h>
76 ;------------------------------------------------------------------------------
77 ;
78 ; <h> Reentrant Stack Initilization
79 ;
80 ; The following EQU statements define the stack pointer for reentrant
81 ; functions and initialized it:
82 ;
83 ; Stack Space for reentrant functions in the SMALL model.
84 ; <e> Activate reentrant Stack (SMALL model)
0000 85 IBPSTACK EQU 0 ; set to 1 if small reentrant is used.
86 ; <o> top of stack <0x0-0xFF>
87 ; <i> set top of stack to highest location+1
0100 88 IBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
89 ; </e>
90 ;
91 ; Stack Space for reentrant functions in the LARGE model.
92 ; <e> Activate reentrant Stack (LARGE model)
0000 93 XBPSTACK EQU 0 ; set to 1 if large reentrant is used.
94 ; <o> top of stack <0x0-0xFFFF>
95 ; <i> set top of stack to highest location+1.
0000 96 XBPSTACKTOP EQU 0xFFFF +1 ; default 0FFFFH+1
97 ; </e>
98 ;
99 ; Stack Space for reentrant functions in the COMPACT model.
100 ; <e> Activate reentrant Stack (COMPACT model)
0000 101 PBPSTACK EQU 0 ; set to 1 if compact reentrant is used.
102 ;
103 ; <o> top of stack <0x0-0xFF>
104 ; <i> set top of stack to highest location+1.
0100 105 PBPSTACKTOP EQU 0xFF +1 ; default 0FFH+1
106 ; </e>
107 ; </h>
108 ;------------------------------------------------------------------------------
109 ;
110 ; <e>Set Memory Page for Using the Compact Model with 64 KByte xdata RAM
111 ;
112 ; <i>Define the xdata page used for pdata variables.
113 ; <i>PPAGE must conform with the PPAGE set in the linker invocation.
114 ;
115 ; Enable pdata memory page initalization
0000 116 PPAGEENABLE EQU 0 ; set to 1 if pdata object are used.
117 ;
118 ; <o> PPAGE number <0x0-0xFF>
119 ; <i> uppermost 256-byte address of the page used for pdata variables.
00F0 120 PPAGE EQU 0xF0
121 ;
122 ; <o> SFR address which supplies uppermost address byte <0x0-0xFF>
123 ; <i> most 8051 variants use P2 as uppermost address byte
00A0 124 PPAGE_SFR DATA 0A0H
A51 MACRO ASSEMBLER START_XC 03/23/2008 23:18:05 PAGE 3
125 ;
126 ; </e>
127 ;------------------------------------------------------------------------------
128
129 ; Standard SFR Symbols
00E0 130 ACC DATA 0E0H
00F0 131 B DATA 0F0H
0081 132 SP DATA 81H
0082 133 DPL DATA 82H
0083 134 DPH DATA 83H
135
136 ; XC8xx specific SFR Symbols used in STARTUP code
00BF 137 sfr SCU_PAGE = 0xBF
00B7 138 sfr PLL_CON = 0xB7
00B6 139 sfr OSC_CON = 0xB6
00BB 140 sfr PASSWD = 0xBB
141
142
143 NAME ?C_STARTUP
144
145
146 ?C_C51STARTUP SEGMENT CODE
147 ?STACK SEGMENT IDATA
148
---- 149 RSEG ?STACK
0000 150 DS 1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -