📄 lcd12232c.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-63763 Sat Jun 14 16:35:56 2008
Licensed to: CHENLIYUN
1 processor 16F877A
2 opt pw 79
3 psect __Z63763RS_,global,delta=1
4 psect text1,local,class=CODE,delta=2
5 psect text7,local,class=CODE,delta=2
6 psect text9,local,class=CODE,delta=2
7 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
8 0000
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18
19 psect __Z63763RS_
20 0190
21 0190
22
23 psect text1
24 040D _delayLCD
25 ; _s assigned to ?a_delayLCD+0
26 0000 _delayLCD$s set ?a_delayLCD
27 ;LCD12232C.C: 30: int s;
28 040D 0183 clrf 3 ;select bank 0
29 040E 01E6 clrf ?a_delayLCD
30 040F 01E7 clrf ?a_delayLCD+1
31 0410 2C14 goto l13
32 0411 l10
33 0411 0AE6 incf ?a_delayLCD
34 0412 1903 btfsc 3,2
35 0413 0AE7 incf ?a_delayLCD+1
36 0414 l13
37 0414 0865 movf ?_delayLCD+1,w
38 0415 0267 subwf ?a_delayLCD+1,w
39 0416 1D03 btfss 3,2
40 0417 2C1A goto u35
41 0418 0864 movf ?_delayLCD,w
42 0419 0266 subwf ?a_delayLCD,w
43 041A u35
44 041A 1803 btfsc 3,0
45 041B 0008 return
46 041C 2C11 goto l10
47 ;LCD12232C.C: 34: void check_busy(){
48 041D _check_busy
49 ;LCD12232C.C: 35: RA0=0;RA1=1;
50 041D 0183 clrf 3 ;select bank 0
51 041E 1005 bcf 5,0
52 041F 1485 bsf 5,1
53 ;LCD12232C.C: 41: RA2=0;
54 0420 1105 bcf 5,2
55 ;LCD12232C.C: 42: TRISD=0;
56 0421 1683 bsf 3,5
57 0422 0188 clrf 8 ;volatile
58 ;LCD12232C.C: 44: }
59 0423 1283 bcf 3,5
60 0424 0008 return
61 ;LCD12232C.C: 46: void LCD_Write_Com(unsigned c
+ har val)
62 ;LCD12232C.C: 47: {
63 0425 _LCD_Write_Com
64 ; _val assigned to ?a_LCD_Write_Com+0
65 0000 _LCD_Write_Com$val set ?a_LCD_Write_Com
66 ;_val stored from w
67 0425 0183 clrf 3 ;select bank 0
68 0426 00E3 movwf ?a_LCD_Write_Com
69 ;LCD12232C.C: 48: check_busy();
70 0427 241D fcall _check_busy
71 ;LCD12232C.C: 49: RA0=0;RA1=0;
72 0428 1005 bcf 5,0
73 0429 1085 bcf 5,1
74 ;LCD12232C.C: 50: RA2=1;
75 042A 1505 bsf 5,2
76 ;LCD12232C.C: 51: PORTD=val;
77 042B 0863 movf ?a_LCD_Write_Com,w
78 042C 0088 movwf 8 ;volatile
79 ;LCD12232C.C: 52: asm("nop");
80 042D 0000 nop ;#
81 ;LCD12232C.C: 53: asm("nop");
82 042E 0000 nop ;#
83 ;LCD12232C.C: 54: RA2=0;
84 042F 1105 bcf 5,2
85 ;LCD12232C.C: 55: TRISD=0xff;
86 0430 30FF movlw -1
87 0431 1683 bsf 3,5
88 0432 0088 movwf 8 ;volatile
89 ;LCD12232C.C: 56: delayLCD(10);
90 0433 300A movlw 10
91 0434 1283 bcf 3,5
92 0435 00E4 movwf ?_delayLCD
93 0436 01E5 clrf ?_delayLCD+1
94 0437 2C0D ljmp _delayLCD
95 ;LCD12232C.C: 61: void LCD_Write_Dat(unsigned c
+ har val)
96 ;LCD12232C.C: 62: {
97 0438 _LCD_Write_Dat
98 ; _val assigned to ?a_LCD_Write_Dat+0
99 0000 _LCD_Write_Dat$val set ?a_LCD_Write_Dat
100 ;_val stored from w
101 0438 0183 clrf 3 ;select bank 0
102 0439 00E3 movwf ?a_LCD_Write_Dat
103 ;LCD12232C.C: 63: check_busy();
104 043A 241D fcall _check_busy
105 ;LCD12232C.C: 64: RA0=1;RA1=0;
106 043B 1405 bsf 5,0
107 043C 1085 bcf 5,1
108 ;LCD12232C.C: 65: RA2=1;
109 043D 1505 bsf 5,2
110 ;LCD12232C.C: 66: PORTD=val;
111 043E 0863 movf ?a_LCD_Write_Dat,w
112 043F 0088 movwf 8 ;volatile
113 ;LCD12232C.C: 67: RA2=0;
114 0440 1105 bcf 5,2
115 ;LCD12232C.C: 68: TRISD=0xff;
116 0441 30FF movlw -1
117 0442 1683 bsf 3,5
118 0443 0088 movwf 8 ;volatile
119 ;LCD12232C.C: 69: delayLCD(10);
120 0444 300A movlw 10
121 0445 1283 bcf 3,5
122 0446 00E4 movwf ?_delayLCD
123 0447 01E5 clrf ?_delayLCD+1
124 0448 2C0D ljmp _delayLCD
125 0449 _LCDdelay1ms
126 ; _count assigned to ?a_LCDdelay1ms+0
127 0000 _LCDdelay1ms$count set ?a_LCDdelay1ms
128 ; _i assigned to ?a_LCDdelay1ms+1
129 0000 _LCDdelay1ms$i set ?a_LCDdelay1ms+1
130 ; _j assigned to ?a_LCDdelay1ms+2
131 0000 _LCDdelay1ms$j set ?a_LCDdelay1ms+2
132 ;_count stored from w
133 0449 0183 clrf 3 ;select bank 0
134 044A 00E3 movwf ?a_LCDdelay1ms
135 ;LCD12232C.C: 21: unsigned char i,j;
136 044B 01E4 clrf ?a_LCDdelay1ms+1
137 044C 2C54 goto l5
138 044D l2
139 ;LCD12232C.C: 23: for(j=0;j<130;j++)
140 044D 01E5 clrf ?a_LCDdelay1ms+2
141 044E l6
142 ;LCD12232C.C: 24: ;
143 044E 0AE5 incf ?a_LCDdelay1ms+2
144 044F 3082 movlw -126
145 0450 0265 subwf ?a_LCDdelay1ms+2,w
146 0451 1C03 btfss 3,0
147 0452 2C4E goto l6
148 0453 0AE4 incf ?a_LCDdelay1ms+1
149 0454 l5
150 0454 0863 movf ?a_LCDdelay1ms,w
151 0455 0264 subwf ?a_LCDdelay1ms+1,w
152 0456 1803 btfsc 3,0
153 0457 0008 return
154 0458 2C4D goto l2
155 0459 _LcdFuc2
156 ; _CLen assigned to ?a_LcdFuc2+0
157 0000 _LcdFuc2$CLen set ?a_LcdFuc2
158 ; _c assigned to ?a_LcdFuc2+1
159 0000 _LcdFuc2$c set ?a_LcdFuc2+1
160 ;_CLen stored from w
161 0459 0183 clrf 3 ;select bank 0
162 045A 00E1 movwf ?a_LcdFuc2
163 ;LCD12232C.C: 148: char c;
164 045B 3001 movlw 1
165 045C 2425 120A 118A fcall _LCD_Write_Com
166 ;LCD12232C.C: 150: LCDdelay1ms(0x7f);
167 045F 307F movlw 127
168 0460 2449 fcall _LCDdelay1ms
169 ;LCD12232C.C: 151: if(CLen<15)
170 0461 300F movlw 15
171 0462 0261 subwf ?a_LcdFuc2,w
172 0463 1803 btfsc 3,0
173 0464 2C83 goto l34
174 ;LCD12232C.C: 152: {
175 0465 3080 movlw -128
176 0466 2425 120A 118A fcall _LCD_Write_Com
177 ;LCD12232C.C: 154: asm("nop");
178 0469 0000 nop ;#
179 ;LCD12232C.C: 155: if (CLen != 0)
180 046A 08E1 movf ?a_LcdFuc2
181 046B 1903 btfsc 3,2
182 046C 0008 return
183 ;LCD12232C.C: 156: {
184 046D 01E2 clrf ?a_LcdFuc2+1
185 046E l39
186 046E 0861 movf ?a_LcdFuc2,w
187 046F 0262 subwf ?a_LcdFuc2+1,w
188 0470 1803 btfsc 3,0
189 0471 0008 return
190 ;LCD12232C.C: 159: {
191 ;LCD12232C.C: 161: LCD_Write_Dat(*FData++);
192 0472 0860 movf ?_LcdFuc2+1,w
193 0473 00FD movwf code_ptr+1
194 0474 085F movf ?_LcdFuc2,w
195 0475 0ADF incf ?_LcdFuc2
196 0476 1903 btfsc 3,2
197 0477 0AE0 incf ?_LcdFuc2+1
198 0478 120A 118A 203D fcall string_table
+ 120A 118A
199 047D 2438 120A 118A fcall _LCD_Write_Dat
200 ;LCD12232C.C: 162: asm("nop");
201 0480 0000 nop ;#
202 ;LCD12232C.C: 163: }
203 0481 0AE2 incf ?a_LcdFuc2+1
204 0482 2C6E goto l39
205 ;LCD12232C.C: 164: }
206 ;LCD12232C.C: 166: else if(CLen>14)
207 0483 l34
208 0483 300F movlw 15
209 0484 0261 subwf ?a_LcdFuc2,w
210 0485 1C03 btfss 3,0
211 0486 0008 return
212 ;LCD12232C.C: 167: {
213 0487 3080 movlw -128
214 0488 2425 fcall _LCD_Write_Com
215 ;LCD12232C.C: 169: for (c = 0; c < 14; c++)
216 0489 01E2 clrf ?a_LcdFuc2+1
217 048A l42
218 ;LCD12232C.C: 170: {
219 ;LCD12232C.C: 171: LCD_Write_Dat(*FData++);
220 048A 0860 movf ?_LcdFuc2+1,w
221 048B 00FD movwf code_ptr+1
222 048C 085F movf ?_LcdFuc2,w
223 048D 0ADF incf ?_LcdFuc2
224 048E 1903 btfsc 3,2
225 048F 0AE0 incf ?_LcdFuc2+1
226 0490 120A 118A 203D fcall string_table
+ 120A 118A
227 0495 2438 120A 118A fcall _LCD_Write_Dat
228 ;LCD12232C.C: 172: }
229 0498 0AE2 incf ?a_LcdFuc2+1
230 0499 300E movlw 14
231 049A 0262 subwf ?a_LcdFuc2+1,w
232 049B 1C03 btfss 3,0
233 049C 2C8A goto l42
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -