📄 serial.ls1
字号:
0063 F9 435 MOV R1,A
0064 7401 436 MOV A,#01H
0066 900000 F 437 MOV DPTR,#TxBuf+07D0H
0069 6B 438 XRL A,R3
006A 7008 439 JNZ ?C0176
006C E9 440 MOV A,R1
006D 6582 441 XRL A,DPL
006F 7003 442 JNZ ?C0176
0071 EA 443 MOV A,R2
0072 6583 444 XRL A,DPH
0074 445 ?C0176:
A51 MACRO ASSEMBLER SERIAL 09/04/2007 10:27:37 PAGE 8
0074 700F 446 JNZ ?C0003
0076 7B01 447 MOV R3,#01H
0078 900000 F 448 MOV DPTR,#outTxBuf
007B 04 449 INC A
007C F0 450 MOVX @DPTR,A
007D A3 451 INC DPTR
007E 7400 F 452 MOV A,#HIGH (TxBuf)
0080 F0 453 MOVX @DPTR,A
0081 A3 454 INC DPTR
0082 7400 F 455 MOV A,#LOW (TxBuf)
0084 F0 456 MOVX @DPTR,A
457 ; }
458 ; SOURCE LINE # 113
0085 459 ?C0003:
460 ; if(RI){
461 ; SOURCE LINE # 114
0085 209803 462 JB RI,$ + 6H
0088 020000 F 463 LJMP ?C0005
464 ; RI=0;
465 ; SOURCE LINE # 115
008B C298 466 CLR RI
467 ; t=inRxBuf;t++;
468 ; SOURCE LINE # 116
008D 900000 F 469 MOV DPTR,#inRxBuf
0090 E0 470 MOVX A,@DPTR
0091 F9 471 MOV R1,A
0092 A3 472 INC DPTR
0093 E0 473 MOVX A,@DPTR
0094 FA 474 MOV R2,A
0095 A3 475 INC DPTR
0096 E0 476 MOVX A,@DPTR
0097 850083 F 477 MOV DPH,?C_XBP
009A 850082 F 478 MOV DPL,?C_XBP+01H
009D C9 479 XCH A,R1
009E F0 480 MOVX @DPTR,A
009F A3 481 INC DPTR
00A0 EA 482 MOV A,R2
00A1 F0 483 MOVX @DPTR,A
00A2 A3 484 INC DPTR
00A3 E9 485 MOV A,R1
00A4 F0 486 MOVX @DPTR,A
00A5 850083 F 487 MOV DPH,?C_XBP
00A8 850082 F 488 MOV DPL,?C_XBP+01H
00AB A3 489 INC DPTR
00AC E4 490 CLR A
00AD 75F001 491 MOV B,#01H
00B0 120000 F 492 LCALL ?C?IILDX
493 ; if(t==RxBuf+LenRxBuf) t=RxBuf;
494 ; SOURCE LINE # 117
00B3 850083 F 495 MOV DPH,?C_XBP
00B6 850082 F 496 MOV DPL,?C_XBP+01H
00B9 E0 497 MOVX A,@DPTR
00BA FB 498 MOV R3,A
00BB A3 499 INC DPTR
00BC E0 500 MOVX A,@DPTR
00BD FA 501 MOV R2,A
00BE A3 502 INC DPTR
00BF E0 503 MOVX A,@DPTR
00C0 F9 504 MOV R1,A
00C1 7401 505 MOV A,#01H
00C3 900000 F 506 MOV DPTR,#RxBuf+032H
00C6 6B 507 XRL A,R3
00C7 7008 508 JNZ ?C0177
00C9 E9 509 MOV A,R1
00CA 6582 510 XRL A,DPL
00CC 7003 511 JNZ ?C0177
A51 MACRO ASSEMBLER SERIAL 09/04/2007 10:27:37 PAGE 9
00CE EA 512 MOV A,R2
00CF 6583 513 XRL A,DPH
00D1 514 ?C0177:
00D1 7010 515 JNZ ?C0008
00D3 850083 F 516 MOV DPH,?C_XBP
00D6 850082 F 517 MOV DPL,?C_XBP+01H
00D9 04 518 INC A
00DA F0 519 MOVX @DPTR,A
00DB A3 520 INC DPTR
00DC 7400 F 521 MOV A,#HIGH (RxBuf)
00DE F0 522 MOVX @DPTR,A
00DF A3 523 INC DPTR
00E0 7400 F 524 MOV A,#LOW (RxBuf)
00E2 F0 525 MOVX @DPTR,A
00E3 526 ?C0008:
527 ; if(t==outRxBuf) return; //RxBuf Full
528 ; SOURCE LINE # 118
00E3 900000 F 529 MOV DPTR,#outRxBuf
00E6 E0 530 MOVX A,@DPTR
00E7 FB 531 MOV R3,A
00E8 A3 532 INC DPTR
00E9 E0 533 MOVX A,@DPTR
00EA FA 534 MOV R2,A
00EB A3 535 INC DPTR
00EC E0 536 MOVX A,@DPTR
00ED F9 537 MOV R1,A
00EE C003 538 PUSH AR3
00F0 C002 539 PUSH AR2
00F2 C001 540 PUSH AR1
00F4 850083 F 541 MOV DPH,?C_XBP
00F7 850082 F 542 MOV DPL,?C_XBP+01H
00FA E0 543 MOVX A,@DPTR
00FB FB 544 MOV R3,A
00FC A3 545 INC DPTR
00FD E0 546 MOVX A,@DPTR
00FE FA 547 MOV R2,A
00FF A3 548 INC DPTR
0100 E0 549 MOVX A,@DPTR
0101 F9 550 MOV R1,A
0102 D082 551 POP DPL
0104 D083 552 POP DPH
0106 D0E0 553 POP ACC
0108 6B 554 XRL A,R3
0109 7008 555 JNZ ?C0178
010B E9 556 MOV A,R1
010C 6582 557 XRL A,DPL
010E 7003 558 JNZ ?C0178
0110 EA 559 MOV A,R2
0111 6583 560 XRL A,DPH
0113 561 ?C0178:
0113 6028 562 JZ ?C0005
0115 563 ?C0009:
564 ; *inRxBuf=SBUF;
565 ; SOURCE LINE # 119
0115 900000 F 566 MOV DPTR,#inRxBuf
0118 E0 567 MOVX A,@DPTR
0119 FB 568 MOV R3,A
011A A3 569 INC DPTR
011B E0 570 MOVX A,@DPTR
011C FA 571 MOV R2,A
011D A3 572 INC DPTR
011E E0 573 MOVX A,@DPTR
011F F9 574 MOV R1,A
0120 E599 575 MOV A,SBUF
0122 120000 F 576 LCALL ?C?CSTPTR
577 ; inRxBuf=t;
A51 MACRO ASSEMBLER SERIAL 09/04/2007 10:27:37 PAGE 10
578 ; SOURCE LINE # 120
0125 850083 F 579 MOV DPH,?C_XBP
0128 850082 F 580 MOV DPL,?C_XBP+01H
012B E0 581 MOVX A,@DPTR
012C F9 582 MOV R1,A
012D A3 583 INC DPTR
012E E0 584 MOVX A,@DPTR
012F FA 585 MOV R2,A
0130 A3 586 INC DPTR
0131 E0 587 MOVX A,@DPTR
0132 900000 F 588 MOV DPTR,#inRxBuf
0135 C9 589 XCH A,R1
0136 F0 590 MOVX @DPTR,A
0137 A3 591 INC DPTR
0138 EA 592 MOV A,R2
0139 F0 593 MOVX @DPTR,A
013A A3 594 INC DPTR
013B E9 595 MOV A,R1
013C F0 596 MOVX @DPTR,A
597 ; }
598 ; SOURCE LINE # 121
599 ; }
600 ; SOURCE LINE # 122
013D 601 ?C0005:
013D 900003 602 MOV DPTR,#03H
0140 020000 F 603 LJMP ?C?ADDXBP
604 ; END OF _?serial
605
606 ;
607 ; bit yygetch(unsigned char *ch) reentrant//从串口缓冲区读1字节数据
608
---- 609 RSEG ?PR?_?yygetch?SERIAL
0000 610 _?yygetch:
611 USING 0
612 ; SOURCE LINE # 124
0000 90FFFD 613 MOV DPTR,#0FFFDH
0003 120000 F 614 LCALL ?C?ADDXBP
0006 EB 615 MOV A,R3
0007 F0 616 MOVX @DPTR,A
0008 A3 617 INC DPTR
0009 EA 618 MOV A,R2
000A F0 619 MOVX @DPTR,A
000B A3 620 INC DPTR
000C E9 621 MOV A,R1
000D F0 622 MOVX @DPTR,A
623 ; {
624 ; //ES=0;
625 ; if(inRxBuf==outRxBuf) {ES=1;return 0;} //RxBuf Empty
626 ; SOURCE LINE # 127
000E 900000 F 627 MOV DPTR,#outRxBuf
0011 E0 628 MOVX A,@DPTR
0012 FB 629 MOV R3,A
0013 A3 630 INC DPTR
0014 E0 631 MOVX A,@DPTR
0015 FA 632 MOV R2,A
0016 A3 633 INC DPTR
0017 E0 634 MOVX A,@DPTR
0018 F9 635 MOV R1,A
0019 C003 636 PUSH AR3
001B C002 637 PUSH AR2
001D C001 638 PUSH AR1
001F 900000 F 639 MOV DPTR,#inRxBuf
0022 E0 640 MOVX A,@DPTR
0023 FB 641 MOV R3,A
0024 A3 642 INC DPTR
0025 E0 643 MOVX A,@DPTR
A51 MACRO ASSEMBLER SERIAL 09/04/2007 10:27:37 PAGE 11
0026 FA 644 MOV R2,A
0027 A3 645 INC DPTR
0028 E0 646 MOVX A,@DPTR
0029 F9 647 MOV R1,A
002A D082 648 POP DPL
002C D083 649 POP DPH
002E D0E0 650 POP ACC
0030 6B 651 XRL A,R3
0031 7008 652 JNZ ?C0179
0033 E9 653 MOV A,R1
0034 6582 654 XRL A,DPL
0036 7003 655 JNZ ?C0179
0038 EA 656 MOV A,R2
0039 6583 657 XRL A,DPH
003B 658 ?C0179:
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -