📄 1.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888 Wed May 7 11:05:07 2008
Licensed to: ONE TWO
1 processor 16F877A
2 opt pw 79
3 psect __Z88888RS_,global,delta=1
4 psect config,global,class=CONFIG,delta=2
5 psect strings,global,class=STRING,delta=2
6 psect const1,local,class=CONST,delta=2
7 psect text10,local,class=CODE,delta=2
8 psect text11,local,class=CODE,delta=2
9 psect intcode,global,class=CODE,delta=2
10 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
11 psect intret,global,class=CODE,delta=2
12 psect intentry,global,class=CODE,delta=2
13 psect intsave,global,class=BANK0,space=1,delta
+ =1
14 psect text13,local,class=CODE,delta=2
15 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
16 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26 0000
27
28 psect __Z88888RS_
29 0190
30 0190 ;#
31
32 psect config
33 2007 1832 dw 6194 ;#
34
35 psect const1
36 0027 0782 addwf 2
37 0028 _web
38 0028 3441 retlw 65
39 0029 3444 retlw 68
40 002A 3463 retlw 99
41 002B 346F retlw 111
42 002C 346E retlw 110
43 002D 3476 retlw 118
44 002E 3465 retlw 101
45 002F 3472 retlw 114
46 0030 3420 retlw 32
47 0031 3472 retlw 114
48 0032 3465 retlw 101
49 0033 3473 retlw 115
50 0034 3475 retlw 117
51 0035 346C retlw 108
52 0036 3474 retlw 116
53 0037 343A retlw 58
54 0038 3400 retlw 0
55
56 psect text10
57 ;1.C: 23: void deal_ad()
58 ;1.C: 24: {
59 0690 _deal_ad
60 ; _temp assigned to ?a_deal_ad+0
61 0000 _deal_ad$temp set ?a_deal_ad
62 ;1.C: 25: unsigned int temp;
63 0690 0183 clrf 3 ;select bank 0
64 0691 081E movf 30,w ;volatile
65 0692 00A4 movwf _ad_sample_result+1
66 0693 1683 bsf 3,5
67 0694 081E movf 30,w ;volatile
68 0695 1283 bcf 3,5
69 0696 00A3 movwf _ad_sample_result
70 ;1.C: 27: ad_flag=0;
71 0697 01A0 clrf _ad_flag
72 ;1.C: 28: adresult=(ad_sample_result*50)>>10;
73 0698 3032 movlw 50
74 0699 00F2 movwf btemp+2
75 069A 01F3 clrf btemp+3
76 069B 0824 movf _ad_sample_result+1,w
77 069C 00F1 movwf btemp+1
78 069D 0823 movf _ad_sample_result,w
79 069E 00F0 movwf btemp
80 069F 120A 118A 267B fcall lwmul
+ 120A 118A
81 06A4 300A movlw 10
82 06A5 00F0 movwf btemp
83 06A6 u55
84 06A6 1003 bcf 3,0
85 06A7 0CF5 rrf btemp+5
86 06A8 0CF4 rrf btemp+4
87 06A9 0BF0 decfsz btemp
88 06AA 2EA6 goto u55
89 06AB 0874 movf btemp+4,w
90 06AC 00A5 movwf _adresult
91 06AD 0875 movf btemp+5,w
92 06AE 00A6 movwf _adresult+1
93 ;1.C: 29: temp=adresult;
94 06AF 0825 movf _adresult,w
95 06B0 00AB movwf ?a_deal_ad
96 06B1 0826 movf _adresult+1,w
97 06B2 00AC movwf ?a_deal_ad+1
98 ;1.C: 30: adresult=(((temp/10)<<4)&0xf0)+(adres
+ ult%10);
99 06B3 300A movlw 10
100 06B4 00F2 movwf btemp+2
101 06B5 01F3 clrf btemp+3
102 06B6 0826 movf _adresult+1,w
103 06B7 00F1 movwf btemp+1
104 06B8 0825 movf _adresult,w
105 06B9 00F0 movwf btemp
106 06BA 120A 118A 27C6 fcall lwmod
107 06BD 0870 movf btemp,w
108 06BE 00AD movwf ?a_deal_ad+2
109 06BF 0871 movf btemp+1,w
110 06C0 00AE movwf ?a_deal_ad+3
111 06C1 300A movlw 10
112 06C2 00F2 movwf btemp+2
113 06C3 01F3 clrf btemp+3
114 06C4 082C movf ?a_deal_ad+1,w
115 06C5 00F1 movwf btemp+1
116 06C6 082B movf ?a_deal_ad,w
117 06C7 00F0 movwf btemp
118 06C8 120A 118A 27C6 fcall lwdiv
+ 120A 118A
119 06CD 0EF4 swapf btemp+4
120 06CE 0EF5 swapf btemp+5
121 06CF 30F0 movlw 240
122 06D0 05F5 andwf btemp+5
123 06D1 0874 movf btemp+4,w
124 06D2 390F andlw 15
125 06D3 04F5 iorwf btemp+5
126 06D4 30F0 movlw 240
127 06D5 05F4 andwf btemp+4
128 06D6 05F4 andwf btemp+4
129 06D7 01F5 clrf btemp+5
130 06D8 082D movf ?a_deal_ad+2,w
131 06D9 07F4 addwf btemp+4
132 06DA 1803 btfsc 3,0
133 06DB 0AF5 incf btemp+5
134 06DC 082E movf ?a_deal_ad+3,w
135 06DD 07F5 addwf btemp+5
136 06DE 0874 movf btemp+4,w
137 06DF 00A5 movwf _adresult
138 06E0 0875 movf btemp+5,w
139 06E1 00A6 movwf _adresult+1
140 ;1.C: 31: }
141 06E2 0008 return
142 ;lcd.h: 106: void delay()
143 ;lcd.h: 107: {
144 06E3 _delay
145 ; _i assigned to ?a_delay+0
146 0000 _delay$i set ?a_delay
147 ;lcd.h: 108: int i;
148 06E3 0183 clrf 3 ;select bank 0
149 06E4 01B0 clrf ?a_delay
150 06E5 01B1 clrf ?a_delay+1
151 06E6 l14
152 06E6 0AB0 incf ?a_delay
153 06E7 1903 btfsc 3,2
154 06E8 0AB1 incf ?a_delay+1
155 06E9 0831 movf ?a_delay+1,w
156 06EA 3A80 xorlw 128
157 06EB 00F0 movwf btemp
158 06EC 3080 movlw 128
159 06ED 0270 subwf btemp,w
160 06EE 3032 movlw 50
161 ;set bank bits for (((?a_delay+0)))
162 06EF 1903 btfsc 3,2
163 06F0 0230 subwf ?a_delay,w
164 06F1 1803 btfsc 3,0
165 06F2 0008 return
166 06F3 2EE6 goto l14
167 ;lcd.h: 81: void write(char x)
168 ;lcd.h: 82: {
169 06F4 _write
170 ; _x assigned to ?a_write+0
171 0000 _write$x set ?a_write
172 ;_x stored from w
173 06F4 0183 clrf 3 ;select bank 0
174 06F5 00AF movwf ?a_write
175 ;lcd.h: 83: PORTD=x;
176 06F6 0088 movwf 8 ;volatile
177 ;lcd.h: 84: RB1=1;
178 06F7 1486 bsf 6,1
179 ;lcd.h: 85: RB2=0;
180 06F8 1106 bcf 6,2
181 ;lcd.h: 86: RB3=0;
182 06F9 1186 bcf 6,3
183 ;lcd.h: 87: delay() ;
184 06FA 26E3 fcall _delay
185 ;lcd.h: 88: RB3=1;
186 06FB 1586 bsf 6,3
187 ;lcd.h: 90: }
188 06FC 0008 return
189 06FD _write_web
190 ; _i assigned to ?a_write_web+0
191 0000 _write_web$i set ?a_write_web
192 ;lcd.h: 53: int i;
193 06FD 0183 clrf 3 ;select bank 0
194 06FE 01AB clrf ?a_write_web
195 06FF 01AC clrf ?a_write_web+1
196 0700 l4
197 ;lcd.h: 55: {
198 ;lcd.h: 56: write(web[i]);
199 0700 3000 movlw _web shr (0+8)
200 0701 008A movwf 10
201 0702 082B movf ?a_write_web,w
202 0703 2027 call ((_web+-1)& (0+2047))| (($)& (0+-2048))
203 0704 120A 118A 26F4 fcall _write
+ 120A 118A
204 ;lcd.h: 57: }
205 0709 0AAB incf ?a_write_web
206 070A 1903 btfsc 3,2
207 070B 0AAC incf ?a_write_web+1
208 070C 082C movf ?a_write_web+1,w
209 070D 3A80 xorlw 128
210 070E 00F0 movwf btemp
211 070F 3080 movlw 128
212 0710 0270 subwf btemp,w
213 0711 3010 movlw 16
214 ;set bank bits for (((?a_write_web+0)))
215 0712 1903 btfsc 3,2
216 0713 022B subwf ?a_write_web,w
217 0714 1803 btfsc 3,0
218 0715 0008 return
219 0716 2F00 goto l4
220 ;lcd.h: 62: void write_tel(char adresult)
221 ;lcd.h: 63: { char a,b;
222 0717 _write_tel
223 ; _adresult assigned to ?a_write_tel+0
224 0000 _write_tel$adresult set ?a_write_tel
225 ; _a assigned to ?a_write_tel+1
226 0000 _write_tel$a set ?a_write_tel+1
227 ; _i assigned to ?a_write_tel+2
228 0000 _write_tel$i set ?a_write_tel+2
229 ;_adresult stored from w
230 0717 0183 clrf 3 ;select bank 0
231 0718 00AB movwf ?a_write_tel
232 ;lcd.h: 64: int i;
233 0719 39F0 andlw -16
234 071A 00F0 movwf btemp
235 071B 0EF0 swapf btemp
236 071C 300F movlw 15
237 071D 05F0 andwf btemp
238 071E 0870 movf btemp,w
239 071F 00AC movwf ?a_write_tel+1
240 ;lcd.h: 67: tel[0]=a+48;
241 0720 3E30 addlw 48
242 0721 00A7 movwf _tel
243 ;lcd.h: 68: tel[1]='.';
244 0722 302E movlw 46
245 0723 00A8 movwf _tel+1
246 ;lcd.h: 69: a=adresult&0x0f;
247 0724 082B movf ?a_write_tel,w
248 0725 390F andlw 15
249 0726 00AC movwf ?a_write_tel+1
250 ;lcd.h: 71: tel[2]=a+48;
251 0727 3E30 addlw 48
252 0728 00A9 movwf _tel+2
253 ;lcd.h: 72: tel[3]='v';
254 0729 3076 movlw 118
255 072A 00AA movwf _tel+3
256 ;lcd.h: 73: for(i=0;i<4;i++)
257 072B 01AD clrf ?a_write_tel+2
258 072C 01AE clrf ?a_write_tel+3
259 072D l8
260 ;lcd.h: 74: {
261 ;lcd.h: 75: write(tel[i]);
262 072D 082D movf ?a_write_tel+2,w
263 072E 3E27 addlw _tel
264 072F 0084 movwf 4
265 0730 1383 bcf 3,7
266 0731 0800 movf 0,w
267 0732 26F4 120A 118A fcall _write
268 ;lcd.h: 76: }
269 0735 0AAD incf ?a_write_tel+2
270 0736 1903 btfsc 3,2
271 0737 0AAE incf ?a_write_tel+3
272 0738 082E movf ?a_write_tel+3,w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -