📄 install.lst
字号:
AX51 MACRO ASSEMBLER Configuration for MON390 (C) 2002 KEIL 25/07/02 13:41:46 PAGE 1
MACRO ASSEMBLER AX51 V1.30
OBJECT MODULE PLACED IN INSTALL.OBJ
ASSEMBLER INVOKED BY: C:\Keil\C51\BIN\AX51.EXE INSTALL.A51 MOD_CONT SET(SMALL) DEBUG EP
LOC OBJ LINE SOURCE
1 $title ('Configuration for MON390 (C) 2002 KEIL')
2 ;------------------------------------------------------------------------------
3 ;
4 ; MON390 CONFIGURATION FOR DALLAS CONTIGIOUS MODE
5 ; COPYRIGHT KEIL ELEKTRONIK GmbH 2001 - 2002 *
6 ;
7 ;------------------------------------------------------------------------------
8 ;
9 ; Chip Specific Options (MCON needs to be set before ACON)
10 ; ========================================================
11 ;
12 ; IDM1, IDM0: Internal Data Memory Configuration Bits (MCON.7, MCON.6)
0000 13 IDM EQU 0 ; 0 = 4KB on-chip SRAM location X:0x00F000 - X:0x00FFFF
14 ; ; 1 = 4KB on-chip SRAM location X:0x000000 - X:0x000FFF
15 ; ; 2 = 4KB on-chip SRAM location X:0x400000 - X:0x400FFF
16 ; ; 3 = 4KB on-chip SRAM location X:0x400000 - X:0x400FFF
17 ; and code memory C:0x400000 - C:0x400FFF
18 ;
19 ; CMA: CAN Data Memory Assignment (MCON.5)
0000 20 CMA EQU 0 ; 0 = CAN0 X:0x00EE00 - X:0x00EEFF, CAN1 X:0x00EF00 - X:0x00EFFF
21 ; 1 = CAN0 X:0x401000 - X:0x4010FF, CAN1 X:0x401100 - X:0x4011FF
22 ;
23 ;
24 ; SA: Extend Stack Address Mode Enable (ACON.2)
0000 25 SA EQU 0 ; 0 = 8051 compatible stack in IDATA memory
26 ; ; 1 = Use 1KB stack in on-chip XDATA space
27 ;
28 ;
29 ; Port 4 Function Control (P4CNT)
30 ; ===============================
31 ; Port 4 Pin Function (P4CNT.2-0)
0007 32 P4PF EQU 7 ; 0 : all pin used as I/O pin (P4.0 - P4.3)
33 ; ; 4 : P4.0 is CE0
34 ; ; 5 : P4.0 is CE0, P4.1 is CE1
35 ; ; 6 : P4.0 is CE0, P4.1 is CE1, P4.2 is CE2
36 ; ; 7 : P4.0 is CE0, P4.1 is CE1, P4.2 is CE2, P4.3 is CE3
37 ;
38 ; Program Memory Chip Enable Window Size (P4CNT.5-3)
0006 39 PCES EQU 6 ; 0 = 32KB address window (0 - 0x7FFF)
40 ; ; 4 = 128KB address window (0 - 0x1FFFF)
41 ; ; 5 = 256KB address window (0 - 0x3FFFF)
42 ; ; 6 = 512KB address window (0 - 0x7FFFF)
43 ; ; 7 = 1MB address window (0 - 0xFFFFF)
44 ;
45 ; PDCE3 .. PDCE0: Program/Data Chip Enable (MCON.3, MCON.2, MCON.1, MCON.0)
46 ; refer to the Dallas Data Sheet for more information
0000 47 PDCE3 EQU 0
0000 48 PDCE2 EQU 0
0000 49 PDCE1 EQU 0
0001 50 PDCE0 EQU 1
51 ;
52 ;
53 ;------------------------------------------------------------------------------
54 ; Serial interface settings
55 ;
56 $set (SERIAL = 0) ; 0 = use SERIAL PORT0 for Monitor Communcation
57 ; 1 = use SERIAL PORT1 for Monitor Communcation
58 ;
AX51 MACRO ASSEMBLER Configuration for MON390 (C) 2002 KEIL 25/07/02 13:41:46 PAGE 2
59 ;------------------------------------------------------------------------------
60 ; Memory Mapping
61 ;
62 ; Monitor Code and Data Memory
0000 63 MON_CODE_START EQU 0000000H ; start address of Monitor code area in CODE memory
0001FFE0 64 MON_RAM_START EQU 001FFE0H ; start address of Monitor data area in XDATA memory
65
66 ; User Code Memory (von-Neumann mapped)
1000 67 CODE_RAM_START EQU 0001000H ; start address of user CODE space in XDATA memory
68 ; (von Neumann mapping)
1000 69 INT_ADR_OFF EQU 0001000H ; Interrupt Vector Offset if MON390 is installed at
70 ; address 0000H
0001EFFF 71 CODE_RAM_END EQU 001EFFFH ; end address of user CODE space in XDATA memory
72
73 ;------------------------------------------------------------------------------
74
75 NAME CONFIG
76
77 PUBLIC RECEIVEBYTE ; CHARACTER INPUT-ROUTINE
78 PUBLIC SENDBYTE ; CHARACTER OUTPUT-ROUTINE
79 PUBLIC SENDCHECK ; CHECK OUTPUT STATUS OF SERIAL INTERFACE
80 PUBLIC SERINT_ENABLE ; ENABLE SERIAL INTERRUPT
81 PUBLIC SERINT_DISABLE ; DISABLE SERIAL INTERRUPT
82 PUBLIC IDENT_STRING ; IDENTIFIER STRING
83 PUBLIC INT_ADR_OFF ; OFFSET FOR INTERRUPT VECTORS
84 PUBLIC SER_INT_OFF ; ADDRESS OFFSET OF SERIAL INTERRUPT VECTOR
85 PUBLIC CODE_RAM_START ; USER CODE START
86 PUBLIC CODE_RAM_END ; USER CODE END
87 PUBLIC MON_CODE_START ; MON390 CODE START
88 PUBLIC BEFORE_GO ; DO SOME THINGS BEFORE STARTING USER PROGRAM
89 PUBLIC AFTER_GO ; DO SOME THINGS AFTER TERMINATION OF USER PROGRAM
90 PUBLIC WR_CODE ; WRITE CODE BYTE
91
92 EXTRN ECODE:FAR (MONSTART) ; START OF MONITOR-51
93 EXTRN ECODE:FAR (MONBREAK) ; BREAK RESTART OF MONITOR-251
94 EXTRN ECODE:FAR (SERBREAK) ; SERIAL INTERRUPT ENTRY OF MONITOR-251
95
96 SINTENABLE LIT '(MONDATA+ 30)'
97
98 ; SFR SYMBOLS
0089 99 TMOD DATA 89H
008D 100 TH1 DATA 8DH
0098 101 SCON0 DATA 98H
008E 102 CKCON DATA 8EH
0088 103 TCON DATA 88H
0088.6 104 TR1 BIT 8EH
0099 105 SBUF DATA 99H
0098.1 106 TI BIT 99H
0098.0 107 RI BIT 98H
00E0 108 ACC DATA 0E0H
00A8.4 109 ES BIT 0ACH
00A8.0 110 EX0 BIT 0A8H
00D1 111 PSW1 DATA 0D1H
0087 112 PCON DATA 087H
00A8.7 113 EA BIT 0AFH
00B7 114 IPH0 DATA 0B7H
00B8 115 IPL0 DATA 0B8H
0090 116 P1 DATA 090H
009D 117 sfr ACON = 0x9D
00C7 118 sfr TA = 0xC7
00C6 119 sfr MCON = 0xC6
0092 120 sfr P4CNT = 0x92
121
122 FILLGAP MACRO
123 NOP
124 NOP
AX51 MACRO ASSEMBLER Configuration for MON390 (C) 2002 KEIL 25/07/02 13:41:46 PAGE 3
125 NOP
126 NOP
127 ENDM
128
129
000000 130 ?PR?INITSEG SEGMENT ECODE AT MON_CODE_START
------ 131 RSEG ?PR?INITSEG
132
000000 02 133 DB 02H ; LJMP in Classic 8051 Mode
000001 0000 F 134 DW WORD0 STARTUP1
000003 02000000 F 135 LJMP INT_ADR_OFF + 03H
136+1 FILLGAP
00000B 02000000 F 141 LJMP INT_ADR_OFF + 0BH
142+1 FILLGAP
000013 02000000 F 147 LJMP INT_ADR_OFF + 13H
148+1 FILLGAP
00001B 02000000 F 153 LJMP INT_ADR_OFF + 1BH
154+1 FILLGAP
159 $if (SERIAL = 0 OR SERIAL = 1 OR SERIAL = 2)
0023 160 SER_INT_OFF EQU 23H ; OFFSET OF SERIAL INTERRUPT VECTOR
000023 02000000 E 161 LJMP SERBREAK ; On-chip UART Device Interrupt
162 $else
LJMP INT_ADR_OFF + 23H
$endif
165+1 FILLGAP
00002B 02000000 F 170 LJMP INT_ADR_OFF + 2BH
171+1 FILLGAP
000033 02000000 F 176 LJMP INT_ADR_OFF + 33H
177+1 FILLGAP
00003B 02000000 F 182 LJMP INT_ADR_OFF + 3BH
183+1 FILLGAP
000043 02000000 F 188 LJMP INT_ADR_OFF + 43H
189+1 FILLGAP
00004B 02000000 F 194 LJMP INT_ADR_OFF + 4BH
195+1 FILLGAP
000053 02000000 F 200 LJMP INT_ADR_OFF + 53H
201+1 FILLGAP
00005B 02000000 F 206 LJMP INT_ADR_OFF + 5BH
207+1 FILLGAP
000063 02000000 F 212 LJMP INT_ADR_OFF + 63H
213+1 FILLGAP
00006B 02000000 F 218 LJMP INT_ADR_OFF + 6BH
219+1 FILLGAP
000073 02000000 F 224 LJMP INT_ADR_OFF + 73H
225+1 FILLGAP
00007B 02000000 F 230 LJMP INT_ADR_OFF + 7BH
231+1 FILLGAP
000083 02000000 F 236 LJMP INT_ADR_OFF + 83H
237+1 FILLGAP
00008B 02000000 F 242 LJMP INT_ADR_OFF + 8BH
243+1 FILLGAP
000093 02000000 F 248 LJMP INT_ADR_OFF + 93H
249+1 FILLGAP
00009B 02000000 F 254 LJMP INT_ADR_OFF + 9BH
255+1 FILLGAP
0000A3 02000000 F 260 LJMP INT_ADR_OFF + 0A3H
261+1 FILLGAP
0000AB 02000000 F 266 LJMP INT_ADR_OFF + 0ABH
267+1 FILLGAP
0000B3 02000000 F 272 LJMP INT_ADR_OFF + 0B3H
273+1 FILLGAP
0000BB 02000000 F 278 LJMP INT_ADR_OFF + 0BBH
279+1 FILLGAP
0000C3 02000000 F 284 LJMP INT_ADR_OFF + 0C3H
285+1 FILLGAP
0000CB 02000000 F 290 LJMP INT_ADR_OFF + 0CBH
AX51 MACRO ASSEMBLER Configuration for MON390 (C) 2002 KEIL 25/07/02 13:41:46 PAGE 4
291+1 FILLGAP
0000D3 02000000 F 296 LJMP INT_ADR_OFF + 0D3H
297+1 FILLGAP
0000DB 02000000 F 302 LJMP INT_ADR_OFF + 0DBH
303+1 FILLGAP
0000E3 02000000 F 308 LJMP INT_ADR_OFF + 0E3H
309+1 FILLGAP
0000EB 02000000 F 314 LJMP INT_ADR_OFF + 0F3H
315+1 FILLGAP
0000F3 02000000 F 320 LJMP INT_ADR_OFF + 0FBH
321
322
0000F7 75C7AA 323 STARTUP1: MOV TA,#0xAA ; Enable access to MCON
0000FA 75C755 324 MOV TA,#0x55
0000 325 MCON_VAL SET (IDM SHL 6) OR (CMA SHL 5) OR (PDCE3 SHL 3) OR (PDCE2 SHL 2)
0001 326 MCON_VAL SET MCON_VAL OR (PDCE1 SHL 1) OR (PDCE0)
0000FD 75C601 327 MOV MCON,#MCON_VAL
328
000100 75C7AA 329 MOV TA,#0xAA ; Enable access to ACON
000103 75C755 330 MOV TA,#0x55
0002 331 ACON_VAL EQU (2 OR (SA SHL 2)) ; 22-bit contigious mode, SA bit
000106 759D02 332 MOV ACON,#ACON_VAL
333
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -