📄 main.lst
字号:
672 0000F0B7 A2 A0 ldx #%10100000
673 0000F0B9 ?L_Black:
674 0000F0B9 86 61 stx GB_ShowAddr
675 0000F0BB A9 00 lda #0
676 0000F0BD 85 60 sta GB_ShowData
677 0000F0BF 20 69 F1 jsr F_LCD
678 0000F0C2 E8 inx
679 0000F0C3 E0 AA cpx #%10101010
680 0000F0C5 90 F2 bcc ?L_Black
681
682 ;---------------------------------------------
683 ;clear showing buffer
684 0000F0C7 A9 00 lda #0
685 0000F0C9 A2 00 ldx #0
686 0000F0CB ?L_BlackBuf:
687 0000F0CB 95 62 sta GB_Data,x
688 0000F0CD E8 inx
689 0000F0CE E0 0B cpx #11
690 0000F0D0 90 F9 bcc ?L_BlackBuf
691 0000F0D2 60 rts
692
693 ;====================================================================================
694 ; Function: F_LCDShow
695 ; Description: LCD Showing
696 ; Input: A,Y
697 ; Output: none
698 ; Destroy: A,X,Y
699 ; Stacks: 3
700 ;====================================================================================
701 0000F0D3 F_LCDShow:
702 0000F0D3 C0 00 cpy #0
703 0000F0D5 D0 0E bne ?L_Data1
704 0000F0D7 85 60 sta GB_ShowData
705 0000F0D9 85 62 sta GB_Data
706 0000F0DB A9 A0 lda #%10100000
707 0000F0DD 85 61 sta GB_ShowAddr ;show data address
708 0000F0DF 20 69 F1 jsr F_LCD
709 0000F0E2 4C 68 F1 jmp ?L_Exit
710
711 0000F0E5 ?L_Data1:
712 0000F0E5 C0 01 cpy #1
713 0000F0E7 D0 12 bne ?L_Data11
714 0000F0E9 29 0F and #$0F
715 0000F0EB 05 63 ora GB_Data+1
716 0000F0ED 85 60 sta GB_ShowData
717 0000F0EF 85 63 sta GB_Data+1
718 0000F0F1 A9 A1 lda #%10100001
719 0000F0F3 85 61 sta GB_ShowAddr ;show data address
720 0000F0F5 20 69 F1 jsr F_LCD
721 0000F0F8 4C 68 F1 jmp ?L_Exit
722
723 0000F0FB ?L_Data11:
724 0000F0FB C0 0A cpy #10
725 0000F0FD D0 24 bne ?L_Data
726 0000F0FF A2 00 ldx #0
727 0000F101 48 pha
728 0000F102 ?L_Loop11:
729 0000F102 E8 inx
730 0000F103 E0 09 cpx #9
731 0000F105 F0 18 beq ?L_Exit1
732 0000F107 68 pla
733 0000F108 2A rol a
734 0000F109 48 pha
735 0000F10A 90 F6 bcc ?L_Loop11
736
737 0000F10C B5 62 lda GB_Data,x
738 0000F10E 09 80 ora #$80
739 0000F110 85 60 sta GB_ShowData ;low 4 segment--a.b.c.d
740 0000F112 95 62 sta GB_Data,x
741 0000F114 8A txa
742 0000F115 09 A0 ora #%10100000
743 0000F117 85 61 sta GB_ShowAddr ;show data address
744 0000F119 20 69 F1 jsr F_LCD
745 0000F11C 4C 02 F1 jmp ?L_Loop11
746 0000F11F ?L_Exit1:
747 0000F11F 68 pla
748 0000F120 4C 68 F1 jmp ?L_Exit
749
750 0000F123 ?L_Data:
751 0000F123 C0 0B cpy #11
752 0000F125 B0 41 bcs ?L_Exit
753 0000F127 C9 11 cmp #$11
754 0000F129 B0 3D bcs ?L_Exit
755 0000F12B AA tax
756 0000F12C 48 pha
757 0000F12D BD A4 F1 lda T_SevenSegTable,x ;showing data segment
758 0000F130 29 0F and #$0F
759 0000F132 85 60 sta GB_ShowData
760 0000F134 98 tya
761 0000F135 AA tax
762 0000F136 B5 62 lda GB_Data,x
763 0000F138 29 F0 and #$F0
764 0000F13A 05 60 ora GB_ShowData
765 0000F13C 85 60 sta GB_ShowData ;low 4 segment--a.b.c.d
766 0000F13E 95 62 sta GB_Data,x
767 0000F140 8A txa
768 0000F141 09 A0 ora #%10100000
769 0000F143 85 61 sta GB_ShowAddr ;show data address
770 0000F145 20 69 F1 jsr F_LCD
771 0000F148 8A txa
772 0000F149 A8 tay
773 0000F14A 68 pla
774 0000F14B AA tax
775 0000F14C BD A4 F1 lda T_SevenSegTable,x ;showing data segment
776 0000F14F 29 F0 and #$F0
777 0000F151 85 60 sta GB_ShowData
778 0000F153 98 tya
779 0000F154 AA tax
780 0000F155 CA dex
781 0000F156 B5 62 lda GB_Data,x
782 0000F158 29 8F and #$8F
783 0000F15A 05 60 ora GB_ShowData
784 0000F15C 85 60 sta GB_ShowData
785 0000F15E 95 62 sta GB_Data,x
786 0000F160 8A txa
787 0000F161 09 A0 ora #%10100000
788 0000F163 85 61 sta GB_ShowAddr ;show data address
789 0000F165 20 69 F1 jsr F_LCD
790 0000F168 ?L_Exit:
791 0000F168 60 rts
792 0000F169 F_LCD:
793 ;--------------------------------------------
794 ;synchro
795 0000F169 ?L_Syn:
796 0000F169 AF 01 set P_IOB_Data,2
797 0000F16B 8F 01 set P_IOB_Data,0
798 0000F16D 0F 01 clr P_IOB_Data,0
799 0000F16F ?L_s:
800 0000F16F A5 01 lda P_IOB_Data
801 0000F171 29 02 and #%00000010
802 0000F173 D0 FA bne ?L_s
803 0000F175 8F 01 set P_IOB_Data,0
804 0000F177 ?L_s1:
805 0000F177 A5 01 lda P_IOB_Data
806 0000F179 29 02 and #%00000010
807 0000F17B F0 FA beq ?L_s1
808
809 ;--------------------------------------------
810 ;Write commend word 1010 ,address, data
811 0000F17D A0 00 ldy #0
812 0000F17F ?L_SendData:
813 0000F17F 26 60 rol GB_ShowData
814 0000F181 26 61 rol GB_ShowAddr
815 0000F183 90 05 bcc ?L_Write0
816 0000F185 8F 01 set P_IOB_Data,0 ;write 1
817 0000F187 4C 8C F1 jmp ?L_Write1
818 0000F18A ?L_Write0:
819 0000F18A 0F 01 clr P_IOB_Data,0 ;write 0
820 0000F18C ?L_Write1:
821 0000F18C EA nop
822 0000F18D EA nop
823 0000F18E 2F 01 clr P_IOB_Data,2
824 0000F190 ?L_1:
825 0000F190 A5 01 lda P_IOB_Data
826 0000F192 29 02 and #%00000010
827 0000F194 D0 FA bne ?L_1
828 0000F196 AF 01 set P_IOB_Data,2
829 0000F198 ?L_1q:
830 0000F198 A5 01 lda P_IOB_Data
831 0000F19A 29 02 and #%00000010
832 0000F19C F0 FA beq ?L_1q
833 0000F19E C8 iny
834 0000F19F C0 10 cpy #16
835 0000F1A1 D0 DC bne ?L_SendData
836 0000F1A3 60 rts
837 0000F1A4 T_SevenSegTable: ;The segment table of lcd
838 0000F1A4 3F DB %00111111 ;Character '0'
839 0000F1A5 06 DB %00000110 ;Character '1'
840 0000F1A6 5B
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -