📄 lcd4bit.lis
字号:
05B2 0E940000 xcall lpm32
05B6 50900300 lds R5,_del+2+1
05BA 40900200 lds R4,_del+2
05BE 30900100 lds R3,_del+1
05C2 20900000 lds R2,_del
05C6 200E add R2,R16
05C8 311E adc R3,R17
05CA 421E adc R4,R18
05CC 531E adc R5,R19
05CE 30920100 sts _del+1,R3
05D2 20920000 sts _del,R2
05D6 50920300 sts _del+2+1,R5
05DA 40920200 sts _del+2,R4
05DE .dbline 159
05DE 00E0 ldi R16,<L19
05E0 10E0 ldi R17,>L19
05E2 0E940000 xcall lpm32
05E6 50900300 lds R5,_del+2+1
05EA 40900200 lds R4,_del+2
05EE 30900100 lds R3,_del+1
05F2 20900000 lds R2,_del
05F6 2016 cp R2,R16
05F8 3106 cpc R3,R17
05FA 4206 cpc R4,R18
05FC 5306 cpc R5,R19
05FE BCF2 brlt L64
0600 .dbline -2
0600 .dbline 160
; }
0600 L59:
0600 0E940000 xcall pop_gset3x
0604 .dbline 0 ; func end
0604 0895 ret
0606 .dbsym r data 10 c
0606 .dbfunc s LCD4_PutC_Const _LCD4_PutC_Const fI
; data -> R10
.even
0606 _LCD4_PutC_Const::
0606 0E940000 xcall push_gset3x
060A A02E mov R10,R16
060C .dbline -1
060C .dbline 163
;
; void LCD4_PutC_Const(const unsigned char data)
; {
060C .dbline 164
; LCD4_WR4bits( data >> 4);
060C 0A2D mov R16,R10
060E 0695 lsr R16
0610 0695 lsr R16
0612 0695 lsr R16
0614 0695 lsr R16
0616 0FDD xcall _LCD4_WR4bits
0618 .dbline 165
0618 00E0 ldi R16,<L17
061A 10E0 ldi R17,>L17
061C 0E940000 xcall lpm32
0620 10930100 sts _del+1,R17
0624 00930000 sts _del,R16
0628 30930300 sts _del+2+1,R19
062C 20930200 sts _del+2,R18
0630 L69:
0630 .dbline 165
0630 L70:
0630 .dbline 165
; DELAY;
0630 00E0 ldi R16,<L18
0632 10E0 ldi R17,>L18
0634 0E940000 xcall lpm32
0638 50900300 lds R5,_del+2+1
063C 40900200 lds R4,_del+2
0640 30900100 lds R3,_del+1
0644 20900000 lds R2,_del
0648 200E add R2,R16
064A 311E adc R3,R17
064C 421E adc R4,R18
064E 531E adc R5,R19
0650 30920100 sts _del+1,R3
0654 20920000 sts _del,R2
0658 50920300 sts _del+2+1,R5
065C 40920200 sts _del+2,R4
0660 .dbline 165
0660 00E0 ldi R16,<L19
0662 10E0 ldi R17,>L19
0664 0E940000 xcall lpm32
0668 50900300 lds R5,_del+2+1
066C 40900200 lds R4,_del+2
0670 30900100 lds R3,_del+1
0674 20900000 lds R2,_del
0678 2016 cp R2,R16
067A 3106 cpc R3,R17
067C 4206 cpc R4,R18
067E 5306 cpc R5,R19
0680 BCF2 brlt L69
0682 .dbline 166
; LCD4_WR4bits( data);
0682 0A2D mov R16,R10
0684 D8DC xcall _LCD4_WR4bits
0686 .dbline 167
0686 00E0 ldi R16,<L17
0688 10E0 ldi R17,>L17
068A 0E940000 xcall lpm32
068E 10930100 sts _del+1,R17
0692 00930000 sts _del,R16
0696 30930300 sts _del+2+1,R19
069A 20930200 sts _del+2,R18
069E L73:
069E .dbline 167
069E L74:
069E .dbline 167
; DELAY;
069E 00E0 ldi R16,<L18
06A0 10E0 ldi R17,>L18
06A2 0E940000 xcall lpm32
06A6 50900300 lds R5,_del+2+1
06AA 40900200 lds R4,_del+2
06AE 30900100 lds R3,_del+1
06B2 20900000 lds R2,_del
06B6 200E add R2,R16
06B8 311E adc R3,R17
06BA 421E adc R4,R18
06BC 531E adc R5,R19
06BE 30920100 sts _del+1,R3
06C2 20920000 sts _del,R2
06C6 50920300 sts _del+2+1,R5
06CA 40920200 sts _del+2,R4
06CE .dbline 167
06CE 00E0 ldi R16,<L19
06D0 10E0 ldi R17,>L19
06D2 0E940000 xcall lpm32
06D6 50900300 lds R5,_del+2+1
06DA 40900200 lds R4,_del+2
06DE 30900100 lds R3,_del+1
06E2 20900000 lds R2,_del
06E6 2016 cp R2,R16
06E8 3106 cpc R3,R17
06EA 4206 cpc R4,R18
06EC 5306 cpc R5,R19
06EE BCF2 brlt L73
06F0 .dbline -2
06F0 .dbline 168
; }
06F0 L68:
06F0 0E940000 xcall pop_gset3x
06F4 .dbline 0 ; func end
06F4 0895 ret
06F6 .dbsym r data 10 c
06F6 .dbfunc s LCD4_PutS _LCD4_PutS fI
; c -> R10
; data -> R12,R13
.even
06F6 _LCD4_PutS::
06F6 0E940000 xcall push_gset4x
06FA 6801 movw R12,R16
06FC .dbline -1
06FC .dbline 171
;
; void LCD4_PutS(unsigned char *data)
; {
06FC .dbline 172
; unsigned char c = 0;
06FC AA24 clr R10
06FE 49C0 xjmp L79
0700 L78:
0700 .dbline 174
;
; while (data[c] != 0) {
0700 .dbline 175
; LCD4_WR4bits( data[c] >> 4);
0700 EA2D mov R30,R10
0702 FF27 clr R31
0704 EC0D add R30,R12
0706 FD1D adc R31,R13
0708 0081 ldd R16,z+0
070A 0695 lsr R16
070C 0695 lsr R16
070E 0695 lsr R16
0710 0695 lsr R16
0712 91DC xcall _LCD4_WR4bits
0714 .dbline 176
; LCD4_WR4bits( data[c++]);
0714 2A2C mov R2,R10
0716 3324 clr R3
0718 8A2D mov R24,R10
071A 8F5F subi R24,255 ; addi 1
071C A82E mov R10,R24
071E F101 movw R30,R2
0720 EC0D add R30,R12
0722 FD1D adc R31,R13
0724 0081 ldd R16,z+0
0726 87DC xcall _LCD4_WR4bits
0728 .dbline 177
0728 00E0 ldi R16,<L17
072A 10E0 ldi R17,>L17
072C 0E940000 xcall lpm32
0730 10930100 sts _del+1,R17
0734 00930000 sts _del,R16
0738 30930300 sts _del+2+1,R19
073C 20930200 sts _del+2,R18
0740 L81:
0740 .dbline 177
0740 L82:
0740 .dbline 177
0740 00E0 ldi R16,<L18
0742 10E0 ldi R17,>L18
0744 0E940000 xcall lpm32
0748 50900300 lds R5,_del+2+1
074C 40900200 lds R4,_del+2
0750 30900100 lds R3,_del+1
0754 20900000 lds R2,_del
0758 200E add R2,R16
075A 311E adc R3,R17
075C 421E adc R4,R18
075E 531E adc R5,R19
0760 30920100 sts _del+1,R3
0764 20920000 sts _del,R2
0768 50920300 sts _del+2+1,R5
076C 40920200 sts _del+2,R4
0770 .dbline 177
0770 00E0 ldi R16,<L19
0772 10E0 ldi R17,>L19
0774 0E940000 xcall lpm32
0778 50900300 lds R5,_del+2+1
077C 40900200 lds R4,_del+2
0780 30900100 lds R3,_del+1
0784 20900000 lds R2,_del
0788 2016 cp R2,R16
078A 3106 cpc R3,R17
078C 4206 cpc R4,R18
078E 5306 cpc R5,R19
0790 BCF2 brlt L81
0792 .dbline 178
0792 L79:
0792 .dbline 174
0792 EA2D mov R30,R10
0794 FF27 clr R31
0796 EC0D add R30,R12
0798 FD1D adc R31,R13
079A 2080 ldd R2,z+0
079C 2220 tst R2
079E 09F0 breq X0
07A0 AFCF xjmp L78
07A2 X0:
07A2 .dbline -2
07A2 .dbline 179
; DELAY;
; }
; }
07A2 L77:
07A2 0E940000 xcall pop_gset4x
07A6 .dbline 0 ; func end
07A6 0895 ret
07A8 .dbsym r c 10 c
07A8 .dbsym r data 12 pc
07A8 .dbfunc s main _main fI
.even
07A8 _main::
07A8 .dbline -1
07A8 .dbline 181
; void main(void)
; {
07A8 .dbline 182
; LCD4_Init();
07A8 5DDC xcall _LCD4_Init
07AA .dbline 183
; LCD4_Clear();
07AA 59DD xcall _LCD4_Clear
07AC .dbline 184
; LCD4_Home();
07AC CCDD xcall _LCD4_Home
07AE .dbline 185
; LCD4_Home2();
07AE 3FDE xcall _LCD4_Home2
07B0 .dbline -2
07B0 .dbline 189
; // LCD4_PutC(unsigned char);
; // LCD4_PutC_Const(const unsigned char);
; // LCD4_PutS(unsigned char *);
; }
07B0 L85:
07B0 .dbline 0 ; func end
07B0 0895 ret
.area bss(ram, con, rel)
0000 .dbfile D:\我的文档\mingkang\LCDCN\LCD4BIT.C
0000 _del::
0000 .blkb 4
0004 .dbsym s del _del L
.area lit(rom, con, rel)
0000 L19:
0000 10000000 .word 16,0
0004 L18:
0004 01000000 .word 1,0
0008 L17:
0008 00000000 .word 0,0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -