📄 time.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888 Tue Feb 10 14:15:19 2009
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 0125 _DelayNms
35 ; _i assigned to ?a_DelayNms+0
36 0000 _DelayNms$i set ?a_DelayNms
37 ;time.c: 23: for (;t>0;t--)
38 0125 0183 clrf 3 ;select bank 0
39 0126 0832 movf ?_DelayNms+1,w
40 0127 0431 iorwf ?_DelayNms,w
41 0128 1903 btfsc 3,2
42 0129 0008 return
43 012A l7
44 ;time.c: 24: for (i=0;i<500;i++);
45 012A 01B3 clrf ?a_DelayNms
46 012B 01B4 clrf ?a_DelayNms+1
47 012C l10
48 012C 0AB3 incf ?a_DelayNms
49 012D 1903 btfsc 3,2
50 012E 0AB4 incf ?a_DelayNms+1
51 012F 3001 movlw 1
52 0130 0234 subwf ?a_DelayNms+1,w
53 0131 30F4 movlw 244
54 0132 1903 btfsc 3,2
55 0133 0233 subwf ?a_DelayNms,w
56 0134 1C03 btfss 3,0
57 0135 292C goto l10
58 0136 08B1 movf ?_DelayNms
59 0137 1903 btfsc 3,2
60 0138 03B2 decf ?_DelayNms+1
61 0139 03B1 decf ?_DelayNms
62 013A 0832 movf ?_DelayNms+1,w
63 013B 0431 iorwf ?_DelayNms,w
64 013C 1903 btfsc 3,2
65 013D 0008 return
66 013E 292A goto l7
67
68 psect text1
69 ;time.c: 27: unsigned long loadSystemTime(unsig
+ ned char type)
70 ;time.c: 28: {
71 01A7 _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 01A7 0183 clrf 3 ;select bank 0
78 01A8 00C1 movwf ?a_loadSystemTime
79 ;time.c: 29: unsigned long time;
80 01A9 29B3 goto l15
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 01AA l21
87 ;time.c: 36: case 6:
88 ;time.c: 37: time=timeSystem.ms;break;
89 01AA 0826 movf _timeSystem,w
90 01AB 00C2 movwf ?a_loadSystemTime+1
91 01AC 0827 movf _timeSystem+1,w
92 01AD 00C3 movwf ?a_loadSystemTime+2
93 01AE 0828 movf _timeSystem+2,w
94 01AF 00C4 movwf ?a_loadSystemTime+3
95 01B0 0829 movf _timeSystem+3,w
96 01B1 00C5 movwf ?a_loadSystemTime+4
97 01B2 29CC goto l14
98 ;time.c: 39: }
99 01B3 l15
100 01B3 1283 bcf 3,5
101 01B4 1303 bcf 3,6 ;carry unused
102 01B5 0841 movf ?a_loadSystemTime,w
103 01B6 3A01 xorlw 1
104 01B7 1903 btfsc 3,2
105 01B8 29CC goto l14
106 01B9 3A03 xorlw 3
107 01BA 1903 btfsc 3,2
108 01BB 29CC goto l14
109 01BC 3A01 xorlw 1
110 01BD 1903 btfsc 3,2
111 01BE 29CC goto l14
112 01BF 3A07 xorlw 7
113 01C0 1903 btfsc 3,2
114 01C1 29CC goto l14
115 01C2 3A01 xorlw 1
116 01C3 1903 btfsc 3,2
117 01C4 29CC goto l14
118 01C5 3A03 xorlw 3
119 01C6 1903 btfsc 3,2
120 01C7 29AA goto l21
121 ;time.c: 38: default: time=0;
122 01C8 01C2 clrf ?a_loadSystemTime+1
123 01C9 01C3 clrf ?a_loadSystemTime+2
124 01CA 01C4 clrf ?a_loadSystemTime+3
125 01CB 01C5 clrf ?a_loadSystemTime+4
126 01CC l14
127 ;time.c: 40: return (time);
128 01CC 0842 movf ?a_loadSystemTime+1,w
129 01CD 00F0 movwf btemp
130 01CE 0843 movf ?a_loadSystemTime+2,w
131 01CF 00F1 movwf btemp+1
132 01D0 0844 movf ?a_loadSystemTime+3,w
133 01D1 00F2 movwf btemp+2
134 01D2 0845 movf ?a_loadSystemTime+4,w
135 01D3 00F3 movwf btemp+3
136 ;time.c: 41: }
137 01D4 0008 return
138 ;time.c: 96: void OS_SCHEDULE(void)
139 ;time.c: 97: { unsigned long time;
140 01D5 _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 01D5 3006 movlw 6
145 01D6 21A7 fcall _loadSystemTime
146 01D7 0870 movf btemp,w
147 01D8 00AF movwf ?a_OS_SCHEDULE
148 01D9 0871 movf btemp+1,w
149 01DA 00B0 movwf ?a_OS_SCHEDULE+1
150 01DB 0872 movf btemp+2,w
151 01DC 00B1 movwf ?a_OS_SCHEDULE+2
152 01DD 0873 movf btemp+3,w
153 01DE 00B2 movwf ?a_OS_SCHEDULE+3
154 ;time.c: 99: if (time>=keyCtlBlock.nTime)
155 01DF 1683 bsf 3,5
156 01E0 0839 movf (_keyCtlBlock+4)^(0+128),w
157 01E1 1283 bcf 3,5
158 01E2 0232 subwf ?a_OS_SCHEDULE+3,w
159 01E3 1D03 btfss 3,2
160 01E4 29F5 goto u45
161 01E5 1683 bsf 3,5
162 01E6 0838 movf (_keyCtlBlock+3)^(0+128),w
163 01E7 1283 bcf 3,5
164 01E8 0231 subwf ?a_OS_SCHEDULE+2,w
165 01E9 1D03 btfss 3,2
166 01EA 29F5 goto u45
167 01EB 1683 bsf 3,5
168 01EC 0837 movf (_keyCtlBlock+2)^(0+128),w
169 01ED 1283 bcf 3,5
170 01EE 0230 subwf ?a_OS_SCHEDULE+1,w
171 01EF 1D03 btfss 3,2
172 01F0 29F5 goto u45
173 01F1 1683 bsf 3,5
174 01F2 0836 movf (_keyCtlBlock+1)^(0+128),w
175 01F3 1283 bcf 3,5
176 01F4 022F subwf ?a_OS_SCHEDULE,w
177 01F5 u45
178 01F5 1C03 btfss 3,0
179 01F6 0008 return
180 ;time.c: 100: { keyCtlBlock.nTime=time+10;
181 01F7 300A movlw 10
182 01F8 00F0 movwf btemp
183 01F9 01F1 clrf btemp+1
184 01FA 01F2 clrf btemp+2
185 01FB 01F3 clrf btemp+3
186 01FC 072F addwf ?a_OS_SCHEDULE,w
187 01FD 00F4 movwf btemp+4
188 01FE 0830 movf ?a_OS_SCHEDULE+1,w
189 01FF 00F5 movwf btemp+5
190 0200 0871 movf btemp+1,w
191 0201 1803 btfsc 3,0
192 0202 0F71 incfsz btemp+1,w
193 0203 07F5 addwf btemp+5
194 0204 0831 movf ?a_OS_SCHEDULE+2,w
195 0205 00F6 movwf btemp+6
196 0206 0872 movf btemp+2,w
197 0207 1803 btfsc 3,0
198 0208 0F72 incfsz btemp+2,w
199 0209 07F6 addwf btemp+6
200 020A 0832 movf ?a_OS_SCHEDULE+3,w
201 020B 00F7 movwf btemp+7
202 020C 0873 movf btemp+3,w
203 020D 1803 btfsc 3,0
204 020E 0F73 incfsz btemp+3,w
205 020F 07F7 addwf btemp+7
206 0210 0874 movf btemp+4,w
207 0211 1683 bsf 3,5
208 0212 00B6 movwf (_keyCtlBlock+1)^(0+128)
209 0213 0875 movf btemp+5,w
210 0214 00B7 movwf (_keyCtlBlock+2)^(0+128)
211 0215 0876 movf btemp+6,w
212 0216 00B8 movwf (_keyCtlBlock+3)^(0+128)
213 0217 0877 movf btemp+7,w
214 0218 00B9 movwf (_keyCtlBlock+4)^(0+128)
215 ;time.c: 101: userKeyScan();
216 0219 118A 2F34 ljmp _userKeyScan
217
218 psect text2
219 ;time.c: 45: void refreshSystemTime(void)
220 ;time.c: 46: {
221 0FBF _refreshSystemTime
222 ;time.c: 64: timeSystem.ms+=1;
223 0FBF 0183 clrf 3 ;select bank 0
224 0FC0 0AA6 incf _timeSystem
225 0FC1 1903 btfsc 3,2
226 0FC2 0AA7 incf _timeSystem+1
227 0FC3 1903 btfsc 3,2
228 0FC4 0AA8 incf _timeSystem+2
229 0FC5 1903 btfsc 3,2
230 0FC6 0AA9 incf _timeSystem+3
231 ;time.c: 65: }
232 0FC7 0008 return
233
234 psect text3
235 ;time.c: 68: void systimeInit(void)
236 ;time.c: 69: {
237 00EE _systimeInit
238 ;time.c: 70: timeSystem.ms=0;
239 00EE 0183 clrf 3 ;select bank 0
240 00EF 01A6 clrf _timeSystem
241 00F0 01A7 clrf _timeSystem+1
242 00F1 01A8 clrf _timeSystem+2
243 00F2 01A9 clrf _timeSystem+3
244 ;time.c: 75: }
245 00F3 0008 return
246
247 psect text4
248 ;time.c: 80: void timer1Init(void)
249 ;time.c: 81: {
250 0FDF _timer1Init
251 ;time.c: 82: T1CON=0x00;
252 0FDF 0183 clrf 3 ;select bank 0
253 0FE0 0190 clrf 16
254 ;time.c: 83: TMR1L =(65536-1000);
255 0FE1 3018 movlw 24
256 0FE2 008E movwf 14 ;volatile
257 ;time.c: 84: TMR1H =(65536-1000)>>8;
258 0FE3 30FC movlw -4
259 0FE4 008F movwf 15 ;volatile
260 ;time.c: 85: TMR1IF=0;
261 0FE5 100C bcf 12,0
262 ;time.c: 86: TMR1IE=1;
263 0FE6 1683 bsf 3,5
264 0FE7 140C bsf 12,0
265 ;time.c: 87: PEIE=1;
266 0FE8 170B bsf 11,6
267 ;time.c: 88: }
268 0FE9 1283 bcf 3,5
269 0FEA 0008 return
270
271 psect intcode
272 ;time.c: 115: void interrupt irqTimer1(void)
273 ;time.c: 116: {
274 0027 _irqTimer1
275 0027 int_func
276 ;time.c: 117: if (TMR1IE&TMR1IF)
277 0027 0183 clrf 3 ;select bank 0
278 0028 1C0C btfss 12,0
279 0029 2839 goto l29
280 002A 1683 bsf 3,5
281 002B 1C0C btfss 12,0
282 002C 2839 goto l29
283 ;time.c: 118: { TMR1IF=0;
284 002D 1283 bcf 3,5
285 002E 1303 bcf 3,6 ;carry unused
286 002F 100C bcf 12,0
287 ;time.c: 119: TMR1ON=0;
288 0030 1010 bcf 16,0
289 ;time.c: 120: TMR1L=(65536-1000);
290 0031 3018 movlw 24
291 0032 008E movwf 14 ;volatile
292 ;time.c: 121: TMR1H=(65536-1000)>>8;
293 0033 30FC movlw -4
294 0034 008F movwf 15 ;volatile
295 ;time.c: 122: TMR1ON=1;
296 0035 1410 bsf 16,0
297 ;time.c: 123: refreshSystemTime();
298 0036 158A 27BF 118A fcall _refreshSystemTime
299 0039 l29
300 ;time.c: 124: }
301 0039 1283 bcf 3,5
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -