📄 start_ad.lst
字号:
A51 MACRO ASSEMBLER START_AD 07/09/2008 17:46:00 PAGE 1
MACRO ASSEMBLER A51 V8.00d
OBJECT MODULE PLACED IN START_AD.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE START_AD.A51 SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 $nomod51
2 ;
3 ; *** <<< Use Configuration Wizard in Context Menu >>> ***
4 ;------------------------------------------------------------------------------
5 ; This file is part of the C51 Compiler package
6 ; Startup Code for the Analog Devices ADuC83x and ADuC84x series
7 ; Copyright (c) 2001-2005 Keil Elektronik GmbH and Keil Software, Inc.
8 ; Version 1.03
9 ;------------------------------------------------------------------------------
10 ; START_AD.A51: This code is executed after processor reset.
11 ;
12 ; To translate this file use Ax51 with the following invocation:
13 ;
14 ; Ax51 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 ;<h> Setup Extended Data RAM
24 ;
25 ; <q> XRAMEN: Enable on-chip XDATA RAM
26 ; <i> When disabled, off-chip XDATA space is accessed
0000 27 XRAMEN EQU 0 ; 0 = Disable on-chip XDATA RAM
28 ; 1 = Enable on-chip XDATA RAM
29 ;
30 ; <e> EXSP: Enable extended XRAM stack (16-bit Stack Pointer)
31 ; <i> NOTE: The Extended Stack Mode works only with enabled on-chip XDATA RAM!
0000 32 EXSP EQU 0 ; 0 = 8-bit stack pointer in IDATA
33 ; 1 = 16-bit stack pointer in XDATA
34 ;
35 ; CPU Stack Size Definition in Extended Stack Mode:
36 ; The following EQU statements defines the stack space available in extended
37 ; stack mode (EXSP set to 1) for the application program. It should be noted
38 ; that the stack space must be adjusted according the actual requirements of
39 ; the application. This STARTUP file allocates the stack in extended stack
40 ; mode in XDATA memory beginning at XSTACKSTART. The extended stack must
41 ; be within the on-chip XDATA memory and XSTACKSTART must be not less than
42 ; 100H.
43 ;
44 ; <o> STACKSIZE: Size of extended XRAM stack <0x0-0xFFFF>
0200 45 STACKSIZE EQU 200H ; set to 200H Bytes.
46 ; <o> XSTACKSTART: End address of extended XRAM stack <0x0100-0xFFFF>
47 ; <i> Must be at least 0x100 larger than STACKSIZE value.
0600 48 XSTACKSTART EQU 0x800 - STACKSIZE ; 800H is top of on-chip XRAM.
49 ; </e>
50 ;</h>
51 ;-----------------------------------------------------------------------------
52 ;
53 ; User-defined <h> Power-On Initialization of Memory
54 ;
55 ; With the following EQU statements the initialization of memory
56 ; at processor reset can be defined:
57 ;
58 ; <o> IDATALEN: IDATA memory size <0x0-0x100>
A51 MACRO ASSEMBLER START_AD 07/09/2008 17:46:00 PAGE 2
59 ; <i> Note: The absolute start address of IDATA memory is always 0
60 ; <i> The IDATA space physically overlaps the DATA and BIT areas.
0080 61 IDATALEN EQU 80H ; the length of IDATA memory in bytes.
62 ;
63 ; <o> XDATASTART: XDATA memory start <0x0-0xFFFF>
64 ; <i> The absolute start address of XDATA memory.
0000 65 XDATASTART EQU 0H ; the absolute start-address of XDATA memory
66 ; <o> XDATALEN: XDATA memory size <0x0-0xFFFF>
67 ; <i> The length of XDATA memory in bytes.
0000 68 XDATALEN EQU 0H ; the length of XDATA memory in bytes.
69 ;
70 ; <o> PDATASTART: PDATA memory start <0x0-0xFFFF>
71 ; <i> The absolute start address of PDATA memory.
0000 72 PDATASTART EQU 0H ; the absolute start-address of PDATA memory
73 ; <o> PDATALEN: PDATA memory size <0x0-0xFFFF>
74 ; <i> The length of PDATA memory in bytes.
0000 75 PDATALEN EQU 0H ; the length of PDATA memory in bytes.
76 ;
77 ; Notes: The IDATA space overlaps physically the DATA and BIT areas of the
78 ; 8051 CPU. At minimum the memory space occupied from the C51
79 ; run-time routines must be set to zero.
80 ;</h>
81 ;------------------------------------------------------------------------------
82 ;
83 ;<h> Reentrant Stack Initialization
84 ;
85 ; The following EQU statements define the stack pointer for reentrant
86 ; functions and initialize it:
87 ;
88 ; <h> Stack Space for reentrant functions in the SMALL model.
89 ; <q> IBPSTACK: Enable SMALL model reentrant stack
90 ; <i> Stack space for reentrant functions in the SMALL model.
0000 91 IBPSTACK EQU 0 ; set to 1 if small reentrant is used.
92 ; <o> IBPSTACKTOP: End address of SMALL model stack <0x0-0xFF>
93 ; <i> Set the top of the stack to the highest location.
0100 94 IBPSTACKTOP EQU 0FFH+1 ; set top of stack to highest location+1.
95 ; </h>
96 ;
97 ; <h> Stack space for reentrant functions in the LARGE model.
98 ; <q> XBPSTACK: Enable LARGE model reentrant stack
99 ; <i> Stack space for reentrant functions in the LARGE model.
0000 100 XBPSTACK EQU 0 ; set to 1 if large reentrant is used.
101 ; <o> XBPSTACKTOP: End address of LARGE model stack <0x0-0xFFFF>
102 ; <i> Set the top of the stack to the highest location.
0000 103 XBPSTACKTOP EQU 0FFFFH+1; set top of stack to highest location+1.
104 ; </h>
105 ;
106 ; <h> Stack space for reentrant functions in the COMPACT model.
107 ; <q> PBPSTACK: Enable COMPACT model reentrant stack
108 ; <i> Stack space for reentrant functions in the COMPACT model.
0000 109 PBPSTACK EQU 0 ; set to 1 if compact reentrant is used.
110 ; <o> PBPSTACKTOP: End address of COMPACT model stack <0x0-0xFFFF>
111 ; <i> Set the top of the stack to the highest location.
0000 112 PBPSTACKTOP EQU 0FFFFH+1; set top of stack to highest location+1.
113 ; </h>
114 ;</h>
115 ;
116 ;------------------------------------------------------------------------------
117 ;
118 ; Page Definition for Using the Compact Model with 64 KByte xdata RAM
119 ;<h> Compact Model Page Definition
120 ; <i> Defines the XDATA page used for PDATA variables.
121 ;
122 ; The following EQU statements define the xdata page used for pdata
123 ; variables. The EQU PPAGE must conform with the PPAGE control used
124 ; in the linker invocation.
A51 MACRO ASSEMBLER START_AD 07/09/2008 17:46:00 PAGE 3
125 ;
126 ; <q> PPAGEENABLE: Enable PDATA objects
0001 127 PPAGEENABLE EQU 1 ; set to 1 if pdata objects are used.
128 ; <o> PPAGE: XDATA page number <0x0-0xff>
129 ; <i> NOTE: This must agree with the PPAGE control used in the linker.
0000 130 PPAGE EQU 0 ; define PPAGE number.
131 ;</h>
132 ;
133 ;------------------------------------------------------------------------------
134
135 ; Define CPU Symbols
0081 136 sfr SP = 0x81;
00B7 137 sfr SPH = 0xB7;
00AF 138 sfr CFG8xx = 0xAF; ; Chip Configuration SFR
00A0 139 sfr P2 = 0xA0;
140
141 IF (EXSP = 1) AND (XRAMEN = 0)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -