📄 install.lst
字号:
334 ; Set Port 4 Function Control (P4CNT)
0037 335 P4_VAL EQU P4PF OR (PCES SHL 3)
000109 759237 336 MOV P4CNT,#P4_VAL
337
00010C 7800 338 MonitorStart: MOV R0,#0 ;Der Monitor meldet sich mit `n
00010E 7900 339 MOV R1,#0
000110 7401 340 MOV A,#01H
000112 F590 341 Flashloop: MOV P1,A
000114 23 342 RL A
000115 00 343 FWait_State: NOP
000116 00 344 NOP
000117 00 345 NOP
000118 D8FB 346 DJNZ R0,FWait_State
00011A D9F9 347 DJNZ R1,FWait_State
00011C 23 348 RL A
00011D 25E0 349 ADD A,ACC
00011F 70F1 350 JNZ Flashloop
000121 7590FF 351 MOV P1,#0FFH
352
353
354
355
356
000124 02000000 F 357 LJMP InitSerial
358
359 ;---- Setup for Serial Interfaces.
360
361 $if (SERIAL = 0)
362 ;********************************************************************
363 ;* Using TIMER 1 to Generate Baud Rates *
364 ;* Oscillator frequency = 40.000 MHz *
365 ;* Set Baudrate to 38400 Baud *
366 ;********************************************************************
367
000128 438780 368 InitSerial: ORL PCON, #080H
00012B 759850 369 MOV SCON0,#050H
00012E 438921 370 ORL TMOD, #021H
000131 758DF8 371 MOV TH1, #0F8H
000134 438E10 372 ORL CKCON,#010H
000137 758850 373 MOV TCON, #050H
00013A 439802 374 ORL SCON0,#002H
375
00013D 02000000 E 376 JMP MONSTART
AX51 MACRO ASSEMBLER Configuration for MON390 (C) 2002 KEIL 25/07/02 13:41:46 PAGE 5
000141 4D4F4E49 377 IDENT_STRING: DB 'MONITOR-390 USING TIMER 1 FOR BAUDRATES',0
000145 544F522D
000149 33393020
00014D 5553494E
000151 47205449
000155 4D455220
000159 3120464F
00015D 52204241
000161 55445241
000165 54455300
378
379 $endif
380
381 $if (SERIAL = 1)
;********************************************************************
;* Using TIMER 2 to Generate Baud Rates *
;********************************************************************
RCAP2L DATA 0CAH
RCAP2H DATA 0CBH
T2CON DATA 0C8H
RCAPVAL EQU (65536 - ((XTAL / BAUDRATE)/16))
InitSerial: LABEL FAR
LJMP Next
Next: MOV T2CON,#30H
MOV RCAP2H,#HIGH (RCAPVAL)
MOV RCAP2L,#LOW (RCAPVAL)
SETB T2CON.2 ; start timer
MOV SCON,#01011010B ; Init Serial Interface
LJMP MONSTART
IDENT_STRING: DB 'MONITOR-390 USING TIMER 2 FOR BAUDRATES',0
$endif
402
403 $if (SERIAL = 0 OR SERIAL = 1)
404 ;********************************************************************
405 ;* Interface via standard on-chip UART *
406 ;********************************************************************
407
408 SENDBYTE PROC NEAR
000169 439001 409 ORL P1,#1
00016C C299 410 CLR TI ; Only A & PSW can be destroyed!
00016E F599 411 MOV SBUF,A
000170 439001 412 ORL P1,#1
000173 22 413 RET
414 ENDP
415
416 SENDCHECK PROC NEAR
000174 3099FD 417 JNB TI,$ ; Only A & PSW can be destroyed!
000177 22 418 RET
419 ENDP
420
421 RECEIVEBYTE PROC NEAR
000178 439002 422 ORL P1,#2
00017B 3098FD 423 JNB RI,$ ; Only A & PSW can be destroyed!
00017E E599 424 MOV A,SBUF
000180 C298 425 CLR RI
000182 439002 426 ORL P1,#2
000185 22 427 RET
428 ENDP
429
430 SERINT_ENABLE PROC NEAR
000186 C299 431 CLR TI ; No Transmitter Interrupt yet
000188 D2AC 432 SETB ES ; Enable Serial Interrupt
00018A 22 433 RET
AX51 MACRO ASSEMBLER Configuration for MON390 (C) 2002 KEIL 25/07/02 13:41:46 PAGE 6
434 ENDP
435
436 SERINT_DISABLE PROC NEAR
00018B C2AC 437 CLR ES ; Disable Serial Interrupt
00018D D299 438 SETB TI ; Set Transmitter Interrupt Flag
00018F 22 439 RET
440 ENDP
441
442
443 $endif
444
445 ;-----------------------------------------------------------------------------
446
000190 447 BEFORE_GO: ; this code is executed before a
000190 22 448 RET ; a go or proc step is executed
449
000191 450 AFTER_GO: ; this code is executed after a go
000191 22 451 RET ; command (when a breakpoint was set)
452
000192 F0 453 WR_CODE: MOVX @DPTR,A ; insert different code here, but
000193 22 454 RET ; do not change any other register
455 ; without saving it
456
457 ;-----------------------------------------------------------------------------
458
459
460
461 PUBLIC MONDATA
01FFE0 462 ?FD?MON_DATA SEGMENT HDATA AT MON_RAM_START
------ 463 RSEG ?FD?MON_DATA
01FFE0 464 MONDATA: DS 32 ; Monitor data area; DO NOT CHANGE SIZE
0001FFE0 465 MONDATA_CODE EQU MON_RAM_START
466 PUBLIC MONDATA_CODE
467 END
468
AX51 MACRO ASSEMBLER Configuration for MON390 (C) 2002 KEIL 25/07/02 13:41:46 PAGE 7
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?FD?MON_DATA. . . . . . . . HD SEG 020000H REL=ABS, ALN=BYTE
?PR?INITSEG . . . . . . . . EC SEG 000194H REL=ABS, ALN=BYTE
ACC . . . . . . . . . . . . D ADDR 00E0H A
ACON. . . . . . . . . . . . D ADDR 009DH A
ACON_VAL. . . . . . . . . . HC ADDR 0002H A
AFTER_GO. . . . . . . . . . EC ADDR 0191H R SEG=?PR?INITSEG
BEFORE_GO . . . . . . . . . EC ADDR 0190H R SEG=?PR?INITSEG
CKCON . . . . . . . . . . . D ADDR 008EH A
CMA . . . . . . . . . . . . HC ADDR 0000H A
CODE_RAM_END. . . . . . . . HC ADDR 0001EFFFH A
CODE_RAM_START. . . . . . . HC ADDR 1000H A
CONFIG. . . . . . . . . . . -- ---- -------
EA. . . . . . . . . . . . . B ADDR 00A8H.7 A
ES. . . . . . . . . . . . . B ADDR 00A8H.4 A
EX0 . . . . . . . . . . . . B ADDR 00A8H.0 A
FLASHLOOP . . . . . . . . . EC ADDR 0112H R SEG=?PR?INITSEG
FWAIT_STATE . . . . . . . . EC ADDR 0115H R SEG=?PR?INITSEG
IDENT_STRING. . . . . . . . EC ADDR 0141H R SEG=?PR?INITSEG
IDM . . . . . . . . . . . . HC ADDR 0000H A
INITSERIAL. . . . . . . . . EC ADDR 0128H R SEG=?PR?INITSEG
INT_ADR_OFF . . . . . . . . HC ADDR 1000H A
IPH0. . . . . . . . . . . . D ADDR 00B7H A
IPL0. . . . . . . . . . . . D ADDR 00B8H A
MCON. . . . . . . . . . . . D ADDR 00C6H A
MCON_VAL. . . . . . . . . . HC ADDR 0001H A
MON_CODE_START. . . . . . . HC ADDR 0000H A
MON_RAM_START . . . . . . . HC ADDR 0001FFE0H A
MONBREAK. . . . . . . . . . EC ADDR ------- EXT
MONDATA . . . . . . . . . . HD ADDR 0001FFE0H R SEG=?FD?MON_DATA
MONDATA_CODE. . . . . . . . HC ADDR 0001FFE0H A
MONITORSTART. . . . . . . . EC ADDR 010CH R SEG=?PR?INITSEG
MONSTART. . . . . . . . . . EC ADDR ------- EXT
P1. . . . . . . . . . . . . D ADDR 0090H A
P4_VAL. . . . . . . . . . . HC ADDR 0037H A
P4CNT . . . . . . . . . . . D ADDR 0092H A
P4PF. . . . . . . . . . . . HC ADDR 0007H A
PCES. . . . . . . . . . . . HC ADDR 0006H A
PCON. . . . . . . . . . . . D ADDR 0087H A
PDCE0 . . . . . . . . . . . HC ADDR 0001H A
PDCE1 . . . . . . . . . . . HC ADDR 0000H A
PDCE2 . . . . . . . . . . . HC ADDR 0000H A
PDCE3 . . . . . . . . . . . HC ADDR 0000H A
PSW1. . . . . . . . . . . . D ADDR 00D1H A
RECEIVEBYTE . . . . . . . . EC ADDR 0178H R SEG=?PR?INITSEG
RI. . . . . . . . . . . . . B ADDR 0098H.0 A
SA. . . . . . . . . . . . . HC ADDR 0000H A
SBUF. . . . . . . . . . . . D ADDR 0099H A
SCON0 . . . . . . . . . . . D ADDR 0098H A
SENDBYTE. . . . . . . . . . EC ADDR 0169H R SEG=?PR?INITSEG
SENDCHECK . . . . . . . . . EC ADDR 0174H R SEG=?PR?INITSEG
SER_INT_OFF . . . . . . . . HC ADDR 0023H A
SERBREAK. . . . . . . . . . EC ADDR ------- EXT
SERINT_DISABLE. . . . . . . EC ADDR 018BH R SEG=?PR?INITSEG
SERINT_ENABLE . . . . . . . EC ADDR 0186H R SEG=?PR?INITSEG
SINTENABLE. . . . . . . . . -- ---- -------
STARTUP1. . . . . . . . . . EC ADDR 00F7H R SEG=?PR?INITSEG
TA. . . . . . . . . . . . . D ADDR 00C7H A
TCON. . . . . . . . . . . . D ADDR 0088H A
TH1 . . . . . . . . . . . . D ADDR 008DH A
TI. . . . . . . . . . . . . B ADDR 0098H.1 A
AX51 MACRO ASSEMBLER Configuration for MON390 (C) 2002 KEIL 25/07/02 13:41:46 PAGE 8
TMOD. . . . . . . . . . . . D ADDR 0089H A
TR1 . . . . . . . . . . . . B ADDR 0088H.6 A
WR_CODE . . . . . . . . . . EC ADDR 0192H R SEG=?PR?INITSEG
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S).
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -