1 1 ;--------------------------------------------------------
2 2 ; File Created by SDCC : FreeWare ANSI-C Compiler
3 3 ; Version 2.1.9Ga Sun Jan 16 17:31:36 2000
5 5 ;--------------------------------------------------------
7 7 ;--------------------------------------------------------
8 8 ; publics variables in this module
9 9 ;--------------------------------------------------------
10 10 .globl _ser_handler
11 11 .globl _ser_can_xmt
12 12 .globl _ser_can_rcv
18 18 .globl _ser_gets_PARM_2
19 19 ;--------------------------------------------------------
20 20 ; special function registers
21 21 ;--------------------------------------------------------
22 0081 22 G$SP$0$0 == 0x0081
24 0082 24 G$DPL$0$0 == 0x0082
26 0083 26 G$DPH$0$0 == 0x0083
28 0087 28 G$PCON$0$0 == 0x0087
29 0087 29 _PCON = 0x0087
30 0088 30 G$TCON$0$0 == 0x0088
31 0088 31 _TCON = 0x0088
32 0089 32 G$TMOD$0$0 == 0x0089
33 0089 33 _TMOD = 0x0089
34 008A 34 G$TL0$0$0 == 0x008a
36 008B 36 G$TL1$0$0 == 0x008b
38 008C 38 G$TH0$0$0 == 0x008c
40 008D 40 G$TH1$0$0 == 0x008d
42 0090 42 G$P1$0$0 == 0x0090
44 0098 44 G$SCON$0$0 == 0x0098
45 0098 45 _SCON = 0x0098
46 0099 46 G$SBUF$0$0 == 0x0099
47 0099 47 _SBUF = 0x0099
48 00A8 48 G$IE$0$0 == 0x00a8
50 00B0 50 G$P3$0$0 == 0x00b0
52 00B8 52 G$IP$0$0 == 0x00b8
54 00D0 54 G$PSW$0$0 == 0x00d0
56 00E0 56 G$ACC$0$0 == 0x00e0
58 00E0 58 G$A$0$0 == 0x00e0
60 00F0 60 G$B$0$0 == 0x00f0
62 62 ;--------------------------------------------------------
63 63 ; special function bits
64 64 ;--------------------------------------------------------
65 0088 65 G$IT0$0$0 == 0x0088
67 0089 67 G$IE0$0$0 == 0x0089
69 008A 69 G$IT1$0$0 == 0x008a
71 008B 71 G$IE1$0$0 == 0x008b
73 008C 73 G$TR0$0$0 == 0x008c
75 008D 75 G$TF0$0$0 == 0x008d
77 008E 77 G$TR1$0$0 == 0x008e
79 008F 79 G$TF1$0$0 == 0x008f
81 0090 81 G$P1_0$0$0 == 0x0090
82 0090 82 _P1_0 = 0x0090
83 0091 83 G$P1_1$0$0 == 0x0091
84 0091 84 _P1_1 = 0x0091
85 0092 85 G$P1_2$0$0 == 0x0092
86 0092 86 _P1_2 = 0x0092
87 0093 87 G$P1_3$0$0 == 0x0093
88 0093 88 _P1_3 = 0x0093
89 0094 89 G$P1_4$0$0 == 0x0094
90 0094 90 _P1_4 = 0x0094
91 0095 91 G$P1_5$0$0 == 0x0095
92 0095 92 _P1_5 = 0x0095
93 0096 93 G$P1_6$0$0 == 0x0096
94 0096 94 _P1_6 = 0x0096
95 0097 95 G$P1_7$0$0 == 0x0097
96 0097 96 _P1_7 = 0x0097
97 0090 97 G$AIN0$0$0 == 0x0090
98 0090 98 _AIN0 = 0x0090
99 0091 99 G$AIN1$0$0 == 0x0091
100 0091 100 _AIN1 = 0x0091
101 0098 101 G$RI$0$0 == 0x0098
102 0098 102 _RI = 0x0098
103 0099 103 G$TI$0$0 == 0x0099
104 0099 104 _TI = 0x0099
105 009A 105 G$RB8$0$0 == 0x009a
106 009A 106 _RB8 = 0x009a
107 009B 107 G$TB8$0$0 == 0x009b
108 009B 108 _TB8 = 0x009b
109 009C 109 G$REN$0$0 == 0x009c
110 009C 110 _REN = 0x009c
111 009D 111 G$SM2$0$0 == 0x009d
112 009D 112 _SM2 = 0x009d
113 009E 113 G$SM1$0$0 == 0x009e
114 009E 114 _SM1 = 0x009e
115 009F 115 G$SM0$0$0 == 0x009f
116 009F 116 _SM0 = 0x009f
117 00A8 117 G$EX0$0$0 == 0x00a8
118 00A8 118 _EX0 = 0x00a8
119 00A9 119 G$ET0$0$0 == 0x00a9
120 00A9 120 _ET0 = 0x00a9
121 00AA 121 G$EX1$0$0 == 0x00aa
122 00AA 122 _EX1 = 0x00aa
123 00AB 123 G$ET1$0$0 == 0x00ab
124 00AB 124 _ET1 = 0x00ab
125 00AC 125 G$ES$0$0 == 0x00ac
126 00AC 126 _ES = 0x00ac
127 00AD 127 G$ET2$0$0 == 0x00ad
128 00AD 128 _ET2 = 0x00ad
129 00AF 129 G$EA$0$0 == 0x00af
130 00AF 130 _EA = 0x00af
131 00B0 131 G$P3_0$0$0 == 0x00b0
132 00B0 132 _P3_0 = 0x00b0
133 00B1 133 G$P3_1$0$0 == 0x00b1
134 00B1 134 _P3_1 = 0x00b1
135 00B2 135 G$P3_2$0$0 == 0x00b2
136 00B2 136 _P3_2 = 0x00b2
137 00B3 137 G$P3_3$0$0 == 0x00b3
138 00B3 138 _P3_3 = 0x00b3
139 00B4 139 G$P3_4$0$0 == 0x00b4
140 00B4 140 _P3_4 = 0x00b4
141 00B5 141 G$P3_5$0$0 == 0x00b5
142 00B5 142 _P3_5 = 0x00b5
143 00B7 143 G$P3_7$0$0 == 0x00b7
144 00B7 144 _P3_7 = 0x00b7
145 00B0 145 G$RXD$0$0 == 0x00b0
146 00B0 146 _RXD = 0x00b0
147 00B1 147 G$TXD$0$0 == 0x00b1
148 00B1 148 _TXD = 0x00b1
149 00B2 149 G$INT0$0$0 == 0x00b2
150 00B2 150 _INT0 = 0x00b2
151 00B3 151 G$INT1$0$0 == 0x00b3
152 00B3 152 _INT1 = 0x00b3
153 00B4 153 G$T0$0$0 == 0x00b4
154 00B4 154 _T0 = 0x00b4
155 00B5 155 G$T1$0$0 == 0x00b5
156 00B5 156 _T1 = 0x00b5
157 00B6 157 G$AOUT$0$0 == 0x00b6
158 00B6 158 _AOUT = 0x00b6
159 00B8 159 G$PX0$0$0 == 0x00b8
160 00B8 160 _PX0 = 0x00b8
161 00B9 161 G$PT0$0$0 == 0x00b9
162 00B9 162 _PT0 = 0x00b9
163 00BA 163 G$PX1$0$0 == 0x00ba
164 00BA 164 _PX1 = 0x00ba
165 00BB 165 G$PT1$0$0 == 0x00bb
166 00BB 166 _PT1 = 0x00bb
167 00BC 167 G$PS$0$0 == 0x00bc
168 00BC 168 _PS = 0x00bc
169 00D0 169 G$P$0$0 == 0x00d0
171 00D1 171 G$FL$0$0 == 0x00d1
172 00D1 172 _FL = 0x00d1
173 00D2 173 G$OV$0$0 == 0x00d2
174 00D2 174 _OV = 0x00d2
175 00D3 175 G$RS0$0$0 == 0x00d3
176 00D3 176 _RS0 = 0x00d3
177 00D4 177 G$RS1$0$0 == 0x00d4
178 00D4 178 _RS1 = 0x00d4
179 00D5 179 G$F0$0$0 == 0x00d5
180 00D5 180 _F0 = 0x00d5
181 00D6 181 G$AC$0$0 == 0x00d6
182 00D6 182 _AC = 0x00d6
183 00D7 183 G$CY$0$0 == 0x00d7
184 00D7 184 _CY = 0x00d7
185 185 ;--------------------------------------------------------
186 186 ; internal ram data
187 187 ;--------------------------------------------------------
188 188 .area DSEG (DATA)
189 189 ;--------------------------------------------------------
190 190 ; overlayable items in internal ram
191 191 ;--------------------------------------------------------
192 192 .area OSEG (OVR,DATA)
193 193 ;--------------------------------------------------------
194 194 ; indirectly addressable internal ram data
195 195 ;--------------------------------------------------------
196 196 .area ISEG (DATA)
197 197 ;--------------------------------------------------------
199 199 ;--------------------------------------------------------
201 201 ;--------------------------------------------------------
202 202 ; external ram data
203 203 ;--------------------------------------------------------
204 204 .area XSEG (XDATA)
205 0000 205 Fser_ir$rbuf$0$0==.
208 000A 208 Fser_ir$xbuf$0$0==.
211 0014 211 Fser_ir$rcnt$0$0==.
214 0015 214 Fser_ir$xcnt$0$0==.
217 0016 217 Fser_ir$rpos$0$0==.
220 0017 220 Fser_ir$xpos$0$0==.
223 0018 223 Fser_ir$busy$0$0==.
226 0019 226 _ser_putc_c_1_1:
228 001A 228 _ser_puts_s_1_1:
230 001D 230 _ser_gets_PARM_2:
232 001E 232 _ser_gets_s_1_1:
234 234 ;--------------------------------------------------------
235 235 ; global & static initialisations
236 236 ;--------------------------------------------------------
237 237 .area GSINIT (CODE)
238 238 ;--------------------------------------------------------
240 240 ;--------------------------------------------------------
241 241 .area CSEG (CODE)
242 0000 242 G$ser_init$0$0 ==.
244 244 ; -----------------------------------------
245 245 ; function ser_init
246 246 ; -----------------------------------------
257 0000 C2 AC 257 clr _ES
259 0002 90s00r17 259 mov dptr,#_xpos
260 260 ; Peephole 180 changed mov to clr
262 0006 F0 262 movx @dptr,a
263 0007 90s00r16 263 mov dptr,#_rpos
264 264 ; Peephole 180 changed mov to clr
266 000B F0 266 movx @dptr,a
267 000C 90s00r15 267 mov dptr,#_xcnt
268 268 ; Peephole 180 changed mov to clr
270 0010 F0 270 movx @dptr,a
271 0011 90s00r14 271 mov dptr,#_rcnt
272 272 ; Peephole 180 changed mov to clr
274 0015 F0 274 movx @dptr,a
276 0016 90s00r18 276 mov dptr,#_busy
277 277 ; Peephole 180 changed mov to clr
279 001A F0 279 movx @dptr,a
281 001B 75 98 50 281 mov _SCON,#0x50
283 001E 43 87 80 283 orl _PCON,#0x80
285 0021 53 89 0F 285 anl _TMOD,#0x0f
287 0024 43 89 20 287 orl _TMOD,#0x20
289 0027 75 8B FD 289 mov _TL1,#0xfd
290 002A 75 8D FD 290 mov _TH1,#0xfd
291 002D D2 8E 291 setb _TR1
293 002F D2 AC 293 setb _ES
295 0031 295 C$ser_ir.c$60$1$1 ==.
296 0031 296 XG$ser_init$0$0 ==.
298 0032 298 G$ser_handler$0$0 ==.
300 300 ; -----------------------------------------
301 301 ; function ser_handler
302 302 ; -----------------------------------------
303 0032 303 _ser_handler:
304 0032 C0 E0 304 push acc
305 0034 C0 F0 305 push b
306 0036 C0 82 306 push dpl
307 0038 C0 83 307 push dph
308 003A C0 02 308 push ar2
309 003C C0 03 309 push ar3
310 003E C0 D0 310 push psw
311 0040 75 D0 00 311 mov psw,#0x00
313 313 ; Peephole 111 removed ljmp by inverse jump logic
314 0043 30 98 2C 314 jnb _RI,00104$
317 0046 C2 98 317 clr _RI
319 0048 90s00r14 319 mov dptr,#_rcnt
320 004B E0 320 movx a,@dptr
322 004D BA 0A 00 322 cjne r2,#0x0a,00119$
324 324 ; Peephole 108 removed ljmp by inverse jump logic
325 0050 50 20 325 jnc 00104$
328 0052 90s00r14 328 mov dptr,#_rcnt
329 0055 74 01 329 mov a,#0x01
331 0058 F0 331 movx @dptr,a
332 0059 90s00r16 332 mov dptr,#_rpos
333 005C E0 333 movx a,@dptr
334 334 ; Peephole 214 reduced some extra movs
337 005F 75 F0 0A 337 mov b,#0x0a
339 0063 AA F0 339 mov r2,b
341 0066 24r00 341 add a,#_rbuf
342 0068 F5 82 342 mov dpl,a
343 343 ; Peephole 180 changed mov to clr
345 006B 34s00 345 addc a,#(_rbuf >> 8)
346 006D F5 83 346 mov dph,a
347 006F E5 99 347 mov a,_SBUF
348 0071 F0 348 movx @dptr,a
351 351 ; Peephole 111 removed ljmp by inverse jump logic
352 0072 30 99 38 352 jnb _TI,00111$
355 0075 C2 99 355 clr _TI
357 0077 90s00r15 357 mov dptr,#_xcnt
358 007A E0 358 movx a,@dptr
359 359 ; Peephole 100 removed redundant mov
361 007C 90s00r18 361 mov dptr,#_busy
362 007F F0 362 movx @dptr,a
364 364 ; Peephole 110 removed ljmp by inverse jump logic
365 0081 60 2A 365 jz 00111$
369 0084 24 FF 369 add a,#0xff
370 0086 90s00r15 370 mov dptr,#_xcnt
371 0089 F0 371 movx @dptr,a
373 008A 90s00r17 373 mov dptr,#_xpos
374 008D E0 374 movx a,@dptr
375 375 ; Peephole 214 reduced some extra movs
377 008F 24 01 377 add a,#0x01
378 378 ; Peephole 100 removed redundant mov
380 0092 90s00r17 380 mov dptr,#_xpos
381 0095 F0 381 movx @dptr,a
383 0097 24r0A 383 add a,#_xbuf
384 0099 F5 82 384 mov dpl,a
385 385 ; Peephole 180 changed mov to clr
387 009C 34s00 387 addc a,#(_xbuf >> 8)
388 009E F5 83 388 mov dph,a
389 00A0 E0 389 movx a,@dptr
390 00A1 F5 99 390 mov _SBUF,a
392 00A3 BB 0A 00 392 cjne r3,#0x0a,00123$
394 394 ; Peephole 132 changed ljmp to sjmp
395 395 ; Peephole 160 removed sjmp by inverse jump logic
396 00A6 40 05 396 jc 00111$
399 00A8 90s00r17 399 mov dptr,#_xpos
400 400 ; Peephole 180 changed mov to clr
402 00AC F0 402 movx @dptr,a
404 00AD D0 D0 404 pop psw
405 00AF D0 03 405 pop ar3
406 00B1 D0 02 406 pop ar2
407 00B3 D0 83 407 pop dph
408 00B5 D0 82 408 pop dpl
410 00B9 D0 E0 410 pop acc
411 00BB 411 C$ser_ir.c$79$1$1 ==.
412 00BB 412 XG$ser_handler$0$0 ==.
414 00BC 414 G$ser_putc$0$0 ==.
416 416 ; -----------------------------------------
417 417 ; function ser_putc
418 418 ; -----------------------------------------
421 00BC C0 82 421 push dpl
422 00BE 90s00r19 422 mov dptr,#_ser_putc_c_1_1
423 00C1 D0 E0 423 pop acc
424 00C3 F0 424 movx @dptr,a
427 00C4 90s00r15 427 mov dptr,#_xcnt
428 00C7 E0 428 movx a,@dptr
430 00C9 BA 0A 00 430 cjne r2,#0x0a,00112$
432 432 ; Peephole 108 removed ljmp by inverse jump logic
433 00CC 50 F6 433 jnc 00101$
436 00CE C2 AC 436 clr _ES
438 00D0 90s00r18 438 mov dptr,#_busy
439 00D3 E0 439 movx a,@dptr
440 440 ; Peephole 105 removed redundant mov
442 442 ; Peephole 110 removed ljmp by inverse jump logic
443 00D5 60 27 443 jz 00105$
446 00D7 90s00r15 446 mov dptr,#_xcnt
447 00DA 74 01 447 mov a,#0x01
449 00DD F0 449 movx @dptr,a
450 00DE 90s00r17 450 mov dptr,#_xpos
451 00E1 E0 451 movx a,@dptr
452 452 ; Peephole 214 reduced some extra movs
455 00E4 75 F0 0A 455 mov b,#0x0a
457 00E8 AA F0 457 mov r2,b
459 00EB 24r0A 459 add a,#_xbuf
461 461 ; Peephole 180 changed mov to clr
463 00EF 34s00 463 addc a,#(_xbuf >> 8)
465 00F2 90s00r19 465 mov dptr,#_ser_putc_c_1_1
466 00F5 E0 466 movx a,@dptr
467 467 ; Peephole 136 removed redundant moves
469 00F7 8A 82 469 mov dpl,r2
470 00F9 8B 83 470 mov dph,r3
471 00FB F0 471 movx @dptr,a
472 472 ; Peephole 132 changed ljmp to sjmp
473 00FC 80 0C 473 sjmp 00106$
476 00FE 90s00r19 476 mov dptr,#_ser_putc_c_1_1
477 0101 E0 477 movx a,@dptr
478 0102 F5 99 478 mov _SBUF,a
480 0104 90s00r18 480 mov dptr,#_busy
481 0107 74 01 481 mov a,#0x01
482 0109 F0 482 movx @dptr,a
485 010A D2 AC 485 setb _ES
487 010C 487 C$ser_ir.c$93$1$1 ==.
488 010C 488 XG$ser_putc$0$0 ==.
490 010D 490 G$ser_getc$0$0 ==.
492 492 ; -----------------------------------------
493 493 ; function ser_getc
494 494 ; -----------------------------------------
498 010D 90s00r14 498 mov dptr,#_rcnt
499 0110 E0 499 movx a,@dptr
500 500 ; Peephole 105 removed redundant mov
502 502 ; Peephole 110 removed ljmp by inverse jump logic
503 0112 60 F9 503 jz 00101$
506 0114 C2 AC 506 clr _ES
509 0117 24 FF 509 add a,#0xff
510 0119 90s00r14 510 mov dptr,#_rcnt
511 011C F0 511 movx @dptr,a
513 011D 90s00r16 513 mov dptr,#_rpos
514 0120 E0 514 movx a,@dptr
515 515 ; Peephole 214 reduced some extra movs
517 0122 24 01 517 add a,#0x01
518 518 ; Peephole 100 removed redundant mov
520 0125 90s00r16 520 mov dptr,#_rpos
521 0128 F0 521 movx @dptr,a
523 012A 24r00 523 add a,#_rbuf
524 012C F5 82 524 mov dpl,a
525 525 ; Peephole 180 changed mov to clr
527 012F 34s00 527 addc a,#(_rbuf >> 8)
528 0131 F5 83 528 mov dph,a
529 0133 E0 529 movx a,@dptr
532 0135 BB 0A 00 532 cjne r3,#0x0a,00112$
534 534 ; Peephole 132 changed ljmp to sjmp
535 535 ; Peephole 160 removed sjmp by inverse jump logic
536 0138 40 05 536 jc 00105$
539 013A 90s00r16 539 mov dptr,#_rpos
540 540 ; Peephole 180 changed mov to clr
542 013E F0 542 movx @dptr,a
545 013F D2 AC 545 setb _ES
547 0141 8A 82 547 mov dpl,r2
549 0143 549 C$ser_ir.c$107$1$1 ==.
550 0143 550 XG$ser_getc$0$0 ==.
552 0144 552 G$ser_puts$0$0 ==.
554 554 ; -----------------------------------------
555 555 ; function ser_puts
556 556 ; -----------------------------------------
559 0144 C0 F0 559 push b
560 0146 C0 83 560 push dph
561 0148 C0 82 561 push dpl
562 014A 90s00r1A 562 mov dptr,#_ser_puts_s_1_1
563 014D D0 E0 563 pop acc
564 014F F0 564 movx @dptr,a
565 0150 D0 E0 565 pop acc
567 0153 F0 567 movx @dptr,a
568 0154 D0 E0 568 pop acc
570 0157 F0 570 movx @dptr,a
573 0158 90s00r1A 573 mov dptr,#_ser_puts_s_1_1
574 015B E0 574 movx a,@dptr
577 015E E0 577 movx a,@dptr
580 0161 E0 580 movx a,@dptr
582 0163 90s00r1A 582 mov dptr,#_ser_puts_s_1_1
583 0166 74 01 583 mov a,#0x01
585 0169 F0 585 movx @dptr,a
586 586 ; Peephole 180 changed mov to clr
588 016B 3B 588 addc a,r3
590 016D F0 590 movx @dptr,a
593 0170 F0 593 movx @dptr,a
594 0171 8A 82 594 mov dpl,r2
595 0173 8B 83 595 mov dph,r3
596 0175 8C F0 596 mov b,r4
597 0177 12s00r00 597 lcall __gptrget
598 598 ; Peephole 105 removed redundant mov
600 600 ; Peephole 110 removed ljmp by inverse jump logic
601 017B 60 14 601 jz 00106$
604 604 ; Peephole 132 changed ljmp to sjmp
605 605 ; Peephole 199 optimized misc jump sequence
606 017D BA 0A 0A 606 cjne r2,#0x0a,00102$
607 607 ; Peephole 201 removed redundant sjmp
610 0180 C0 02 610 push ar2
611 0182 75 82 0D 611 mov dpl,#0x0d
612 0185 12s00rBC 612 lcall _ser_putc
613 0188 D0 02 613 pop ar2
616 018A 8A 82 616 mov dpl,r2
617 018C 12s00rBC 617 lcall _ser_putc
618 618 ; Peephole 132 changed ljmp to sjmp
619 018F 80 C7 619 sjmp 00103$
621 0191 621 C$ser_ir.c$117$1$1 ==.
622 0191 622 XG$ser_puts$0$0 ==.
624 0192 624 G$ser_gets$0$0 ==.
626 626 ; -----------------------------------------
627 627 ; function ser_gets
628 628 ; -----------------------------------------
631 0192 C0 F0 631 push b
632 0194 C0 83 632 push dph
633 0196 C0 82 633 push dpl
634 0198 90s00r1E 634 mov dptr,#_ser_gets_s_1_1
635 019B D0 E0 635 pop acc
636 019D F0 636 movx @dptr,a
637 019E D0 E0 637 pop acc
639 01A1 F0 639 movx @dptr,a
640 01A2 D0 E0 640 pop acc
642 01A5 F0 642 movx @dptr,a
644 01A6 90s00r1D 644 mov dptr,#_ser_gets_PARM_2
645 01A9 E0 645 movx a,@dptr
647 01AB 90s00r1E 647 mov dptr,#_ser_gets_s_1_1
648 01AE E0 648 movx a,@dptr
651 01B1 E0 651 movx a,@dptr
654 01B4 E0 654 movx a,@dptr
656 01B6 7E 00 656 mov r6,#0x00
658 01B8 8E 07 658 mov ar7,r6
661 01BC 9E 661 subb a,r6
662 662 ; Peephole 132 changed ljmp to sjmp
663 663 ; Peephole 160 removed sjmp by inverse jump logic
664 01BD 40 34 664 jc 00107$
667 01BF C0 02 667 push ar2
668 01C1 C0 03 668 push ar3
669 01C3 C0 04 669 push ar4
670 01C5 C0 05 670 push ar5
671 01C7 C0 06 671 push ar6
672 01C9 C0 07 672 push ar7
673 01CB 12s01r0D 673 lcall _ser_getc
674 01CE A8 82 674 mov r0,dpl
675 01D0 D0 07 675 pop ar7
676 01D2 D0 06 676 pop ar6
677 01D4 D0 05 677 pop ar5
678 01D6 D0 04 678 pop ar4
679 01D8 D0 03 679 pop ar3
680 01DA D0 02 680 pop ar2
682 01DC B8 0D 02 682 cjne r0,#0x0d,00114$
683 683 ; Peephole 132 changed ljmp to sjmp
684 01DF 80 D7 684 sjmp 00105$
690 01E4 F5 82 690 mov dpl,a
691 691 ; Peephole 180 changed mov to clr
693 01E7 3C 693 addc a,r4
694 01E8 F5 83 694 mov dph,a
695 01EA 8D F0 695 mov b,r5
697 01ED 12s00r00 697 lcall __gptrput
699 699 ; Peephole 132 changed ljmp to sjmp
700 700 ; Peephole 199 optimized misc jump sequence
701 01F0 B8 0A C5 701 cjne r0,#0x0a,00105$
702 702 ; Peephole 201 removed redundant sjmp
707 01F3 90s00r1E 707 mov dptr,#_ser_gets_s_1_1
708 01F6 E0 708 movx a,@dptr
711 01F9 E0 711 movx a,@dptr
714 01FC E0 714 movx a,@dptr
718 0200 F5 82 718 mov dpl,a
719 719 ; Peephole 180 changed mov to clr
721 0203 3B 721 addc a,r3
722 0204 F5 83 722 mov dph,a
723 0206 8C F0 723 mov b,r4
724 724 ; Peephole 180 changed mov to clr
726 0209 12s00r00 726 lcall __gptrput
728 020C 728 C$ser_ir.c$131$1$1 ==.
729 020C 729 XG$ser_gets$0$0 ==.
731 020D 731 G$ser_can_xmt$0$0 ==.
733 733 ; -----------------------------------------
734 734 ; function ser_can_xmt
735 735 ; -----------------------------------------
736 020D 736 _ser_can_xmt:
738 020D 90s00r15 738 mov dptr,#_xcnt
739 0210 E0 739 movx a,@dptr
742 0213 74 0A 742 mov a,#0x0a
743 0215 9A 743 subb a,r2
745 0217 8A 82 745 mov dpl,r2
747 0219 747 C$ser_ir.c$136$1$1 ==.
748 0219 748 XG$ser_can_xmt$0$0 ==.
750 021A 750 G$ser_can_rcv$0$0 ==.
752 752 ; -----------------------------------------
753 753 ; function ser_can_rcv
754 754 ; -----------------------------------------
755 021A 755 _ser_can_rcv:
757 021A 90s00r14 757 mov dptr,#_rcnt
758 021D E0 758 movx a,@dptr
760 021F 8A 82 760 mov dpl,r2
762 0221 762 C$ser_ir.c$141$1$1 ==.
763 0221 763 XG$ser_can_rcv$0$0 ==.
765 765 .area CSEG (CODE)