📄 install.lst
字号:
00C0 00 197 NOP
00C1 00 198 NOP
00C2 00 199 NOP
00C3 0280C3 200 LJMP INT_ADR_OFF + 0C3H
00C6 00 201 NOP
00C7 00 202 NOP
00C8 00 203 NOP
00C9 00 204 NOP
00CA 00 205 NOP
00CB 0280CB 206 LJMP INT_ADR_OFF + 0CBH
00CE 00 207 NOP
00CF 00 208 NOP
00D0 00 209 NOP
00D1 00 210 NOP
00D2 00 211 NOP
00D3 0280D3 212 LJMP INT_ADR_OFF + 0D3H
00D6 00 213 NOP
00D7 00 214 NOP
00D8 00 215 NOP
00D9 00 216 NOP
00DA 00 217 NOP
00DB 0280DB 218 LJMP INT_ADR_OFF + 0DBH
00DE 00 219 NOP
00DF 00 220 NOP
00E0 00 221 NOP
00E1 00 222 NOP
00E2 00 223 NOP
00E3 0280E3 224 LJMP INT_ADR_OFF + 0E3H
00E6 00 225 NOP
00E7 00 226 NOP
00E8 00 227 NOP
00E9 00 228 NOP
00EA 00 229 NOP
00EB 0280EB 230 LJMP INT_ADR_OFF + 0EBH
00EE 00 231 NOP
00EF 00 232 NOP
00F0 00 233 NOP
00F1 00 234 NOP
00F2 00 235 NOP
00F3 0280F3 236 LJMP INT_ADR_OFF + 0F3H
00F6 00 237 NOP
00F7 00 238 NOP
00F8 00 239 NOP
00F9 00 240 NOP
00FA 00 241 NOP
00FB 0280FB 242 LJMP INT_ADR_OFF + 0FBH
243
244
245 ;********************************************************************
246 ;* This Macro checks whether a PROM or a RAM is at Address 0. *
247 ;* If a PROM is detected -> Jump to Program in PROM (Address 0) *
248 ;* If a RAM is detected -> Jump to Monitor *
249 ;********************************************************************
250 PROMCHECK MACRO
251 $if (PROMCHECK)
252 USING 0
253
254 MOV DPTR,#0 ; IF EPROM THEN JMP 0
255 CLR A
256 MOVC A,@A+DPTR
A51 MACRO ASSEMBLER Configuration for MONITOR-51 (C) 1987-1995 KEIL 03/11/2004 21:40:55 PAGE 5
257 MOV R1,A
258 CPL A
259 MOVX @DPTR,A
260 CLR A
261 MOVC A,@A+DPTR
262 CPL A
263 CJNE A,AR1,JMP0
264 MOVX @DPTR,A
265 $endif
266 ENDM
267
268 INSTALLCODE SEGMENT CODE
---- 269 RSEG INSTALLCODE
270
271 $if (PROMCHECK)
JMP0: LJMP 0
$endif
274
275
276 $if (SERIAL = 0)
;********************************************************************
;* Using TIMER 1 to Generate Baud Rates *
;* Oscillator frequency = 11.059 MHz *
;* Set Baudrate to 9600 Baud *
;********************************************************************
InitSerial: PROMCHECK ; Check if PROM in System
MOV TMOD,#00100000B ;C/T = 0, Mode = 2
MOV TH1,#0FDH
SETB TR1
MOV SCON,#01011010B ; Init Serial Interface
JMP Mon51
$endif
291
292 $if (SERIAL = 1)
;********************************************************************
;* Using internal Baud Rate Generator (only for 80515 and 80C517) *
;* Oscillator frequency = 12.000 MHz *
;* Set Baudrate to 9600 Baud *
;********************************************************************
BD BIT 0DFH
InitSerial: PROMCHECK ; Check if PROM in System
SETB BD
ORL PCON,#10000000B
MOV SCON,#01011010B ; Init Serial Interface
JMP Mon51
$endif
306
307 $if (SERIAL = 2)
;********************************************************************
;* Using TIMER 2 to Generate Baud Rates (only for 8052) *
;* Oscillator frequency = 12.000 MHz *
;* Set Baudrate to 9600 Baud *
;********************************************************************
RCAP2L DATA 0CAH
RCAP2H DATA 0CBH
T2CON DATA 0C8H
InitSerial: PROMCHECK ; Check if PROM in System
MOV T2CON,#34H
MOV RCAP2H,#0FFH
MOV RCAP2L,#0D9H
MOV SCON,#01011010B ; Init Serial Interface
JMP Mon51
A51 MACRO ASSEMBLER Configuration for MONITOR-51 (C) 1987-1995 KEIL 03/11/2004 21:40:55 PAGE 6
$endif
324
325
326 $if (SERIAL = 3)
;********************************************************************
;* Using Serial Interface 1 Baudrate Generator (only for 80C517) *
;* Oscillator frequency = 12.000 MHz *
;* Set Baudrate to 9600 Baud *
;********************************************************************
S1REL DATA 09DH
S1CON DATA 09BH
S1BUF DATA 09CH
IEN2 DATA 09AH
InitSerial: PROMCHECK ; Check if PROM in System
MOV S1REL,#0D9H ; Reload Value
MOV S1CON,#10111010B ; Init Serial Interface
JMP Mon51
$endif
342
343 $if (SERIAL = 4)
;********************************************************************
;* Using TIMER 2 to Generate Baud Rates (only for 80C320/520/530) *
;* with dual data pointer support *
;* Oscillator frequency = 12.000 MHz *
;* Set Baudrate to 9600 Baud *
;********************************************************************
RCAP2L DATA 0CAH
RCAP2H DATA 0CBH
T2CON DATA 0C8H
DPS DATA 086H
InitSerial: PROMCHECK ; Check if PROM in System
MOV DPS,#00H
MOV T2CON,#34H
MOV RCAP2H,#0FFH
MOV RCAP2L,#0D9H ; 9600 baud @ 12 MHz
; MOV RCAP2L,#0BFH ; 9600 baud @ 20 MHz
; MOV RCAP2L,#095H ; 9600 baud @ 33 MHz
; MOV RCAP2L,#0DCH ; 9600 baud @ 11.0592 MHz
; MOV RCAP2L,#0EEH ; 19200 baud @ 11.0592 MHz
; MOV RCAP2L,#0F7H ; 38400 baud @ 11.0592 MHz
; MOV RCAP2L,#0FAH ; 57600 baud @ 11.0592 MHz
MOV SCON,#01011010B ; Init Serial Interface
JMP Mon51
$endif
369
370 $if (SERIAL = 5)
;********************************************************************
;* Using second serial interface of 80C320/520/530 with TIMER 1 *
;* and dual data pointer support *
;* Oscillator frequency = 12.000 MHz *
;* Set Baudrate to 9600 Baud *
;********************************************************************
DPS DATA 086H
CKCON DATA 08EH
SCON1 DATA 0C0H
SBUF1 DATA 0C1H
WDCON DATA 0D8H
RI1 BIT 0C0H.0
InitSerial: PROMCHECK ; Check if PROM in System
MOV DPS,#00H
MOV TMOD,#00100000B ;C/T = 0, Mode = 2
MOV TH1,#0F6H ; 9600 baud @ 12 MHz
A51 MACRO ASSEMBLER Configuration for MONITOR-51 (C) 1987-1995 KEIL 03/11/2004 21:40:55 PAGE 7
ORL CKCON,#010H ; Timer 1 uses a divide by 4 clock
; ORL WDCON,#10000000B; 19200 baud @ 12 MHz
; MOV TH1,#0FDH ; 9600 baud @ 11.0592 MHz
; MOV TH1,#0FFH ; 57600 baud @ 11.0592 MHz
; ORL WDCON,#10000000B
; MOV TH1,#0E5H ; 9600 baud @ 33 MHz
; ORL CKCON,#010H ; Timer 1 uses a divide by 4 clock
; ORL WDCON,#10000000B; 19200 baud @ 33 MHz
SETB TR1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -