1 | 125 0FEE ;#
|
2 | 126 0FEF ;#
|
3 | 127 000C _PORTA set 12
|
4 | 128 0060 _RA0 set 96
|
5 | 129 0062 _RA2 set 98
|
6 | 130 0065 _RA5 set 101
|
7 | 131 009D _ADCON0 set 157
|
8 | 132 0099 _OSCCON set 153
|
9 | 133 008C _TRISA set 140
|
10 | 134
|
11 | 135 psect text0
|
12 | 136 0000 __ptext0:
|
13 | 137 ; #config settings
|
14 | 138
|
15 | 139
|
16 | 140 ;psect for function _initPorts
|
17 | 141 0000
|
18 | 142 psect cinit
|
19 | 143 07FD start_initialization:
|
20 | 144 07FD __initialization:
|
21 | 145 07FD end_of_initialization:
|
22 | 146 ;End of C runtime variable initialization code
|
23 | 147
|
24 | 148 07FD __end_of__initialization:
|
25 | 149 07FD 0020 movlb 0
|
26 | 150 07FE 3187 2FBF ljmp _main ;jump to C main() function
|
27 | 151
|
28 | 152 psect cstackCOMMON
|
29 | 153 0070 __pcstackCOMMON:
|
30 | 154 0070 ?_initPorts:
|
31 | 155 0070 ??_initPorts:
|
32 | 156 ; 0 bytes @ 0x0
|
33 | 157
|
34 | 158 0070 ?_pulse:
|
35 | 159 ; 0 bytes @ 0x0
|
36 | 160
|
37 | 161 0070 ??_pulse:
|
38 | 162 ; 0 bytes @ 0x0
|
39 | 163
|
40 | 164 0070 ?_main:
|
41 | 165 ; 0 bytes @ 0x0
|
42 | 166
|
43 | 167
|
44 | 168 ; 0 bytes @ 0x0
|
45 | 169 0070 ds 2
|
46 | 170 0072 pulse@i:
|
47 | 171
|
48 | 172 ; 2 bytes @ 0x2
|
49 | 173 0072 ds 2
|
50 | 174 0074 ??_main:
|
51 | 175
|
52 | 176 ; 0 bytes @ 0x4
|
53 | 177 0074 ds 3
|
54 | 178
|
55 | 179 psect maintext
|
56 | 180 07BF __pmaintext:
|
57 | 181 ;;
|
58 | 182 ;;Main: autosize = 0, tempsize = 3, incstack = 0, save=0
|
59 | 183 ;;
|
60 | 184 ;; *************** function _main *****************
|
61 | 185 ;; Defined at:
|
62 | 186 ;; line 41 in file "main.c"
|
63 | 187 ;; Parameters: Size Location Type
|
64 | 188 ;; None
|
65 | 189 ;; Auto vars: Size Location Type
|
66 | 190 ;; None
|
67 | 191 ;; Return value: Size Location Type
|
68 | 192 ;; None void
|
69 | 193 ;; Registers used:
|
70 | 194 ;; wreg, status,2, status,0, pclath, cstack
|
71 | 195 ;; Tracked objects:
|
72 | 196 ;; On entry : B1F/0
|
73 | 197 ;; On exit : 0/0
|
74 | 198 ;; Unchanged: 0/0
|
75 | 199 ;; Data sizes: COMMON BANK0 BANK1 BANK2
|
76 | 200 ;; Params: 0 0 0 0
|
77 | 201 ;; Locals: 0 0 0 0
|
78 | 202 ;; Temps: 3 0 0 0
|
79 | 203 ;; Totals: 3 0 0 0
|
80 | 204 ;;Total ram usage: 3 bytes
|
81 | 205 ;; Hardware stack levels required when called: 1
|
82 | 206 ;; This function calls:
|
83 | 207 ;; _initPorts
|
84 | 208 ;; _pulse
|
85 | 209 ;; This function is called by:
|
86 | 210 ;; Startup code after reset
|
87 | 211 ;; This function uses a non-reentrant model
|
88 | 212 ;;
|
89 | 213
|
90 | 214
|
91 | 215 ;psect for function _main
|
92 | 216 07BF _main:
|
93 | 217
|
94 | 218 ;main.c: 43: initPorts();
|
95 | 219
|
96 | 220 ;incstack = 0
|
97 | 221 ; Regs used in _main: [wreg+status,2+status,0+pclath+cstack]
|
98 | 222 07BF 3187 27B6 3187 fcall _initPorts
|
99 | 223
|
100 | 224 ;main.c: 44: RA5=0;
|
101 | 225 07C2 0020 movlb 0 ; select bank0
|
102 | 226 07C3 128C bcf 12,5 ;volatile
|
103 | 227 07C4 l513:
|
104 | 228 ;main.c: 45: while(1)
|
105 | 229
|
106 | 230
|
107 | 231 ;main.c: 46: {
|
108 | 232 ;main.c: 47: RA0=1;
|
109 | 233 07C4 0020 movlb 0 ; select bank0
|
110 | 234 07C5 140C bsf 12,0 ;volatile
|
111 | 235
|
112 | 236 ;main.c: 48: pulse();
|
113 | 237 07C6 3187 27D9 3187 fcall _pulse
|
114 | 238
|
115 | 239 ;main.c: 49: RA0=0;
|
116 | 240 07C9 0020 movlb 0 ; select bank0
|
117 | 241 07CA 100C bcf 12,0 ;volatile
|
118 | 242
|
119 | 243 ;main.c: 50: _delay((unsigned long)((1000)*(16000000/4000.0)));
|
120 | 244 07CB 3015 movlw 21
|
121 | 245 07CC 00F6 movwf ??_main+2
|
122 | 246 07CD 304B movlw 75
|
123 | 247 07CE 00F5 movwf ??_main+1
|
124 | 248 07CF 30D1 movlw 209
|
125 | 249 07D0 00F4 movwf ??_main
|
126 | 250 07D1 u27:
|
127 | 251 07D1 0BF4 decfsz ??_main,f
|
128 | 252 07D2 2FD1 goto u27
|
129 | 253 07D3 0BF5 decfsz ??_main+1,f
|
130 | 254 07D4 2FD1 goto u27
|
131 | 255 07D5 0BF6 decfsz ??_main+2,f
|
132 | 256 07D6 2FD1 goto u27
|
133 | 257 07D7 0000 nop
|
134 | 258 07D8 2FC4 goto l513
|
135 | 259 07D9 __end_of_main:
|
136 | 260
|
137 | 261 psect text1
|
138 | 262 07D9 __ptext1:
|
139 | 263 ;; *************** function _pulse *****************
|
140 | 264 ;; Defined at:
|
141 | 265 ;; line 69 in file "main.c"
|
142 | 266 ;; Parameters: Size Location Type
|
143 | 267 ;; None
|
144 | 268 ;; Auto vars: Size Location Type
|
145 | 269 ;; i 2 2[COMMON] int
|
146 | 270 ;; Return value: Size Location Type
|
147 | 271 ;; None void
|
148 | 272 ;; Registers used:
|
149 | 273 ;; wreg, status,2, status,0
|
150 | 274 ;; Tracked objects:
|
151 | 275 ;; On entry : 0/0
|
152 | 276 ;; On exit : 0/0
|
153 | 277 ;; Unchanged: 0/0
|
154 | 278 ;; Data sizes: COMMON BANK0 BANK1 BANK2
|
155 | 279 ;; Params: 0 0 0 0
|
156 | 280 ;; Locals: 2 0 0 0
|
157 | 281 ;; Temps: 2 0 0 0
|
158 | 282 ;; Totals: 4 0 0 0
|
159 | 283 ;;Total ram usage: 4 bytes
|
160 | 284 ;; Hardware stack levels used: 1
|
161 | 285 ;; This function calls:
|
162 | 286 ;; Nothing
|
163 | 287 ;; This function is called by:
|
164 | 288 ;; _main
|
165 | 289 ;; This function uses a non-reentrant model
|
166 | 290 ;;
|
167 | 291
|
168 | 292
|
169 | 293 ;psect for function _pulse
|
170 | 294 07D9 _pulse:
|
171 | 295
|
172 | 296 ;incstack = 0
|
173 | 297 ; Regs used in _pulse: [wreg+status,2+status,0]
|
174 | 298 07D9 3001 movlw 1
|
175 | 299 07DA 00F2 movwf pulse@i
|
176 | 300 07DB 3000 movlw 0
|
177 | 301 07DC 00F3 movwf pulse@i+1
|
178 | 302 07DD l507:
|
179 | 303 ;main.c: 71: while(i!=30)
|
180 | 304
|
181 | 305 07DD 301E movlw 30
|
182 | 306 07DE 0672 xorwf pulse@i,w
|
183 | 307 07DF 0473 iorwf pulse@i+1,w
|
184 | 308 07E0 1903 btfsc 3,2
|
185 | 309 07E1 0008 return
|
186 | 310
|
187 | 311 ;main.c: 72: {
|
188 | 312 ;main.c: 73: RA2=1;
|
189 | 313 07E2 0020 movlb 0 ; select bank0
|
190 | 314 07E3 150C bsf 12,2 ;volatile
|
191 | 315
|
192 | 316 ;main.c: 74: _delay((unsigned long)((500)*(16000000/4000000.0)));
|
193 | 317 07E4 3003 movlw 3
|
194 | 318 07E5 00F1 movwf ??_pulse+1
|
195 | 319 07E6 3097 movlw 151
|
196 | 320 07E7 00F0 movwf ??_pulse
|
197 | 321 07E8 u37:
|
198 | 322 07E8 0BF0 decfsz ??_pulse,f
|
199 | 323 07E9 2FE8 goto u37
|
200 | 324 07EA 0BF1 decfsz ??_pulse+1,f
|
201 | 325 07EB 2FE8 goto u37
|
202 | 326 07EC 3200 nop2
|
203 | 327
|
204 | 328 ;main.c: 75: RA2=0;
|
205 | 329 07ED 0020 movlb 0 ; select bank0
|
206 | 330 07EE 110C bcf 12,2 ;volatile
|
207 | 331
|
208 | 332 ;main.c: 76: _delay((unsigned long)((500)*(16000000/4000000.0)));
|
209 | 333 07EF 3003 movlw 3
|
210 | 334 07F0 00F1 movwf ??_pulse+1
|
211 | 335 07F1 3097 movlw 151
|
212 | 336 07F2 00F0 movwf ??_pulse
|
213 | 337 07F3 u47:
|
214 | 338 07F3 0BF0 decfsz ??_pulse,f
|
215 | 339 07F4 2FF3 goto u47
|
216 | 340 07F5 0BF1 decfsz ??_pulse+1,f
|
217 | 341 07F6 2FF3 goto u47
|
218 | 342 07F7 3200 nop2
|
219 | 343
|
220 | 344 ;main.c: 77: i++;
|
221 | 345 07F8 3001 movlw 1
|
222 | 346 07F9 07F2 addwf pulse@i,f
|
223 | 347 07FA 3000 movlw 0
|
224 | 348 07FB 3DF3 addwfc pulse@i+1,f
|
225 | 349 07FC 2FDD goto l507
|
226 | 350 07FD __end_of_pulse:
|
227 | 351
|
228 | 352 psect text2
|
229 | 353 07B6 __ptext2:
|
230 | 354 ;; *************** function _initPorts *****************
|
231 | 355 ;; Defined at:
|
232 | 356 ;; line 56 in file "main.c"
|
233 | 357 ;; Parameters: Size Location Type
|
234 | 358 ;; None
|
235 | 359 ;; Auto vars: Size Location Type
|
236 | 360 ;; None
|
237 | 361 ;; Return value: Size Location Type
|
238 | 362 ;; None void
|
239 | 363 ;; Registers used:
|
240 | 364 ;; wreg, status,2
|
241 | 365 ;; Tracked objects:
|
242 | 366 ;; On entry : 0/0
|
243 | 367 ;; On exit : 0/0
|
244 | 368 ;; Unchanged: 0/0
|
245 | 369 ;; Data sizes: COMMON BANK0 BANK1 BANK2
|
246 | 370 ;; Params: 0 0 0 0
|
247 | 371 ;; Locals: 0 0 0 0
|
248 | 372 ;; Temps: 0 0 0 0
|
249 | 373 ;; Totals: 0 0 0 0
|
250 | 374 ;;Total ram usage: 0 bytes
|
251 | 375 ;; Hardware stack levels used: 1
|
252 | 376 ;; This function calls:
|
253 | 377 ;; Nothing
|
254 | 378 ;; This function is called by:
|
255 | 379 ;; _main
|
256 | 380 ;; This function uses a non-reentrant model
|
257 | 381 ;;
|
258 | 382
|
259 | 383
|
260 | 384 ;psect for function _initPorts
|
261 | 385 07B6 _initPorts:
|
262 | 386
|
263 | 387 ;main.c: 60: OSCCON=0b11111010;
|
264 | 388
|
265 | 389 ;incstack = 0
|
266 | 390 ; Regs used in _initPorts: [wreg+status,2]
|
267 | 391 07B6 30FA movlw 250
|
268 | 392 07B7 0021 movlb 1 ; select bank1
|
269 | 393 07B8 0099 movwf 25 ;volatile
|
270 | 394
|
271 | 395 ;main.c: 61: ADCON0=0b00001100;
|
272 | 396 07B9 300C movlw 12
|
273 | 397 07BA 009D movwf 29 ;volatile
|
274 | 398
|
275 | 399 ;main.c: 63: TRISA = 0b00000000;
|
276 | 400 07BB 018C clrf 12 ;volatile
|
277 | 401
|
278 | 402 ;main.c: 66: PORTA = 0;
|
279 | 403 07BC 0020 movlb 0 ; select bank0
|
280 | 404 07BD 018C clrf 12 ;volatile
|
281 | 405 07BE 0008 return
|
282 | 406 07BF __end_of_initPorts:
|
283 | 407 007E btemp set 126 ;btemp
|
284 | 408 007E wtemp set 126
|
285 | 409 007E wtemp0 set 126
|
286 | 410 0080 wtemp1 set 128
|
287 | 411 0082 wtemp2 set 130
|
288 | 412 0084 wtemp3 set 132
|
289 | 413 0086 wtemp4 set 134
|
290 | 414 0088 wtemp5 set 136
|
291 | 415 007F wtemp6 set 127
|
292 | 416 007E ttemp set 126
|
293 | 417 007E ttemp0 set 126
|
294 | 418 0081 ttemp1 set 129
|
295 | 419 0084 ttemp2 set 132
|
296 | 420 0087 ttemp3 set 135
|
297 | 421 007F ttemp4 set 127
|
298 | 422 007E ltemp set 126
|
299 | 423 007E ltemp0 set 126
|
300 | 424 0082 ltemp1 set 130
|
301 | 425 0086 ltemp2 set 134
|
302 | 426 0080 ltemp3 set 128
|