📄 lcd.lst
字号:
+ ,(x/256)+0x0c,0x24);
245 0569 0825 movf ?a_write_chinese+2,w
246 056A 3E0C addlw 12
247 056B 00A6 movwf ?_lcd_double_operator
248 056C 3024 movlw 36
249 056D 00A7 movwf ?_lcd_double_operator+1
250 056E 0A24 incf ?a_write_chinese+1,w
251 056F 260A 120A 118A fcall _lcd_double_operator
252 ;lcd.c: 187: lcd_single_operator(attr,0xc4);
253 0572 30C4 movlw -60
254 0573 00A6 movwf ?_lcd_single_operator
255 0574 0822 movf ?_write_chinese+2,w
256 0575 2E2E ljmp _lcd_single_operator
257 0576 _write_english
258 ; _cursor_x assigned to ?a_write_english+0
259 0000 _write_english$cursor_x set ?a_write_english
260 ; _x assigned to ?a_write_english+1
261 0000 _write_english$x set ?a_write_english+1
262 ;_cursor_x stored from w
263 0576 0183 clrf 3 ;select bank 0
264 0577 00A3 movwf ?a_write_english
265 ;lcd.c: 158: unsigned int x;
266 0578 301E movlw 30
267 0579 00F2 movwf btemp+2
268 057A 01F3 clrf btemp+3
269 057B 0820 movf ?_write_english,w
270 057C 00F0 movwf btemp
271 057D 01F1 clrf btemp+1
272 057E 120A 118A 24D4 fcall lwmul
+ 120A 118A
273 0583 0874 movf btemp+4,w
274 0584 00A4 movwf ?a_write_english+1
275 0585 0875 movf btemp+5,w
276 0586 00A5 movwf ?a_write_english+2
277 ;lcd.c: 160: x=x+cursor_x;
278 0587 0823 movf ?a_write_english,w
279 0588 07A4 addwf ?a_write_english+1
280 0589 1803 btfsc 3,0
281 058A 0AA5 incf ?a_write_english+2
282 ;lcd.c: 161: lcd_double_operator((x&0x00ff),(x/
+ 256),0x24);
283 058B 0825 movf ?a_write_english+2,w
284 058C 00A6 movwf ?_lcd_double_operator
285 058D 3024 movlw 36
286 058E 00A7 movwf ?_lcd_double_operator+1
287 058F 0824 movf ?a_write_english+1,w
288 0590 260A 120A 118A fcall _lcd_double_operator
289 ;lcd.c: 162: lcd_single_operator(c_code,0xc4);
290 0593 30C4 movlw -60
291 0594 00A6 movwf ?_lcd_single_operator
292 0595 0821 movf ?_write_english+1,w
293 0596 262E 120A 118A fcall _lcd_single_operator
294 ;lcd.c: 163: lcd_double_operator((x&0x00ff),(x/
+ 256)+0x0c,0x24);
295 0599 0825 movf ?a_write_english+2,w
296 059A 3E0C addlw 12
297 059B 00A6 movwf ?_lcd_double_operator
298 059C 3024 movlw 36
299 059D 00A7 movwf ?_lcd_double_operator+1
300 059E 0824 movf ?a_write_english+1,w
301 059F 260A 120A 118A fcall _lcd_double_operator
302 ;lcd.c: 164: lcd_single_operator(attr,0xc4);
303 05A2 30C4 movlw -60
304 05A3 00A6 movwf ?_lcd_single_operator
305 05A4 0822 movf ?_write_english+2,w
306 05A5 2E2E ljmp _lcd_single_operator
307 ;lcd.c: 138: void creat_cgram(unsigned char cou
+ nt){
308 05A6 _creat_cgram
309 ; _count assigned to ?a_creat_cgram+0
310 0000 _creat_cgram$count set ?a_creat_cgram
311 ; _x assigned to ?a_creat_cgram+1
312 0000 _creat_cgram$x set ?a_creat_cgram+1
313 ; _i assigned to ?a_creat_cgram+3
314 0000 _creat_cgram$i set ?a_creat_cgram+3
315 ;_count stored from w
316 05A6 0183 clrf 3 ;select bank 0
317 05A7 00A0 movwf ?a_creat_cgram
318 ;lcd.c: 139: unsigned int i,x;
319 05A8 00F0 movwf btemp
320 05A9 01F1 clrf btemp+1
321 05AA 1003 bcf 3,0
322 05AB 0DF0 rlf btemp
323 05AC 0DF1 rlf btemp+1
324 05AD 1003 bcf 3,0
325 05AE 0DF0 rlf btemp
326 05AF 0DF1 rlf btemp+1
327 05B0 0870 movf btemp,w
328 05B1 00A1 movwf ?a_creat_cgram+1
329 05B2 0871 movf btemp+1,w
330 05B3 00A2 movwf ?a_creat_cgram+2
331 ;lcd.c: 141: x=x*8;
332 05B4 1003 bcf 3,0
333 05B5 0DA1 rlf ?a_creat_cgram+1
334 05B6 0DA2 rlf ?a_creat_cgram+2
335 05B7 1003 bcf 3,0
336 05B8 0DA1 rlf ?a_creat_cgram+1
337 05B9 0DA2 rlf ?a_creat_cgram+2
338 05BA 1003 bcf 3,0
339 05BB 0DA1 rlf ?a_creat_cgram+1
340 05BC 0DA2 rlf ?a_creat_cgram+2
341 ;lcd.c: 142: lcd_double_operator(0x03,0x00,0x22
+ );
342 05BD 01A6 clrf ?_lcd_double_operator
343 05BE 3022 movlw 34
344 05BF 00A7 movwf ?_lcd_double_operator+1
345 05C0 3003 movlw 3
346 05C1 260A 120A 118A fcall _lcd_double_operator
347 ;lcd.c: 143: lcd_double_operator(0x00,0x1c,0x24
+ );
348 05C4 301C movlw 28
349 05C5 00A6 movwf ?_lcd_double_operator
350 05C6 3024 movlw 36
351 05C7 00A7 movwf ?_lcd_double_operator+1
352 05C8 3000 movlw 0
353 05C9 260A 120A 118A fcall _lcd_double_operator
354 ;lcd.c: 144: for (i=0;i<x;i++){
355 05CC 01A3 clrf ?a_creat_cgram+3
356 05CD 01A4 clrf ?a_creat_cgram+4
357 05CE 2DDD goto l30
358 05CF l27
359 ;lcd.c: 145: lcd_single_operator(font[i],0xc0);
360 05CF 30C0 movlw -64
361 05D0 00A6 movwf ?_lcd_single_operator
362 05D1 3000 movlw _font shr (0+8)
363 05D2 008A movwf 10
364 05D3 0823 movf ?a_creat_cgram+3,w
365 05D4 2008 call ((_font+-1)& (0+2047))| (($)& (0+-2048))
366 05D5 120A 118A 262E fcall _lcd_single_operator
+ 120A 118A
367 ;lcd.c: 146: }
368 05DA 0AA3 incf ?a_creat_cgram+3
369 05DB 1903 btfsc 3,2
370 05DC 0AA4 incf ?a_creat_cgram+4
371 05DD l30
372 05DD 0822 movf ?a_creat_cgram+2,w
373 05DE 0224 subwf ?a_creat_cgram+4,w
374 05DF 1D03 btfss 3,2
375 05E0 2DE3 goto u75
376 05E1 0821 movf ?a_creat_cgram+1,w
377 05E2 0223 subwf ?a_creat_cgram+3,w
378 05E3 u75
379 05E3 1803 btfsc 3,0
380 05E4 0008 return
381 05E5 2DCF goto l27
382 05E6 _write_contr
383 ; _data_c assigned to ?a_write_contr+0
384 0000 _write_contr$data_c set ?a_write_contr
385 ;_data_c stored from w
386 05E6 0183 clrf 3 ;select bank 0
387 05E7 00AA movwf ?a_write_contr
388 ;lcd.c: 66: TRISC=0x00;
389 05E8 1683 bsf 3,5
390 05E9 0187 clrf 7 ;volatile
391 ;lcd.c: 67: TRISB=0x00;
392 05EA 0186 clrf 6 ;volatile
393 ;lcd.c: 68: PORTC|=0x04;
394 05EB 1283 bcf 3,5
395 05EC 1507 bsf 7,2 ;volatile
396 ;lcd.c: 69: PORTB=data_c;
397 05ED 082A movf ?a_write_contr,w
398 05EE 0086 movwf 6 ;volatile
399 ;lcd.c: 70: PORTC&=0xfe;
400 05EF 1007 bcf 7,0 ;volatile
401 ;lcd.c: 71: PORTC|=0x01;
402 05F0 1407 bsf 7,0 ;volatile
403 ;lcd.c: 72: }
404 05F1 0008 return
405 05F2 _write_data
406 ; _data_d assigned to ?a_write_data+0
407 0000 _write_data$data_d set ?a_write_data
408 ;_data_d stored from w
409 05F2 0183 clrf 3 ;select bank 0
410 05F3 00AA movwf ?a_write_data
411 ;lcd.c: 58: TRISC=0x00;
412 05F4 1683 bsf 3,5
413 05F5 0187 clrf 7 ;volatile
414 ;lcd.c: 59: TRISB=0x00;
415 05F6 0186 clrf 6 ;volatile
416 ;lcd.c: 60: PORTC&=0xfb;
417 05F7 1283 bcf 3,5
418 05F8 1107 bcf 7,2 ;volatile
419 ;lcd.c: 61: PORTB=data_d;
420 05F9 082A movf ?a_write_data,w
421 05FA 0086 movwf 6 ;volatile
422 ;lcd.c: 62: PORTC&=0xfe;
423 05FB 1007 bcf 7,0 ;volatile
424 ;lcd.c: 63: PORTC|=0x01;
425 05FC 1407 bsf 7,0 ;volatile
426 ;lcd.c: 64: }
427 05FD 0008 return
428 05FE _read_data
429 ; _i assigned to ?a_read_data+0
430 0000 _read_data$i set ?a_read_data
431 ;lcd.c: 48: unsigned char i;
432 05FE 1683 bsf 3,5
433 05FF 1303 bcf 3,6 ;carry unused
434 0600 0187 clrf 7 ;volatile
435 ;lcd.c: 50: TRISB=0xff;
436 0601 30FF movlw -1
437 0602 0086 movwf 6 ;volatile
438 ;lcd.c: 51: PORTC|=0x04;
439 0603 1283 bcf 3,5
440 0604 1507 bsf 7,2 ;volatile
441 ;lcd.c: 52: PORTC&=0xfd;
442 0605 1087 bcf 7,1 ;volatile
443 ;lcd.c: 53: i=PORTB;
444 0606 0806 movf 6,w ;volatile
445 0607 00AA movwf ?a_read_data
446 ;lcd.c: 54: PORTC|=0x02;
447 0608 1487 bsf 7,1 ;volatile
448 ;lcd.c: 56: }
449 0609 0008 return
450 060A _lcd_double_operator
451 ; _data1 assigned to ?a_lcd_double_operator+0
452 0000 _lcd_double_operator$data1 set ?a_lcd_double_op
+ erator
453 ; _i assigned to ?a_lcd_double_operator+1
454 0000 _lcd_double_operator$i set ?a_lcd_double_operat
+ or+1
455 ;_data1 stored from w
456 060A 0183 clrf 3 ;select bank 0
457 060B 00A8 movwf ?a_lcd_double_operator
458 ;lcd.c: 75: unsigned char i;
459 060C 01A9 clrf ?a_lcd_double_operator+1
460 ;lcd.c: 77: while(i!=0x02)
461 060D 2E12 goto l5
462 060E l6
463 ;lcd.c: 78: {
464 060E 25FE fcall _read_data
465 060F 00A9 movwf ?a_lcd_double_operator+1
466 ;lcd.c: 80: i=i&0x02;
467 0610 3002 movlw 2
468 0611 05A9 andwf ?a_lcd_double_operator+1
469 0612 l5
470 ;lcd.c: 81: }
471 0612 0829 movf ?a_lcd_double_operator+1,w
472 0613 3A02 xorlw 2
473 0614 1D03 btfss 3,2
474 0615 2E0E goto l6
475 ;lcd.c: 82: write_data(data1);
476 0616 0828 movf ?a_lcd_double_operator,w
477 0617 25F2 fcall _write_data
478 ;lcd.c: 83: i=0;
479 0618 01A9 clrf ?a_lcd_double_operator+1
480 ;lcd.c: 84: while(i!=0x02)
481 0619 l8
482 ;lcd.c: 88: }
483 0619 0829 movf ?a_lcd_double_operator+1,w
484 061A 3A02 xorlw 2
485 061B 1903 btfsc 3,2
486 061C 2E22 goto l10
487 ;lcd.c: 85: {
488 061D 25FE fcall _read_data
489 061E 00A9 movwf ?a_lcd_double_operator+1
490 ;lcd.c: 87: i=i&0x02;
491 061F 3002 movlw 2
492 0620 05A9 andwf ?a_lcd_double_operator+1
493 0621 2E19 goto l8
494 0622 l10
495 ;lcd.c: 89: write_data(data2);
496 0622 0826 movf ?_lcd_double_operator,w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -