📄 time.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888 Thu Dec 11 14:01:28 2008
Licensed to: ONE TWO
1 processor 16F688
2 opt pw 79
3 psect __Z88888RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text1,local,class=CODE,delta=2
6 psect text2,local,class=CODE,delta=2
7 psect text3,local,class=CODE,delta=2
8 psect text4,local,class=CODE,delta=2
9 psect text6,local,class=CODE,delta=2
10 psect intcode,global,class=CODE,delta=2
11 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
12 psect intret,global,class=CODE,delta=2
13 psect intentry,global,class=CODE,delta=2
14 psect intsave,global,class=BANK0,space=1,delta
+ =1
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 0120
30 0120
31 0000 _DelayNms$t set ?_DelayNms
32
33 psect text0
34 029B _DelayNms
35 ; _i assigned to ?a_DelayNms+0
36 0000 _DelayNms$i set ?a_DelayNms
37 ;time.c: 23: for (;t>0;t--)
38 029B 0183 clrf 3 ;select bank 0
39 029C 084A movf ?_DelayNms+1,w
40 029D 0449 iorwf ?_DelayNms,w
41 029E 1903 btfsc 3,2
42 029F 0008 return
43 02A0 l6
44 ;time.c: 24: for (i=0;i<500;i++);
45 02A0 01CB clrf ?a_DelayNms
46 02A1 01CC clrf ?a_DelayNms+1
47 02A2 l9
48 02A2 0ACB incf ?a_DelayNms
49 02A3 1903 btfsc 3,2
50 02A4 0ACC incf ?a_DelayNms+1
51 02A5 3001 movlw 1
52 02A6 024C subwf ?a_DelayNms+1,w
53 02A7 30F4 movlw 244
54 02A8 1903 btfsc 3,2
55 02A9 024B subwf ?a_DelayNms,w
56 02AA 1C03 btfss 3,0
57 02AB 2AA2 goto l9
58 02AC 08C9 movf ?_DelayNms
59 02AD 1903 btfsc 3,2
60 02AE 03CA decf ?_DelayNms+1
61 02AF 03C9 decf ?_DelayNms
62 02B0 084A movf ?_DelayNms+1,w
63 02B1 0449 iorwf ?_DelayNms,w
64 02B2 1903 btfsc 3,2
65 02B3 0008 return
66 02B4 2AA0 goto l6
67
68 psect text1
69 ;time.c: 27: unsigned long loadSystemTime(unsig
+ ned char type)
70 ;time.c: 28: {
71 02EF _loadSystemTime
72 ; _type assigned to ?a_loadSystemTime+0
73 0000 _loadSystemTime$type set ?a_loadSystemTime
74 ; _time assigned to ?a_loadSystemTime+1
75 0000 _loadSystemTime$time set ?a_loadSystemTime+1
76 ;_type stored from w
77 02EF 0183 clrf 3 ;select bank 0
78 02F0 00D9 movwf ?a_loadSystemTime
79 ;time.c: 29: unsigned long time;
80 02F1 2AFB goto l14
81 ;time.c: 31: { case 1: break;
82 ;time.c: 32: case 2: break;
83 ;time.c: 33: case 3: break;
84 ;time.c: 34: case 4: break;
85 ;time.c: 35: case 5: break;
86 02F2 l20
87 ;time.c: 36: case 6:
88 ;time.c: 37: time=timeSystem.ms;break;
89 02F2 083E movf _timeSystem,w
90 02F3 00DA movwf ?a_loadSystemTime+1
91 02F4 083F movf _timeSystem+1,w
92 02F5 00DB movwf ?a_loadSystemTime+2
93 02F6 0840 movf _timeSystem+2,w
94 02F7 00DC movwf ?a_loadSystemTime+3
95 02F8 0841 movf _timeSystem+3,w
96 02F9 00DD movwf ?a_loadSystemTime+4
97 02FA 2B14 goto l13
98 ;time.c: 39: }
99 02FB l14
100 02FB 1283 bcf 3,5
101 02FC 1303 bcf 3,6 ;carry unused
102 02FD 0859 movf ?a_loadSystemTime,w
103 02FE 3A01 xorlw 1
104 02FF 1903 btfsc 3,2
105 0300 2B14 goto l13
106 0301 3A03 xorlw 3
107 0302 1903 btfsc 3,2
108 0303 2B14 goto l13
109 0304 3A01 xorlw 1
110 0305 1903 btfsc 3,2
111 0306 2B14 goto l13
112 0307 3A07 xorlw 7
113 0308 1903 btfsc 3,2
114 0309 2B14 goto l13
115 030A 3A01 xorlw 1
116 030B 1903 btfsc 3,2
117 030C 2B14 goto l13
118 030D 3A03 xorlw 3
119 030E 1903 btfsc 3,2
120 030F 2AF2 goto l20
121 ;time.c: 38: default: time=0;
122 0310 01DA clrf ?a_loadSystemTime+1
123 0311 01DB clrf ?a_loadSystemTime+2
124 0312 01DC clrf ?a_loadSystemTime+3
125 0313 01DD clrf ?a_loadSystemTime+4
126 0314 l13
127 ;time.c: 40: return (time);
128 0314 085A movf ?a_loadSystemTime+1,w
129 0315 00F0 movwf btemp
130 0316 085B movf ?a_loadSystemTime+2,w
131 0317 00F1 movwf btemp+1
132 0318 085C movf ?a_loadSystemTime+3,w
133 0319 00F2 movwf btemp+2
134 031A 085D movf ?a_loadSystemTime+4,w
135 031B 00F3 movwf btemp+3
136 ;time.c: 41: }
137 031C 0008 return
138 ;time.c: 96: void OS_SCHEDULE(void)
139 ;time.c: 97: { unsigned long time;
140 031D _OS_SCHEDULE
141 ; _time assigned to ?a_OS_SCHEDULE+0
142 0000 _OS_SCHEDULE$time set ?a_OS_SCHEDULE
143 ;time.c: 98: time=loadSystemTime(6);
144 031D 3006 movlw 6
145 031E 22EF fcall _loadSystemTime
146 031F 0870 movf btemp,w
147 0320 00C7 movwf ?a_OS_SCHEDULE
148 0321 0871 movf btemp+1,w
149 0322 00C8 movwf ?a_OS_SCHEDULE+1
150 0323 0872 movf btemp+2,w
151 0324 00C9 movwf ?a_OS_SCHEDULE+2
152 0325 0873 movf btemp+3,w
153 0326 00CA movwf ?a_OS_SCHEDULE+3
154 ;time.c: 99: if (time>=keyCtlBlock.nTime)
155 0327 082E movf _keyCtlBlock+4,w
156 0328 024A subwf ?a_OS_SCHEDULE+3,w
157 0329 1D03 btfss 3,2
158 032A 2B35 goto u45
159 032B 082D movf _keyCtlBlock+3,w
160 032C 0249 subwf ?a_OS_SCHEDULE+2,w
161 032D 1D03 btfss 3,2
162 032E 2B35 goto u45
163 032F 082C movf _keyCtlBlock+2,w
164 0330 0248 subwf ?a_OS_SCHEDULE+1,w
165 0331 1D03 btfss 3,2
166 0332 2B35 goto u45
167 0333 082B movf _keyCtlBlock+1,w
168 0334 0247 subwf ?a_OS_SCHEDULE,w
169 0335 u45
170 0335 1C03 btfss 3,0
171 0336 0008 return
172 ;time.c: 100: { keyCtlBlock.nTime=time+10;
173 0337 300A movlw 10
174 0338 0747 addwf ?a_OS_SCHEDULE,w
175 0339 00AB movwf _keyCtlBlock+1
176 033A 01AC clrf _keyCtlBlock+2
177 033B 0848 movf ?a_OS_SCHEDULE+1,w
178 033C 1803 btfsc 3,0
179 033D 0F48 incfsz ?a_OS_SCHEDULE+1,w
180 033E 07AC addwf _keyCtlBlock+2
181 033F 01AD clrf _keyCtlBlock+3
182 0340 0849 movf ?a_OS_SCHEDULE+2,w
183 0341 1803 btfsc 3,0
184 0342 0F49 incfsz ?a_OS_SCHEDULE+2,w
185 0343 07AD addwf _keyCtlBlock+3
186 0344 01AE clrf _keyCtlBlock+4
187 0345 084A movf ?a_OS_SCHEDULE+3,w
188 0346 1803 btfsc 3,0
189 0347 0F4A incfsz ?a_OS_SCHEDULE+3,w
190 0348 07AE addwf _keyCtlBlock+4
191 ;time.c: 101: userKeyScan();
192 0349 118A 2F3C ljmp _userKeyScan
193
194 psect text2
195 ;time.c: 45: void refreshSystemTime(void)
196 ;time.c: 46: {
197 0246 _refreshSystemTime
198 ;time.c: 64: timeSystem.ms+=1;
199 0246 0183 clrf 3 ;select bank 0
200 0247 0ABE incf _timeSystem
201 0248 1903 btfsc 3,2
202 0249 0ABF incf _timeSystem+1
203 024A 1903 btfsc 3,2
204 024B 0AC0 incf _timeSystem+2
205 024C 1903 btfsc 3,2
206 024D 0AC1 incf _timeSystem+3
207 ;time.c: 65: }
208 024E 0008 return
209
210 psect text3
211 ;time.c: 68: void systimeInit(void)
212 ;time.c: 69: {
213 0240 _systimeInit
214 ;time.c: 70: timeSystem.ms=0;
215 0240 0183 clrf 3 ;select bank 0
216 0241 01BE clrf _timeSystem
217 0242 01BF clrf _timeSystem+1
218 0243 01C0 clrf _timeSystem+2
219 0244 01C1 clrf _timeSystem+3
220 ;time.c: 75: }
221 0245 0008 return
222
223 psect text4
224 ;time.c: 80: void timer1Init(void)
225 ;time.c: 81: {
226 024F _timer1Init
227 ;time.c: 82: T1CON=0x00;
228 024F 0183 clrf 3 ;select bank 0
229 0250 0190 clrf 16
230 ;time.c: 83: TMR1L =(65536-1000);
231 0251 3018 movlw 24
232 0252 008E movwf 14 ;volatile
233 ;time.c: 84: TMR1H =(65536-1000)>>8;
234 0253 30FC movlw -4
235 0254 008F movwf 15 ;volatile
236 ;time.c: 85: TMR1IF=0;
237 0255 100C bcf 12,0
238 ;time.c: 86: TMR1IE=1;
239 0256 1683 bsf 3,5
240 0257 140C bsf 12,0
241 ;time.c: 87: PEIE=1;
242 0258 170B bsf 11,6
243 ;time.c: 88: }
244 0259 1283 bcf 3,5
245 025A 0008 return
246
247 psect intcode
248 ;time.c: 115: void interrupt irqTimer1(void)
249 ;time.c: 116: {
250 000B _irqTimer1
251 000B int_func
252 ;time.c: 117: if (TMR1IE&TMR1IF)
253 000B 0183 clrf 3 ;select bank 0
254 000C 1C0C btfss 12,0
255 000D 281D goto l27
256 000E 1683 bsf 3,5
257 000F 1C0C btfss 12,0
258 0010 281D goto l27
259 ;time.c: 118: { TMR1IF=0;
260 0011 1283 bcf 3,5
261 0012 1303 bcf 3,6 ;carry unused
262 0013 100C bcf 12,0
263 ;time.c: 119: TMR1ON=0;
264 0014 1010 bcf 16,0
265 ;time.c: 120: TMR1L=(65536-1000);
266 0015 3018 movlw 24
267 0016 008E movwf 14 ;volatile
268 ;time.c: 121: TMR1H=(65536-1000)>>8;
269 0017 30FC movlw -4
270 0018 008F movwf 15 ;volatile
271 ;time.c: 122: TMR1ON=1;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -