⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 serial.ls1

📁 本人于2005年初开始准备将&micro C/OS-II嵌入式实时操作系统移植到8051单片机上
💻 LS1
📖 第 1 页 / 共 5 页
字号:
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 + -