📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888 Wed Jan 16 12:31:42 2008
Licensed to: ONE TWO
1 processor 16F877A
2 opt pw 79
3 psect __Z88888RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect config,global,class=CONFIG,delta=2
6 psect intcode,global,class=CODE,delta=2
7 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
8 psect intret,global,class=CODE,delta=2
9 psect intentry,global,class=CODE,delta=2
10 psect intsave,global,class=BANK0,space=1,delta
+ =1
11 psect text1,local,class=CODE,delta=2
12 psect text3,local,class=CODE,delta=2
13 psect text4,local,class=CODE,delta=2
14 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
15 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26
27 psect __Z88888RS_
28 0190
29 0190 ;#
30
31 psect config
32 2007 1F76 dw 8054 ;#
33
34 psect intcode
35 000B _IRQ
36 000B int_func
37 ;main.c: 49: if(TMR2IF)
38 000B 0183 clrf 3 ;select bank 0
39 000C 1C8C btfss 12,1
40 000D 2820 goto l2
41 ;main.c: 50: {
42 000E 108C bcf 12,1
43 ;main.c: 52: RpmCount++;
44 000F 0AA1 incf _RpmCount
45 ;main.c: 53: if(RpmCount>RpmSum)
46 0010 0821 movf _RpmCount,w
47 0011 0222 subwf _RpmSum,w
48 0012 1803 btfsc 3,0
49 0013 2820 goto l2
50 ;main.c: 54: {
51 0014 01A1 clrf _RpmCount
52 ;main.c: 56: TimeEnd =1;
53 0015 1420 bsf _TimeEnd/(0+8),_TimeEnd& (0+7)
54 ;main.c: 57: RD0=1;RD1=1;RD2=1;RD3=1;TMR2IE=0;T
+ MR0IE=1;TMR0IF=0;TMR0=0;
55 0016 1408 bsf 8,0
56 0017 1488 bsf 8,1
57 0018 1508 bsf 8,2
58 0019 1588 bsf 8,3
59 001A 1683 bsf 3,5
60 001B 108C bcf 12,1
61 001C 168B bsf 11,5
62 001D 110B bcf 11,2
63 001E 1283 bcf 3,5
64 001F 0181 clrf 1 ;volatile
65 ;main.c: 58: }
66 0020 l2
67 ;main.c: 60: if(TMR0IF==1&TMR0IE==1)
68 0020 1A8B btfsc 11,5
69 0021 1D0B btfss 11,2
70 0022 282D goto l1
71 ;main.c: 61: { TMR0IF=0;RD0=0;RD1=0;RD2=0;RD3=0
+ ;TMR2IE=1;TMR0IE=0;TMR2=0x00;}
72 0023 110B bcf 11,2
73 0024 1008 bcf 8,0
74 0025 1088 bcf 8,1
75 0026 1108 bcf 8,2
76 0027 1188 bcf 8,3
77 0028 1683 bsf 3,5
78 0029 148C bsf 12,1
79 002A 128B bcf 11,5
80 002B 1283 bcf 3,5
81 002C 0191 clrf 17 ;volatile
82 ;main.c: 62: }
83 002D l1
84
85 psect intsave_0
86 0070 saved_w
87 0070 ds 1
88
89 psect intret
90 002D 0828 movf saved_pclath,w
91 002E 008A movwf 10
92 002F int_restore
93 002F 0827 movf saved_status,w
94 0030 0083 movwf 3
95 0031 0EF0 swapf saved_w
96 0032 0E70 swapf saved_w,w
97 0033 0009 retfie
98
99 psect intentry
100 0004 int_entry
101 0004 00F0 movwf saved_w
102 0005 0803 movf 3,w
103 0006 0183 clrf 3
104 0007 00A7 movwf saved_status
105 0008 080A movf 10,w
106 0009 00A8 movwf saved_pclath
107 000A 018A clrf 10
108
109 psect intsave
110 0027 saved_status
111 0027 ds 1
112 0028 saved_pclath
113 0028 ds 1
114
115 psect text1
116 ;main.c: 67: void DELAY()
117 ;main.c: 68: {
118 076F _DELAY
119 ; _u assigned to ?a_DELAY+0
120 0000 _DELAY$u set ?a_DELAY
121 ; _x assigned to ?a_DELAY+1
122 0000 _DELAY$x set ?a_DELAY+1
123 ;main.c: 69: unsigned char u,x;
124 076F 0183 clrf 3 ;select bank 0
125 0770 01A6 clrf ?a_DELAY+1
126 0771 l6
127 ;main.c: 71: { asm("clrwdt");
128 0771 0064 clrwdt ;#
129 ;main.c: 72: for(u=110;--u;) continue;
130 0772 306E movlw 110
131 0773 00A5 movwf ?a_DELAY
132 0774 l9
133 0774 0BA5 decfsz ?a_DELAY
134 0775 2F74 goto l9
135 ;main.c: 73: }
136 0776 0AA6 incf ?a_DELAY+1
137 0777 3029 movlw 41
138 0778 0226 subwf ?a_DELAY+1,w
139 0779 1803 btfsc 3,0
140 077A 0008 return
141 077B 2F71 goto l6
142 ;main.c: 79: void keyscan()
143 ;main.c: 80: {
144 077C _keyscan
145 ;main.c: 82: if(RC0==1&RC1==1)
146 077C 0183 clrf 3 ;select bank 0
147 077D 1887 btfsc 7,1
148 077E 1C07 btfss 7,0
149 077F 2F86 goto l14
150 ;main.c: 83: {
151 0780 276F fcall _DELAY
152 ;main.c: 85: if(RC0==1&RC1==1)
153 0781 1887 btfsc 7,1
154 0782 1C07 btfss 7,0
155 0783 0008 return
156 ;main.c: 86: {keyflag=3; }
157 0784 3003 movlw 3
158 0785 2F9C goto L1
159 ;main.c: 87: }
160 ;main.c: 88: else if(RC0==1&RC1==0)
161 0786 l14
162 0786 1283 bcf 3,5
163 0787 1303 bcf 3,6 ;carry unused
164 0788 1807 btfsc 7,0
165 0789 1887 btfsc 7,1
166 078A 2F94 goto l17
167 ;main.c: 89: {
168 078B 276F fcall _DELAY
169 ;main.c: 91: if(RC0==1&RC1==0)
170 078C 1807 btfsc 7,0
171 078D 1887 btfsc 7,1
172 078E 0008 return
173 ;main.c: 92: {keyflag=1;}
174 078F 1283 bcf 3,5
175 0790 1303 bcf 3,6 ;carry unused
176 0791 01A4 clrf _keyflag
177 0792 0AA4 incf _keyflag
178 ;main.c: 93: }
179 ;main.c: 94: else if(RC0==0&RC1==1)
180 0793 0008 return
181 0794 l17
182 0794 1887 btfsc 7,1
183 0795 1807 btfsc 7,0
184 0796 2FA0 goto l20
185 ;main.c: 95: {
186 0797 276F fcall _DELAY
187 ;main.c: 97: if(RC0==0&RC1==1)
188 0798 1887 btfsc 7,1
189 0799 1807 btfsc 7,0
190 079A 0008 return
191 ;main.c: 98: {keyflag=2;}
192 079B 3002 movlw 2
193 079C L1
194 079C 1283 bcf 3,5
195 079D 1303 bcf 3,6 ;carry unused
196 079E 00A4 movwf _keyflag
197 ;main.c: 99: }
198 ;main.c: 100: else if(RC0==0&RC1==0)
199 079F 0008 return
200 07A0 l20
201 07A0 1C87 btfss 7,1
202 07A1 1807 btfsc 7,0
203 07A2 0008 return
204 ;main.c: 101: {
205 07A3 276F fcall _DELAY
206 ;main.c: 103: if(RC0==0&RC1==0)
207 07A4 1C87 btfss 7,1
208 07A5 1807 btfsc 7,0
209 07A6 0008 return
210 ;main.c: 104: {keyflag=0;}
211 07A7 1283 bcf 3,5
212 07A8 1303 bcf 3,6 ;carry unused
213 07A9 01A4 clrf _keyflag
214 ;main.c: 105: }
215 ;main.c: 108: }
216 07AA 0008 return
217
218 psect text3
219 ;main.c: 112: void main()
220 ;main.c: 113: {
221 07AB _main
222 ;main.c: 114: initset();
223 07AB 120A 118A 2767 fcall _initset
224 ;main.c: 115: keyflag=0;
225 07AE 01A4 clrf _keyflag
226 ;main.c: 116: keyback=0;
227 07AF 01A3 clrf _keyback
228 07B0 l27
229 ;main.c: 118: while(1)
230 ;main.c: 119: { asm("clrwdt");
231 07B0 0064 clrwdt ;#
232 ;main.c: 121: keyscan();
233 07B1 120A 118A 277C fcall _keyscan
+ 120A 118A
234 ;main.c: 124: if(keyback!=keyflag)
235 07B6 0823 movf _keyback,w
236 07B7 0624 xorwf _keyflag,w
237 07B8 1903 btfsc 3,2
238 07B9 2FB0 goto l27
239 ;main.c: 125: {
240 07BA 08A4 movf _keyflag
241 07BB 1D03 btfss 3,2
242 07BC 2FD2 goto l30
243 ;main.c: 127: {RpmSum=0;RB1=0; asm("nop");asm("
+ nop");RB2=0;asm("nop");asm("nop");RD0=0;asm("no
+ p");asm("nop");RD1=0;asm("nop");asm("nop");RD2=
+ 0;asm("nop");asm("nop");RD3=0;TMR2IE=0;TMR0IE=0
+ ;}
244 07BD 01A2 clrf _RpmSum
245 07BE 1086 bcf 6,1
246 07BF 0000 nop ;#
247 07C0 0000 nop ;#
248 07C1 1106 bcf 6,2
249 07C2 0000 nop ;#
250 07C3 0000 nop ;#
251 07C4 1008 bcf 8,0
252 07C5 0000 nop ;#
253 07C6 0000 nop ;#
254 07C7 1088 bcf 8,1
255 07C8 0000 nop ;#
256 07C9 0000 nop ;#
257 07CA 1108 bcf 8,2
258 07CB 0000 nop ;#
259 07CC 0000 nop ;#
260 07CD 1188 bcf 8,3
261 07CE 1683 bsf 3,5
262 07CF 108C bcf 12,1
263 07D0 128B bcf 11,5
264 ;main.c: 128: else if(keyflag==1)
265 07D1 2FFC goto l31
266 07D2 l30
267 07D2 0B24 decfsz _keyflag,w
268 07D3 2FDB goto l32
269 ;main.c: 129: {RpmSum=60;RB1=1;asm("nop");asm("
+ nop"); RB2=0;asm("nop");asm("nop");RD0=1;asm("n
+ op");asm("nop");RD1=1;asm("nop");asm("nop");RD2
+ =1;asm("nop");asm("nop");RD3=1;TMR2IE=0;TMR0IE=
+ 1;}
270 07D4 303C movlw 60
271 07D5 00A2 movwf _RpmSum
272 07D6 1486 bsf 6,1
273 07D7 0000 nop ;#
274 07D8 0000 nop ;#
275 07D9 1106 bcf 6,2
276 07DA 2FED goto L6
277 ;main.c: 130: else if(keyflag==2)
278 07DB l32
279 07DB 0824 movf _keyflag,w
280 07DC 3A02 xorlw 2
281 07DD 1D03 btfss 3,2
282 07DE 2FE3 goto l34
283 ;main.c: 131: {RpmSum=30;RB1=0; asm("nop");asm(
+ "nop");RB2=1;asm("nop");asm("nop");RD0=1;asm("n
+ op");asm("nop");RD1=1;asm("nop");asm("nop");RD2
+ =1;asm("nop");asm("nop");RD3=1;TMR2IE=0;TMR0IE=
+ 1;}
284 07DF 301E movlw 30
285 07E0 00A2 movwf _RpmSum
286 07E1 1086 bcf 6,1
287 07E2 2FEA goto L7
288 ;main.c: 132: else if(keyflag==3)
289 07E3 l34
290 07E3 0824 movf _keyflag,w
291 07E4 3A03 xorlw 3
292 07E5 1D03 btfss 3,2
293 07E6 2FFC goto l31
294 ;main.c: 133: {RpmSum=15; RB1=1; asm("nop");asm
+ ("nop");RB2=1;asm("nop");asm("nop");RD0=1;asm("
+ nop");asm("nop");RD1=1;asm("nop");asm("nop");RD
+ 2=1;asm("nop");asm("nop");RD3=1;TMR2IE=0;TMR0IE
+ =1;}
295 07E7 300F movlw 15
296 07E8 00A2 movwf _RpmSum
297 07E9 1486 bsf 6,1
298 07EA L7
299 07EA 0000 nop ;#
300 07EB 0000 nop ;#
301 07EC 1506 bsf 6,2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -