📄 can_main.ls1
字号:
528 ; }
529 ; SOURCE LINE # 92
013B 80D8 530 SJMP ?C0020
013D 531 ?C0021:
532 ; out(IER,0x85);
533 ; SOURCE LINE # 93
013D 7D85 534 MOV R5,#085H
013F 7F04 535 MOV R7,#04H
0141 7EC0 536 MOV R6,#0C0H
0143 020000 F 537 LJMP _out
538 ; END OF CAN_INI
539
---- 540 CSEG AT 00003H
0003 020000 F 541 LJMP SEARCH
542
543 ; }
544 ;
545 ;
546 ;
547 ;
548 ; SEARCH() interrupt 0
549
---- 550 RSEG ?PR?SEARCH?CAN_MAIN
551 USING 0
0000 552 SEARCH:
0000 C0E0 553 PUSH ACC
0002 C0F0 554 PUSH B
0004 C083 555 PUSH DPH
0006 C082 556 PUSH DPL
0008 C0D0 557 PUSH PSW
000A 75D000 558 MOV PSW,#00H
000D C000 559 PUSH AR0
000F C001 560 PUSH AR1
0011 C002 561 PUSH AR2
0013 C003 562 PUSH AR3
0015 C004 563 PUSH AR4
0017 C005 564 PUSH AR5
0019 C006 565 PUSH AR6
001B C007 566 PUSH AR7
567 USING 0
568 ; SOURCE LINE # 99
569 ; {
570 ; #pragma asm
571 ; CLR EA;
001D C2AF 572 CLR EA;
573 ; PUSH DPH;
001F C083 574 PUSH DPH;
575 ; PUSH DPL;
0021 C082 576 PUSH DPL;
577 ; PUSH PSW;
0023 C0D0 578 PUSH PSW;
579 ; PUSH ACC;
0025 C0E0 580 PUSH ACC;
581 ; #pragma endasm
582 ;
583 ; a=in(IR);
584 ; SOURCE LINE # 109
0027 7F03 585 MOV R7,#03H
0029 7EC0 586 MOV R6,#0C0H
A51 MACRO ASSEMBLER CAN_MAIN 11/24/2006 12:29:26 PAGE 10
002B 120000 F 587 LCALL _in
002E 8F00 F 588 MOV a?,R7
589 ; if(a&0x01)
590 ; SOURCE LINE # 110
0030 E500 F 591 MOV A,a?
0032 30E013 592 JNB ACC.0,?C0023
593 ; {RCVDATA();
594 ; SOURCE LINE # 111
0035 120000 F 595 LCALL RCVDATA
0038 596 ?C0024:
597 ;
598 ; while(in(SR)&0x01)
599 ; SOURCE LINE # 113
0038 7F02 600 MOV R7,#02H
003A 7EC0 601 MOV R6,#0C0H
003C 120000 F 602 LCALL _in
003F EF 603 MOV A,R7
0040 30E01A 604 JNB ACC.0,?C0026
605 ; RCVDATA();
606 ; SOURCE LINE # 114
0043 120000 F 607 LCALL RCVDATA
0046 80F0 608 SJMP ?C0024
609 ; }
610 ; SOURCE LINE # 115
0048 611 ?C0023:
612 ; else if (a&0x02)
613 ; SOURCE LINE # 116
0048 E500 F 614 MOV A,a?
004A 30E109 615 JNB ACC.1,?C0027
616 ;
617 ; my_flag.flags.ERR_FLAG=1;
618 ; SOURCE LINE # 118
004D AF00 F 619 MOV R7,my_flag
004F EF 620 MOV A,R7
0050 4404 621 ORL A,#04H
0052 F500 F 622 MOV my_flag,A
0054 8007 623 SJMP ?C0026
0056 624 ?C0027:
625 ;
626 ; else
627 ;
628 ; my_flag.flags.BERR_FLAG=1;
629 ; SOURCE LINE # 122
0056 AF00 F 630 MOV R7,my_flag+01H
0058 EF 631 MOV A,R7
0059 4401 632 ORL A,#01H
005B F500 F 633 MOV my_flag+01H,A
005D 634 ?C0026:
635 ; #pragma asm
636 ; POP ACC;
005D D0E0 637 POP ACC;
638 ; POP PSW;
005F D0D0 639 POP PSW;
640 ; POP DPL;
0061 D082 641 POP DPL;
642 ; POP DPH;
0063 D083 643 POP DPH;
644 ; SETB EA;
0065 D2AF 645 SETB EA;
646 ; #pragma endasm
647 ;
648 ;
649 ; }
650 ; SOURCE LINE # 132
0067 D007 651 POP AR7
0069 D006 652 POP AR6
A51 MACRO ASSEMBLER CAN_MAIN 11/24/2006 12:29:26 PAGE 11
006B D005 653 POP AR5
006D D004 654 POP AR4
006F D003 655 POP AR3
0071 D002 656 POP AR2
0073 D001 657 POP AR1
0075 D000 658 POP AR0
0077 D0D0 659 POP PSW
0079 D082 660 POP DPL
007B D083 661 POP DPH
007D D0F0 662 POP B
007F D0E0 663 POP ACC
0081 32 664 RETI
665 ; END OF SEARCH
666
667 END
A51 MACRO ASSEMBLER CAN_MAIN 11/24/2006 12:29:26 PAGE 12
SYMBOL TABLE LISTING
------ ----- -------
N A M E T Y P E V A L U E ATTRIBUTES
?C0001 . . . . . . . C ADDR 0002H R SEG=?PR?MAIN?CAN_MAIN
?C0002 . . . . . . . C ADDR 0012H R SEG=?PR?MAIN?CAN_MAIN
?C0004 . . . . . . . C ADDR 0032H R SEG=?PR?MAIN?CAN_MAIN
?C0006 . . . . . . . C ADDR 0042H R SEG=?PR?MAIN?CAN_MAIN
?C0007 . . . . . . . C ADDR 0054H R SEG=?PR?MAIN?CAN_MAIN
?C0008 . . . . . . . C ADDR 0068H R SEG=?PR?MAIN?CAN_MAIN
?C0009 . . . . . . . C ADDR 0078H R SEG=?PR?MAIN?CAN_MAIN
?C0012 . . . . . . . C ADDR 0003H R SEG=?PR?CAN_INI?CAN_MAIN
?C0014 . . . . . . . C ADDR 0022H R SEG=?PR?CAN_INI?CAN_MAIN
?C0016 . . . . . . . C ADDR 0043H R SEG=?PR?CAN_INI?CAN_MAIN
?C0018 . . . . . . . C ADDR 0064H R SEG=?PR?CAN_INI?CAN_MAIN
?C0019 . . . . . . . C ADDR 0085H R SEG=?PR?CAN_INI?CAN_MAIN
?C0020 . . . . . . . C ADDR 0115H R SEG=?PR?CAN_INI?CAN_MAIN
?C0021 . . . . . . . C ADDR 013DH R SEG=?PR?CAN_INI?CAN_MAIN
?C0023 . . . . . . . C ADDR 0048H R SEG=?PR?SEARCH?CAN_MAIN
?C0024 . . . . . . . C ADDR 0038H R SEG=?PR?SEARCH?CAN_MAIN
?C0026 . . . . . . . C ADDR 005DH R SEG=?PR?SEARCH?CAN_MAIN
?C0027 . . . . . . . C ADDR 0056H R SEG=?PR?SEARCH?CAN_MAIN
?C0030 . . . . . . . C ADDR 0081H R SEG=?PR?MAIN?CAN_MAIN
?C_STARTUP . . . . . C ADDR ----- EXT
?DT?CAN_MAIN . . . . D SEG 001DH REL=UNIT
?PR?CAN_INI?CAN_MAIN C SEG 0146H REL=UNIT
?PR?MAIN?CAN_MAIN. . C SEG 009FH REL=UNIT
?PR?SEARCH?CAN_MAIN. C SEG 0082H REL=UNIT
A? . . . . . . . . . D ADDR 001AH R SEG=?DT?CAN_MAIN
AC . . . . . . . . . B ADDR 00D0H.6 A
ACC. . . . . . . . . D ADDR 00E0H A
AR0. . . . . . . . . D ADDR 0000H A
AR1. . . . . . . . . D ADDR 0001H A
AR2. . . . . . . . . D ADDR 0002H A
AR3. . . . . . . . . D ADDR 0003H A
AR4. . . . . . . . . D ADDR 0004H A
AR5. . . . . . . . . D ADDR 0005H A
AR6. . . . . . . . . D ADDR 0006H A
AR7. . . . . . . . . D ADDR 0007H A
B. . . . . . . . . . D ADDR 00F0H A
BERR . . . . . . . . C ADDR ----- EXT
BUF. . . . . . . . . D ADDR 0000H R SEG=?DT?CAN_MAIN
CAN_INI. . . . . . . C ADDR 0000H R SEG=?PR?CAN_INI?CAN_MAIN
CAN_MAIN . . . . . . N NUMB -----
CY . . . . . . . . . B ADDR 00D0H.7 A
DPH. . . . . . . . . D ADDR 0083H A
DPL. . . . . . . . . D ADDR 0082H A
EA . . . . . . . . . B ADDR 00A8H.7 A
ERR. . . . . . . . . C ADDR ----- EXT
ES . . . . . . . . . B ADDR 00A8H.4 A
ET0. . . . . . . . . B ADDR 00A8H.1 A
ET1. . . . . . . . . B ADDR 00A8H.3 A
EX0. . . . . . . . . B ADDR 00A8H.0 A
EX1. . . . . . . . . B ADDR 00A8H.2 A
F0 . . . . . . . . . B ADDR 00D0H.5 A
IE . . . . . . . . . D ADDR 00A8H A
IE0. . . . . . . . . B ADDR 0088H.1 A
IE1. . . . . . . . . B ADDR 0088H.3 A
INT0 . . . . . . . . B ADDR 00B0H.2 A
INT1 . . . . . . . . B ADDR 00B0H.3 A
IP . . . . . . . . . D ADDR 00B8H A
IT0. . . . . . . . . B ADDR 0088H.0 A
IT1. . . . . . . . . B ADDR 0088H.2 A
MAIN . . . . . . . . C ADDR 0000H R SEG=?PR?MAIN?CAN_MAIN
A51 MACRO ASSEMBLER CAN_MAIN 11/24/2006 12:29:26 PAGE 13
MY_FLAG. . . . . . . D ADDR 001BH R SEG=?DT?CAN_MAIN
OV . . . . . . . . . B ADDR 00D0H.2 A
P. . . . . . . . . . B ADDR 00D0H.0 A
P0 . . . . . . . . . D ADDR 0080H A
P1 . . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . . D ADDR 00A0H A
P3 . . . . . . . . . D ADDR 00B0H A
P3_1 . . . . . . . . B ADDR 00B0H.1 A
PCON . . . . . . . . D ADDR 0087H A
PS . . . . . . . . . B ADDR 00B8H.4 A
PSW. . . . . . . . . D ADDR 00D0H A
PT0. . . . . . . . . B ADDR 00B8H.1 A
PT1. . . . . . . . . B ADDR 00B8H.3 A
PX0. . . . . . . . . B ADDR 00B8H.0 A
PX1. . . . . . . . . B ADDR 00B8H.2 A
RB8. . . . . . . . . B ADDR 0098H.2 A
RCVDATA. . . . . . . C ADDR ----- EXT
RD . . . . . . . . . B ADDR 00B0H.7 A
READDATA . . . . . . C ADDR ----- EXT
REC_DATA . . . . . . C ADDR ----- EXT
REC_REMOTE . . . . . C ADDR ----- EXT
REN. . . . . . . . . B ADDR 0098H.4 A
RI . . . . . . . . . B ADDR 0098H.0 A
RS0. . . . . . . . . B ADDR 00D0H.3 A
RS1. . . . . . . . . B ADDR 00D0H.4 A
RXD. . . . . . . . . B ADDR 00B0H.0 A
SBUF . . . . . . . . D ADDR 0099H A
SCON . . . . . . . . D ADDR 0098H A
SEARCH . . . . . . . C ADDR 0000H R SEG=?PR?SEARCH?CAN_MAIN
SM0. . . . . . . . . B ADDR 0098H.7 A
SM1. . . . . . . . . B ADDR 0098H.6 A
SM2. . . . . . . . . B ADDR 0098H.5 A
SP . . . . . . . . . D ADDR 0081H A
T0 . . . . . . . . . B ADDR 00B0H.4 A
T1 . . . . . . . . . B ADDR 00B0H.5 A
TB8. . . . . . . . . B ADDR 0098H.3 A
TCON . . . . . . . . D ADDR 0088H A
TDATA. . . . . . . . C ADDR ----- EXT
TEST . . . . . . . . C ADDR ----- EXT
TF0. . . . . . . . . B ADDR 0088H.5 A
TF1. . . . . . . . . B ADDR 0088H.7 A
TH0. . . . . . . . . D ADDR 008CH A
TH1. . . . . . . . . D ADDR 008DH A
TI . . . . . . . . . B ADDR 0098H.1 A
TL0. . . . . . . . . D ADDR 008AH A
TL1. . . . . . . . . D ADDR 008BH A
TMOD . . . . . . . . D ADDR 0089H A
TR0. . . . . . . . . B ADDR 0088H.4 A
TR1. . . . . . . . . B ADDR 0088H.6 A
TUF. . . . . . . . . D ADDR 000DH R SEG=?DT?CAN_MAIN
TXD. . . . . . . . . B ADDR 00B0H.1 A
WR . . . . . . . . . B ADDR 00B0H.6 A
_DELAY . . . . . . . C ADDR ----- EXT
_IN. . . . . . . . . C ADDR ----- EXT
_OUT . . . . . . . . C ADDR ----- EXT
REGISTER BANK(S) USED: 0
ASSEMBLY COMPLETE. 0 WARNING(S), 0 ERROR(S)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -