📄 lcm9864.lst
字号:
290 0166 3404 retlw 4
291 0167 347A retlw 122
292 0168 3443 retlw 67
293 0169 3442 retlw 66
294 016A 3442 retlw 66
295 016B 34F2 retlw -14
296 016C 344B retlw 75
297 016D 3408 retlw 8
298 016E 3408 retlw 8
299 016F 3400 retlw 0
300 0170 3400 retlw 0
301 0171 3400 retlw 0
302 0172 3400 retlw 0
303 0173 34F0 retlw -16
304 0174 3424 retlw 36
305 0175 3444 retlw 68
306 0176 3408 retlw 8
307 0177 3488 retlw -120
308 0178 3450 retlw 80
309 0179 3420 retlw 32
310 017A 3450 retlw 80
311 017B 3488 retlw -120
312 017C 340C retlw 12
313 017D 3408 retlw 8
314 017E 3400 retlw 0
315 017F 3404 retlw 4
316 0180 3484 retlw -124
317 0181 3444 retlw 68
318 0182 3467 retlw 103
319 0183 3400 retlw 0
320 0184 3404 retlw 4
321 0185 3404 retlw 4
322 0186 3404 retlw 4
323 0187 3404 retlw 4
324 0188 34FF retlw -1
325 0189 3404 retlw 4
326 018A 3404 retlw 4
327 018B 340C retlw 12
328 018C 3404 retlw 4
329 018D 3400 retlw 0
330 018E 3400 retlw 0
331 018F 3400 retlw 0
332 0190 3400 retlw 0
333 0191 34F8 retlw -8
334 0192 3410 retlw 16
335 0193 3420 retlw 32
336 0194 3400 retlw 0
337 0195 3400 retlw 0
338 0196 3400 retlw 0
339 0197 34FC retlw -4
340 0198 3400 retlw 0
341 0199 3400 retlw 0
342 019A 3400 retlw 0
343 019B 3400 retlw 0
344 019C 3400 retlw 0
345
346 psect text3
347 ;lcm9864.c: 51: void write_command(unsigned cha
+ r send_command)
348 ;lcm9864.c: 52: {
349 06A7 _write_command
350 ; _send_command assigned to ?a_write_command+0
351 0000 _write_command$send_command set ?a_write_comman
+ d
352 ;_send_command stored from w
353 06A7 0183 clrf 3 ;select bank 0
354 06A8 00AA movwf ?a_write_command
355 ;lcm9864.c: 53: RS = 0;
356 06A9 1007 bcf 7,0
357 ;lcm9864.c: 54: RW = 0;
358 06AA 1087 bcf 7,1
359 ;lcm9864.c: 55: PORTD = send_command;
360 06AB 0088 movwf 8 ;volatile
361 ;lcm9864.c: 56: E = 1;
362 06AC 1507 bsf 7,2
363 ;lcm9864.c: 57: E = 0;
364 06AD 1107 bcf 7,2
365 ;lcm9864.c: 58: }
366 06AE 0008 return
367 ;lcm9864.c: 59: void write_data(unsigned char s
+ end_data)
368 ;lcm9864.c: 60: {
369 06AF _write_data
370 ; _send_data assigned to ?a_write_data+0
371 0000 _write_data$send_data set ?a_write_data
372 ;_send_data stored from w
373 06AF 0183 clrf 3 ;select bank 0
374 06B0 00A9 movwf ?a_write_data
375 ;lcm9864.c: 61: write_command(x_line);
376 06B1 0821 movf _x_line,w ;volatile
377 06B2 26A7 fcall _write_command
378 ;lcm9864.c: 62: write_command(y_line);
379 06B3 0822 movf _y_line,w ;volatile
380 06B4 26A7 fcall _write_command
381 ;lcm9864.c: 63: RS = 1;
382 06B5 1407 bsf 7,0
383 ;lcm9864.c: 64: RW = 0;
384 06B6 1087 bcf 7,1
385 ;lcm9864.c: 65: PORTD = send_data;
386 06B7 0829 movf ?a_write_data,w
387 06B8 0088 movwf 8 ;volatile
388 ;lcm9864.c: 66: E = 1;
389 06B9 1507 bsf 7,2
390 ;lcm9864.c: 67: E = 0;
391 06BA 1107 bcf 7,2
392 ;lcm9864.c: 68: y_line ++;
393 06BB 0AA2 incf _y_line ;volatile
394 ;lcm9864.c: 69: if ((y_line & 0x0f) == 0x00)
395 06BC 0822 movf _y_line,w ;volatile
396 06BD 390F andlw 15
397 06BE 1D03 btfss 3,2
398 06BF 0008 return
399 ;lcm9864.c: 70: {
400 06C0 0AA1 incf _x_line ;volatile
401 ;lcm9864.c: 72: y_line = 0x00;
402 06C1 01A2 clrf _y_line ;volatile
403 ;lcm9864.c: 73: }
404 06C2 0008 return
405 06C3 _disp_data
406 ; _x assigned to ?a_disp_data+0
407 0000 _disp_data$x set ?a_disp_data
408 ; _i assigned to ?a_disp_data+1
409 0000 _disp_data$i set ?a_disp_data+1
410 ;_x stored from w
411 06C3 0183 clrf 3 ;select bank 0
412 06C4 00A7 movwf ?a_disp_data
413 ;lcm9864.c: 77: unsigned char i;
414 06C5 00A1 movwf _x_line ;volatile
415 ;lcm9864.c: 79: y_line = y;
416 06C6 0823 movf ?_disp_data,w
417 06C7 00A2 movwf _y_line ;volatile
418 ;lcm9864.c: 80: PAGE = page;
419 06C8 0824 movf ?_disp_data+1,w
420 06C9 00A0 movwf _PAGE ;volatile
421 ;lcm9864.c: 81: write_command(PAGE);
422 06CA 0820 movf _PAGE,w ;volatile
423 06CB 26A7 fcall _write_command
424 ;lcm9864.c: 82: if (size == 0x00)
425 06CC 08A6 movf ?_disp_data+3
426 06CD 1D03 btfss 3,2
427 06CE 2EF6 goto l12
428 ;lcm9864.c: 83: {
429 06CF 01A8 clrf ?a_disp_data+1
430 06D0 l13
431 ;lcm9864.c: 85: {
432 ;lcm9864.c: 86: write_data(sz_number[charater*1
+ 6+i]);
433 06D0 3000 movlw _sz_number shr (0+8)
434 06D1 008A movwf 10
435 06D2 0E25 swapf ?_disp_data+2,w
436 06D3 39F0 andlw 240
437 06D4 0728 addwf ?a_disp_data+1,w
438 06D5 2013 call ((_sz_number+-1)& (0+2047))| (($)& (0+-20
+ 48))
439 06D6 120A 118A 26AF fcall _write_data
440 ;lcm9864.c: 87: }
441 06D9 0AA8 incf ?a_disp_data+1
442 06DA 3008 movlw 8
443 06DB 0228 subwf ?a_disp_data+1,w
444 06DC 1C03 btfss 3,0
445 06DD 2ED0 goto l13
446 ;lcm9864.c: 88: PAGE = PAGE - 1;
447 06DE 03A0 decf _PAGE ;volatile
448 ;lcm9864.c: 89: write_command(PAGE);
449 06DF 0820 movf _PAGE,w ;volatile
450 06E0 26A7 fcall _write_command
451 ;lcm9864.c: 90: x_line = x;
452 06E1 0827 movf ?a_disp_data,w
453 06E2 00A1 movwf _x_line ;volatile
454 ;lcm9864.c: 91: y_line = y;
455 06E3 0823 movf ?_disp_data,w
456 06E4 00A2 movwf _y_line ;volatile
457 ;lcm9864.c: 92: for (i = 0; i < 8;i++)
458 06E5 01A8 clrf ?a_disp_data+1
459 06E6 l16
460 ;lcm9864.c: 93: {
461 ;lcm9864.c: 94: write_data(sz_number[charater*1
+ 6+i+8]);
462 06E6 3000 movlw _sz_number shr (0+8)
463 06E7 008A movwf 10
464 06E8 0E25 swapf ?_disp_data+2,w
465 06E9 39F0 andlw 240
466 06EA 0728 addwf ?a_disp_data+1,w
467 06EB 3E08 addlw 8
468 06EC 2013 call ((_sz_number+-1)& (0+2047))| (($)& (0+-20
+ 48))
469 06ED 120A 118A 26AF fcall _write_data
470 ;lcm9864.c: 95: }
471 06F0 0AA8 incf ?a_disp_data+1
472 06F1 3008 movlw 8
473 06F2 0228 subwf ?a_disp_data+1,w
474 06F3 1803 btfsc 3,0
475 06F4 0008 return
476 06F5 2EE6 goto l16
477 ;lcm9864.c: 96: }
478 06F6 l12
479 ;lcm9864.c: 98: {
480 06F6 01A8 clrf ?a_disp_data+1
481 06F7 l20
482 ;lcm9864.c: 100: {
483 ;lcm9864.c: 101: write_data(hz_charater[charate
+ r*32+i]);
484 06F7 0825 movf ?_disp_data+2,w
485 06F8 00F0 movwf btemp
486 06F9 3005 movlw 5
487 06FA 00F1 movwf btemp+1
488 06FB u65
489 06FB 1003 bcf 3,0
490 06FC 0DF0 rlf btemp
491 06FD 0BF1 decfsz btemp+1
492 06FE 2EFB goto u65
493 06FF 0870 movf btemp,w
494 0700 0728 addwf ?a_disp_data+1,w
495 0701 00F0 movwf btemp
496 0702 3001 movlw _hz_charater shr (0+8)
497 0703 008A movwf 10
498 0704 0870 movf btemp,w
499 0705 2100 call ((_hz_charater+-1)& (0+2047))| (($)& (0+-
+ 2048))
500 0706 120A 118A 26AF fcall _write_data
501 ;lcm9864.c: 102: }
502 0709 0AA8 incf ?a_disp_data+1
503 070A 3010 movlw 16
504 070B 0228 subwf ?a_disp_data+1,w
505 070C 1C03 btfss 3,0
506 070D 2EF7 goto l20
507 ;lcm9864.c: 103: PAGE = PAGE - 1;
508 070E 03A0 decf _PAGE ;volatile
509 ;lcm9864.c: 104: write_command(PAGE);
510 070F 0820 movf _PAGE,w ;volatile
511 0710 26A7 fcall _write_command
512 ;lcm9864.c: 105: x_line = x;
513 0711 0827 movf ?a_disp_data,w
514 0712 00A1 movwf _x_line ;volatile
515 ;lcm9864.c: 106: y_line = y;
516 0713 0823 movf ?_disp_data,w
517 0714 00A2 movwf _y_line ;volatile
518 ;lcm9864.c: 107: for (i = 0; i < 16;i++)
519 0715 01A8 clrf ?a_disp_data+1
520 0716 l23
521 ;lcm9864.c: 108: {
522 ;lcm9864.c: 109: write_data(hz_charater[charate
+ r*32+i+16]);
523 0716 0825 movf ?_disp_data+2,w
524 0717 00F0 movwf btemp
525 0718 3005 movlw 5
526 0719 00F1 movwf btemp+1
527 071A u85
528 071A 1003 bcf 3,0
529 071B 0DF0 rlf btemp
530 071C 0BF1 decfsz btemp+1
531 071D 2F1A goto u85
532 071E 0870 movf btemp,w
533 071F 0728 addwf ?a_disp_data+1,w
534 0720 3E10 addlw 16
535 0721 00F0 movwf btemp
536 0722 3001 movlw _hz_charater shr (0+8)
537 0723 008A movwf 10
538 0724 0870 movf btemp,w
539 0725 2100 call ((_hz_charater+-1)& (0+2047))| (($)& (0+-
+ 2048))
540 0726 120A 118A 26AF fcall _write_data
541 ;lcm9864.c: 110: }
542 0729 0AA8 incf ?a_disp_data+1
543 072A 3010 movlw 16
544 072B 0228 subwf ?a_disp_data+1,w
545 072C 1803 btfsc 3,0
546 072D 0008 return
547 072E 2F16 goto l23
548 ;lcm9864.c: 129: void lcd_clear(void)
549 ;lcm9864.c: 130: {
550 072F _lcd_clear
551 ; _i assigned to ?a_lcd_clear+0
552 0000 _lcd_clear$i set ?a_lcd_clear
553 ; _j assigned to ?a_lcd_clear+1
554 0000 _lcd_clear$j set ?a_lcd_clear+1
555 ;lcm9864.c: 131: unsigned char i,j;
556 072F 30B0 movlw -80
557 0730 0183 clrf 3 ;select bank 0
558 0731 00A0 movwf _PAGE ;volatile
559 ;lcm9864.c: 134: for(i = 0;i < 8;i++)
560 0732 01A3 clrf ?a_lcd_clear
561 0733 l28
562 ;lcm9864.c: 135: {
563 ;lcm9864.c: 136: x_line = 0x10;
564 0733 3010 movlw 16
565 0734 00A1 movwf _x_line ;volatile
566 ;lcm9864.c: 137: y_line = 0x00;
567 0735 01A2 clrf _y_line ;volatile
568 ;lcm9864.c: 138: write_command(PAGE);
569 0736 0820 movf _PAGE,w ;volatile
570 0737 26A7 fcall _write_command
571 ;lcm9864.c: 139: for(j=0;j<98;j++)
572 0738 01A4 clrf ?a_lcd_clear+1
573 0739 l31
574 ;lcm9864.c: 140: {
575 ;lcm9864.c: 141: write_data(0x00);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -