📄 startu32.lst
字号:
A51 MACRO ASSEMBLER STARTU32 04/30/2004 12:57:59 PAGE 1
MACRO ASSEMBLER A51 V7.09
OBJECT MODULE PLACED IN Startu32.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\A51.EXE Startu32.a51 SET(LARGE) DEBUG EP
LOC OBJ LINE SOURCE
1 $nomod51
2 ;------------------------------------------------------------------------------
3 ; STARTU32.A51: This code is executed after processor reset.
4 ;
5 ; Modified for uPSD Startup:
6 ; - Disable Watchdog timer - enable at beginning of user application
7 ; - Settup various IP prescalers to large values (lowers power requirements)
8 ; The IP device drivers wil need to initialize the prescaler to the right value
9 ;
10 ; April 30, 2004 - added disclaimer.
11 ;
12 ; Nov 2003 - Petr PFEIFER, updated
13 ;
14 ; Copyright (c) 2004 STMicroelectronics Inc.
15 ;
16 ; This example demo code is provided as is and has no warranty,
17 ; implied or otherwise. You are free to use/modify any of the provided
18 ; code at your own risk in your applications with the expressed limitation
19 ; of liability (see below) so long as your product using the code contains
20 ; at least one uPSD product (device).
21 ;
22 ; LIMITATION OF LIABILITY: NEITHER STMicroelectronics NOR ITS VENDORS OR
23 ; AGENTS SHALL BE LIABLE FOR ANY LOSS OF PROFITS, LOSS OF USE, LOSS OF DATA,
24 ; INTERRUPTION OF BUSINESS, NOR FOR INDIRECT, SPECIAL, INCIDENTAL OR
25 ; CONSEQUENTIAL DAMAGES OF ANY KIND WHETHER UNDER THIS AGREEMENT OR
26 ; OTHERWISE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
27 ;
28 ;------------------------------------------------------------------------------
29
30
31 ; User-defined Power-On Initialization of Memory (Clear Memory)
32 ;
33 ; With the following EQU statements the initialization of memory
34 ; at processor reset can be defined:
35
36 ; ; the absolute start-address of IDATA memory is always 0
0100 37 IDATALEN EQU 100H ; the length of IDATA memory in bytes.
38
39 ; *** NOTE: uPSD users need to fill in the following based on where SRAM memory mapped.
40
0000 41 XDATASTART EQU 0H ; the absolute start-address of XDATA memory
0000 42 XDATALEN EQU 0H ; the length of XDATA memory in bytes.
43
0000 44 PDATASTART EQU 0H ; the absolute start-address of PDATA memory
0000 45 PDATALEN EQU 0H ; the length of PDATA memory in bytes.
46
47 ; Notes: The IDATA space overlaps physically the DATA and BIT areas of the
48 ; 8051 CPU. At minimum the memory space occupied from the C51
49 ; run-time routines must be set to zero.
50
51
52 ;------------------------------------------------------------------------------
53 ;
54 ; Reentrant Stack Initilization
55 ;
56 ; The following EQU statements define the stack pointer for reentrant
57 ; functions and initialized it:
58 ;
A51 MACRO ASSEMBLER STARTU32 04/30/2004 12:57:59 PAGE 2
59 ; Stack Space for reentrant functions in the SMALL model.
0000 60 IBPSTACK EQU 0 ; set to 1 if small reentrant is used.
0100 61 IBPSTACKTOP EQU 0FFH+1 ; set top of stack to highest location+1.
62 ;
63 ; Stack Space for reentrant functions in the LARGE model.
0000 64 XBPSTACK EQU 0 ; set to 1 if large reentrant is used.
0000 65 XBPSTACKTOP EQU 0FFFFH+1; set top of stack to highest location+1.
66 ;
67 ; Stack Space for reentrant functions in the COMPACT model.
0000 68 PBPSTACK EQU 0 ; set to 1 if compact reentrant is used.
0000 69 PBPSTACKTOP EQU 0FFFFH+1; set top of stack to highest location+1.
70 ;
71 ;------------------------------------------------------------------------------
72 ;
73 ; Page Definition for Using the Compact Model with 64 KByte xdata RAM
74 ;
75 ; The following EQU statements define the xdata page used for pdata
76 ; variables. The EQU PPAGE must conform with the PPAGE control used
77 ; in the linker invocation.
78 ;
0000 79 PPAGEENABLE EQU 0 ; set to 1 if pdata object are used.
80 ;
0000 81 PPAGE EQU 0 ; define PPAGE number.
82 ;
00A0 83 PPAGE_SFR DATA 0A0H ; SFR that supplies uppermost address byte
84 ; (most 8051 variants use P2 as uppermost address byte)
85 ;
86 ;------------------------------------------------------------------------------
87
88 ; Standard SFR Symbols
00E0 89 ACC DATA 0E0H
00F0 90 B DATA 0F0H
0081 91 SP DATA 81H
0082 92 DPL DATA 82H
0083 93 DPH DATA 83H
00A8 94 EA DATA 0A8H
00AE 95 WDKEY DATA 0AEH
0095 96 ASCL DATA 095H
00B1 97 PSCL0L DATA 0B1H
00B2 98 PSCL0H DATA 0B2H
00B3 99 PSCL1L DATA 0B3H
00B4 100 PSCL1H DATA 0B4H
00E1 101 USCL DATA 0E1H
00E9 102 UIEN DATA 0E9H
00EE 103 UADR DATA 0EEH
00D7 104 DDCCON DATA 0D7H
00D8 105 S1CON DATA 0D8H
106
00D0 107 PSW DATA 0D0H
108
109 NAME ?C_STARTUP
110
111
112 ?C_C51STARTUP SEGMENT CODE
113 ?STACK SEGMENT IDATA
114
---- 115 RSEG ?STACK
0000 116 DS 1
117
118 EXTRN CODE (?C_START)
119 PUBLIC ?C_STARTUP
120
---- 121 CSEG AT 0
0000 020000 F 122 ?C_STARTUP: LJMP STARTUP1
123
---- 124 RSEG ?C_C51STARTUP
A51 MACRO ASSEMBLER STARTU32 04/30/2004 12:57:59 PAGE 3
125
0000 126 STARTUP1:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -