1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
2395
2396
2397
2398
2399
2400
2401
2402
2403
2404
2405
2406
2407
2408
2409
2410
2411
2412
2413
2414
2415
2416
2417
2418
2419
2420
2421
2422
2423
2424
2425
2426
2427
2428
2429
2430
2431
2432
2433
2434
2435
2436
2437
2438
2439
2440
2441
2442
2443
2444
2445
2446
2447
2448
2449
2450
2451
2452
2453
2454
2455
2456
2457
2458
2459
2460
2461
2462
2463
2464
2465
2466
2467
2468
2469
2470
2471
2472
2473
2474
2475
2476
2477
2478
2479
2480
2481
2482
2483
2484
2485
2486
2487
2488
2489
2490
2491
2492
2493
2494
2495
2496
2497
2498
2499
2500
2501
2502
2503
2504
2505
2506
2507
2508
2509
2510
2511
2512
2513
2514
2515
2516
2517
2518
2519
2520
2521
2522
2523
2524
2525
2526
2527
2528
2529
2530
2531
2532
2533
2534
2535
2536
2537
2538
2539
2540
2541
2542
2543
2544
2545
2546
2547
2548
2549
2550
2551
2552
2553
2554
2555
2556
2557
2558
2559
2560
2561
2562
2563
2564
2565
2566
2567
2568
2569
2570
2571
2572
2573
2574
2575
2576
2577
2578
2579
2580
2581
2582
2583
2584
2585
2586
2587
2588
2589
2590
2591
2592
2593
2594
2595
2596
2597
2598
2599
2600
2601
2602
2603
2604
2605
2606
2607
2608
2609
2610
2611
2612
2613
2614
2615
2616
2617
2618
2619
2620
2621
2622
2623
2624
2625
2626
2627
2628
2629
2630
2631
2632
2633
2634
2635
2636
2637
2638
2639
2640
2641
2642
2643
2644
2645
2646
2647
2648
2649
2650
2651
2652
2653
2654
2655
2656
2657
2658
2659
2660
2661
2662
2663
2664
2665
2666
2667
2668
2669
2670
2671
2672
2673
2674
2675
2676
2677
2678
2679
2680
2681
2682
2683
2684
2685
2686
2687
2688
2689
2690
2691
2692
2693
2694
2695
2696
2697
2698
2699
2700
2701
2702
2703
2704
2705
2706
2707
2708
2709
2710
2711
2712
2713
2714
2715
2716
2717
2718
2719
2720
2721
2722
2723
2724
2725
2726
2727
2728
2729
2730
2731
2732
2733
2734
2735
2736
2737
2738
2739
2740
2741
2742
2743
2744
2745
|
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 1
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00001 ;--------------------------------------------------------
00002 ; File Created by SDCC : free open source ANSI-C Compiler
00003 ; Version 2.7.4 #4943 (Oct 27 2007) (UNIX)
00004 ; This file was generated Fri Jun 13 14:34:02 2008
00005 ;--------------------------------------------------------
00006 ; PIC port for the 14-bit core
00007 ;--------------------------------------------------------
00008 ; .module stepmotor2
00009 list p=16f648a
00010 radix dec
00011 include "p16f648a.inc"
00001 LIST
00002 ; P16F648A.INC Standard Header File, Version 1.00 Microchip Technology, Inc.
00264 LIST
00012 ;--------------------------------------------------------
00013 ; external declarations
00014 ;--------------------------------------------------------
00015 extern _flashLED
00016 extern _LEDon
00017 extern _setFlash
00018 extern _uartTransmit
00019 extern _sendReply
00020 extern _sendMessage
00021 extern _sendDataByte
00022 extern _endMessage
00023 extern _sendMessageISR
00024 extern _sendDataByteISR
00025 extern _endMessageISR
00026 extern _releaseLock
00027 extern _serialInterruptHandler
00028 extern _packetReady
00029 extern _uartNotifyReceive
00030 extern _serial_init
00031 extern _delay_10us
00032 extern _clearwdt
00033 extern _CCP1CON_bits
00034 extern _CMCON_bits
00035 extern _EECON1_bits
00036 extern _INTCON_bits
00037 extern _OPTION_REG_bits
00038 extern _PCON_bits
00039 extern _PIE1_bits
00040 extern _PIR1_bits
00041 extern _PORTA_bits
00042 extern _PORTB_bits
00043 extern _RCSTA_bits
00044 extern _STATUS_bits
00045 extern _T1CON_bits
00046 extern _T2CON_bits
00047 extern _TRISA_bits
00048 extern _TRISB_bits
00049 extern _TXSTA_bits
00050 extern _VRCON_bits
00051 extern _syncEnabled
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 2
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00052 extern _syncCounter
00053 extern _buffer
00054 extern _serialStatus
00055 extern _INDF
00056 extern _TMR0
00057 extern _PCL
00058 extern _STATUS
00059 extern _FSR
00060 extern _PORTA
00061 extern _PORTB
00062 extern _PCLATH
00063 extern _INTCON
00064 extern _PIR1
00065 extern _TMR1L
00066 extern _TMR1H
00067 extern _T1CON
00068 extern _TMR2
00069 extern _T2CON
00070 extern _CCPR1L
00071 extern _CCPR1H
00072 extern _CCP1CON
00073 extern _RCSTA
00074 extern _TXREG
00075 extern _RCREG
00076 extern _CMCON
00077 extern _OPTION_REG
00078 extern _TRISA
00079 extern _TRISB
00080 extern _PIE1
00081 extern _PCON
00082 extern _PR2
00083 extern _TXSTA
00084 extern _SPBRG
00085 extern _EEDATA
00086 extern _EEADR
00087 extern _EECON1
00088 extern _EECON2
00089 extern _VRCON
00090
00091 extern PSAVE
00092 extern SSAVE
00093 extern WSAVE
00094 extern STK12
00095 extern STK11
00096 extern STK10
00097 extern STK09
00098 extern STK08
00099 extern STK07
00100 extern STK06
00101 extern STK05
00102 extern STK04
00103 extern STK03
00104 extern STK02
00105 extern STK01
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 3
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00106 extern STK00
00107 ;--------------------------------------------------------
00108 ; global declarations
00109 ;--------------------------------------------------------
00110 global _processCommand
00111 global _setPower
00112 global _syncStrobe
00113 global _timerTick
00114 global _init2
00115 global _motor_stop
00116 global _motor_click
00117 global _forward1
00118 global _reverse1
00119 global _setTimer
00120 global _strobe_sync
00121
00122 ;--------------------------------------------------------
00123 ; global definitions
00124 ;--------------------------------------------------------
00125 ;--------------------------------------------------------
00126 ; absolute symbol definitions
00127 ;--------------------------------------------------------
00128 ;--------------------------------------------------------
00129 ; compiler-defined variables
00130 ;--------------------------------------------------------
00131 UDL_stepmotor2_0 udata
00132 r0x1017 res 1
00133 r0x1015 res 1
00134 r0x1016 res 1
00135 r0x1022 res 1
00136 r0x101D res 1
00137 r0x101E res 1
00138 r0x101F res 1
00139 r0x1020 res 1
00140 r0x1021 res 1
00141 r0x1019 res 1
00142 r0x101A res 1
00143 r0x101B res 1
00144 r0x101C res 1
00145 r0x1011 res 1
00146 r0x1014 res 1
00147 _currentPosition res 2
00148 _seekPosition res 2
00149 _maxPosition res 2
00150 _dda_error res 2
00151 _dda_deltay res 2
00152 _dda_deltax res 2
00153 ;--------------------------------------------------------
00154 ; initialized data
00155 ;--------------------------------------------------------
00156
00157 ID_stepmotor2_0 idata
0000 00158 _coilPosition
00159 db 0x00
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 4
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00160
00161
00162 ID_stepmotor2_1 idata
0000 00163 _function
00164 db 0x00
00165
00166
00167 ID_stepmotor2_2 idata
0000 00168 _speed
00169 db 0x00
00170
00171
00172 ID_stepmotor2_3 idata
0000 00173 _seekNotify
00174 db 0xff
00175
00176
00177 ID_stepmotor2_4 idata
0000 00178 _sync_mode
00179 db 0x00
00180
00181 ;--------------------------------------------------------
00182 ; overlayable items in internal ram
00183 ;--------------------------------------------------------
00184 ; udata_ovr
00185 ;--------------------------------------------------------
00186 ; code
00187 ;--------------------------------------------------------
00188 code_stepmotor2 code
00189 ;***
00190 ; pBlock Stats: dbName = C
00191 ;***
00192 ;entry: _processCommand ;Function start
00193 ; 2 exit points
00194 ;has an exit
00195 ;functions called:
00196 ; _sendReply
00197 ; _sendDataByte
00198 ; _sendDataByte
00199 ; _sendDataByte
00200 ; _endMessage
00201 ; _sendReply
00202 ; _sendDataByte
00203 ; _sendDataByte
00204 ; _sendDataByte
00205 ; _sendDataByte
00206 ; _sendDataByte
00207 ; _sendDataByte
00208 ; _sendDataByte
00209 ; _endMessage
00210 ; _sendReply
00211 ; _sendDataByte
00212 ; _sendDataByte
00213 ; _endMessage
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 5
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00214 ; _setTimer
00215 ; _setTimer
00216 ; _sendReply
00217 ; _sendDataByte
00218 ; _sendDataByte
00219 ; _sendDataByte
00220 ; _endMessage
00221 ; _setTimer
00222 ; _motor_stop
00223 ; _setTimer
00224 ; _sendReply
00225 ; _sendDataByte
00226 ; _sendDataByte
00227 ; _sendDataByte
00228 ; _endMessage
00229 ; _setTimer
00230 ; _forward1
00231 ; _reverse1
00232 ; _setPower
00233 ; _sendReply
00234 ; _sendDataByte
00235 ; _sendDataByte
00236 ; _sendDataByte
00237 ; _endMessage
00238 ; _setTimer
00239 ; _sendReply
00240 ; _sendDataByte
00241 ; _sendDataByte
00242 ; _sendDataByte
00243 ; _endMessage
00244 ; _sendReply
00245 ; _sendDataByte
00246 ; _sendDataByte
00247 ; _sendDataByte
00248 ; _sendDataByte
00249 ; _sendDataByte
00250 ; _sendDataByte
00251 ; _sendDataByte
00252 ; _endMessage
00253 ; _sendReply
00254 ; _sendDataByte
00255 ; _sendDataByte
00256 ; _endMessage
00257 ; _setTimer
00258 ; _setTimer
00259 ; _sendReply
00260 ; _sendDataByte
00261 ; _sendDataByte
00262 ; _sendDataByte
00263 ; _endMessage
00264 ; _setTimer
00265 ; _motor_stop
00266 ; _setTimer
00267 ; _sendReply
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 6
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00268 ; _sendDataByte
00269 ; _sendDataByte
00270 ; _sendDataByte
00271 ; _endMessage
00272 ; _setTimer
00273 ; _forward1
00274 ; _reverse1
00275 ; _setPower
00276 ; _sendReply
00277 ; _sendDataByte
00278 ; _sendDataByte
00279 ; _sendDataByte
00280 ; _endMessage
00281 ; _setTimer
00282 ;4 compiler assigned registers:
00283 ; r0x1011
00284 ; r0x1012
00285 ; r0x1013
00286 ; r0x1014
00287 ;; Starting pCode block
0000 00288 _processCommand ;Function start
00289 ; 2 exit points
00290 ; .line 577; "stepmotor2.c" switch(buffer[0]) {
0000 0000 0000 00291 BANKSEL _buffer
0002 0800 00292 MOVF (_buffer + 0),W
0003 0000 0000 00293 BANKSEL r0x1011
0005 0080 00294 MOVWF r0x1011
0006 1903 00295 BTFSC STATUS,2
0007 2800 00296 GOTO _00283_DS_
0008 0800 00297 MOVF r0x1011,W
0009 3A01 00298 XORLW 0x01
000A 1903 00299 BTFSC STATUS,2
000B 2800 00300 GOTO _00295_DS_
000C 0800 00301 MOVF r0x1011,W
000D 3A02 00302 XORLW 0x02
000E 1903 00303 BTFSC STATUS,2
000F 2800 00304 GOTO _00296_DS_
0010 0800 00305 MOVF r0x1011,W
0011 3A03 00306 XORLW 0x03
0012 1903 00307 BTFSC STATUS,2
0013 2800 00308 GOTO _00297_DS_
0014 0800 00309 MOVF r0x1011,W
0015 3A04 00310 XORLW 0x04
0016 1903 00311 BTFSC STATUS,2
0017 2800 00312 GOTO _00298_DS_
0018 0800 00313 MOVF r0x1011,W
0019 3A05 00314 XORLW 0x05
001A 1903 00315 BTFSC STATUS,2
001B 2800 00316 GOTO _00299_DS_
001C 0800 00317 MOVF r0x1011,W
001D 3A06 00318 XORLW 0x06
001E 1903 00319 BTFSC STATUS,2
001F 2800 00320 GOTO _00303_DS_
0020 0800 00321 MOVF r0x1011,W
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 7
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0021 3A07 00322 XORLW 0x07
0022 1903 00323 BTFSC STATUS,2
0023 2800 00324 GOTO _00304_DS_
0024 0800 00325 MOVF r0x1011,W
0025 3A08 00326 XORLW 0x08
0026 1903 00327 BTFSC STATUS,2
0027 2800 00328 GOTO _00305_DS_
0028 0800 00329 MOVF r0x1011,W
0029 3A09 00330 XORLW 0x09
002A 1903 00331 BTFSC STATUS,2
002B 2800 00332 GOTO _00306_DS_
002C 0800 00333 MOVF r0x1011,W
002D 3A0A 00334 XORLW 0x0a
002E 1903 00335 BTFSC STATUS,2
002F 2800 00336 GOTO _00307_DS_
0030 0800 00337 MOVF r0x1011,W
0031 3A0B 00338 XORLW 0x0b
0032 1903 00339 BTFSC STATUS,2
0033 2800 00340 GOTO _00308_DS_
0034 0800 00341 MOVF r0x1011,W
0035 3A0C 00342 XORLW 0x0c
0036 1903 00343 BTFSC STATUS,2
0037 2800 00344 GOTO _00311_DS_
0038 0800 00345 MOVF r0x1011,W
0039 3A0D 00346 XORLW 0x0d
003A 1903 00347 BTFSC STATUS,2
003B 2800 00348 GOTO _00312_DS_
003C 0800 00349 MOVF r0x1011,W
003D 3A0E 00350 XORLW 0x0e
003E 1903 00351 BTFSC STATUS,2
003F 2800 00352 GOTO _00313_DS_
0040 0800 00353 MOVF r0x1011,W
0041 3A0F 00354 XORLW 0x0f
0042 1903 00355 BTFSC STATUS,2
0043 2800 00356 GOTO _00314_DS_
0044 0800 00357 MOVF r0x1011,W
0045 3A10 00358 XORLW 0x10
0046 1903 00359 BTFSC STATUS,2
0047 2800 00360 GOTO _00315_DS_
0048 0800 00361 MOVF r0x1011,W
0049 3AFE 00362 XORLW 0xfe
004A 1903 00363 BTFSC STATUS,2
004B 2800 00364 GOTO _00284_DS_
004C 0800 00365 MOVF r0x1011,W
004D 3AFF 00366 XORLW 0xff
004E 1903 00367 BTFSC STATUS,2
004F 2800 00368 GOTO _00294_DS_
0050 2800 00369 GOTO _00316_DS_
0051 00370 _00283_DS_
00371 ; .line 579; "stepmotor2.c" sendReply();
0051 0000 00372 PAGESEL _sendReply
0052 2000 00373 CALL _sendReply
0053 0000 00374 PAGESEL $
00375 ; .line 580; "stepmotor2.c" sendDataByte(CMD_VERSION); // Response type 0
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 8
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0054 3000 00376 MOVLW 0x00
0055 0000 00377 PAGESEL _sendDataByte
0056 2000 00378 CALL _sendDataByte
0057 0000 00379 PAGESEL $
00380 ; .line 581; "stepmotor2.c" sendDataByte(MAJOR_VERSION_NUMBER);
0058 3001 00381 MOVLW 0x01
0059 0000 00382 PAGESEL _sendDataByte
005A 2000 00383 CALL _sendDataByte
005B 0000 00384 PAGESEL $
00385 ; .line 582; "stepmotor2.c" sendDataByte(MINOR_VERSION_NUMBER);
005C 3000 00386 MOVLW 0x00
005D 0000 00387 PAGESEL _sendDataByte
005E 2000 00388 CALL _sendDataByte
005F 0000 00389 PAGESEL $
00390 ; .line 583; "stepmotor2.c" endMessage();
0060 0000 00391 PAGESEL _endMessage
0061 2000 00392 CALL _endMessage
0062 0000 00393 PAGESEL $
00394 ; .line 584; "stepmotor2.c" break;
0063 2800 00395 GOTO _00316_DS_
0064 00396 _00284_DS_
00397 ; .line 587; "stepmotor2.c" sendReply();
0064 0000 00398 PAGESEL _sendReply
0065 2000 00399 CALL _sendReply
0066 0000 00400 PAGESEL $
00401 ; .line 588; "stepmotor2.c" sendDataByte(CMD_CHECKHOSTVERSION);
0067 30FE 00402 MOVLW 0xfe
0068 0000 00403 PAGESEL _sendDataByte
0069 2000 00404 CALL _sendDataByte
006A 0000 00405 PAGESEL $
00406 ; .line 589; "stepmotor2.c" if(buffer[1] > OLDHOST_MAJOR_VERSION_NUMBER)
006B 0000 0000 00407 BANKSEL _buffer
006D 0800 00408 MOVF (_buffer + 1),W
006E 0000 0000 00409 BANKSEL r0x1011
0070 0080 00410 MOVWF r0x1011
0071 1903 00411 BTFSC STATUS,2
0072 2800 00412 GOTO _00292_DS_
00413 ; .line 590; "stepmotor2.c" sendDataByte(0xff);
0073 30FF 00414 MOVLW 0xff
0074 0000 00415 PAGESEL _sendDataByte
0075 2000 00416 CALL _sendDataByte
0076 0000 00417 PAGESEL $
0077 2800 00418 GOTO _00293_DS_
0078 00419 _00292_DS_
00420 ; .line 591; "stepmotor2.c" else if (buffer[1] == OLDHOST_MAJOR_VERSION_NUMBER)
0078 0000 0000 00421 BANKSEL _buffer
007A 0800 00422 MOVF (_buffer + 1),W
007B 0000 0000 00423 BANKSEL r0x1011
007D 0080 00424 MOVWF r0x1011
007E 0800 00425 MOVF r0x1011,W
007F 1D03 00426 BTFSS STATUS,2
0080 2800 00427 GOTO _00289_DS_
00428 ; .line 593; "stepmotor2.c" if (buffer[2] >= OLDHOST_MINOR_VERSION_NUMBER)
0081 0000 0000 00429 BANKSEL _buffer
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 9
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0083 0800 00430 MOVF (_buffer + 2),W
0084 0000 0000 00431 BANKSEL r0x1011
0086 0080 00432 MOVWF r0x1011
00433 ;unsigned compare: left < lit(0x8=8), size=1
0087 3008 00434 MOVLW 0x08
0088 0200 00435 SUBWF r0x1011,W
0089 1C03 00436 BTFSS STATUS,0
008A 2800 00437 GOTO _00286_DS_
00438 ;genSkipc:3694: created from rifx:0xbf8c33d0
00439 ; .line 594; "stepmotor2.c" sendDataByte(0xff);
008B 30FF 00440 MOVLW 0xff
008C 0000 00441 PAGESEL _sendDataByte
008D 2000 00442 CALL _sendDataByte
008E 0000 00443 PAGESEL $
008F 2800 00444 GOTO _00293_DS_
0090 00445 _00286_DS_
00446 ; .line 596; "stepmotor2.c" sendDataByte(0);
0090 3000 00447 MOVLW 0x00
0091 0000 00448 PAGESEL _sendDataByte
0092 2000 00449 CALL _sendDataByte
0093 0000 00450 PAGESEL $
0094 2800 00451 GOTO _00293_DS_
0095 00452 _00289_DS_
00453 ; .line 598; "stepmotor2.c" sendDataByte(0);
0095 3000 00454 MOVLW 0x00
0096 0000 00455 PAGESEL _sendDataByte
0097 2000 00456 CALL _sendDataByte
0098 0000 00457 PAGESEL $
0099 00458 _00293_DS_
00459 ; .line 599; "stepmotor2.c" sendDataByte(OLDHOST_MAJOR_VERSION_NUMBER);
0099 3000 00460 MOVLW 0x00
009A 0000 00461 PAGESEL _sendDataByte
009B 2000 00462 CALL _sendDataByte
009C 0000 00463 PAGESEL $
00464 ; .line 600; "stepmotor2.c" sendDataByte(OLDHOST_MINOR_VERSION_NUMBER);
009D 3008 00465 MOVLW 0x08
009E 0000 00466 PAGESEL _sendDataByte
009F 2000 00467 CALL _sendDataByte
00A0 0000 00468 PAGESEL $
00469 ; .line 601; "stepmotor2.c" endMessage();
00A1 0000 00470 PAGESEL _endMessage
00A2 2000 00471 CALL _endMessage
00A3 0000 00472 PAGESEL $
00473 ; .line 602; "stepmotor2.c" break;
00A4 2800 00474 GOTO _00316_DS_
00A5 00475 _00294_DS_
00476 ; .line 605; "stepmotor2.c" sendReply();
00A5 0000 00477 PAGESEL _sendReply
00A6 2000 00478 CALL _sendReply
00A7 0000 00479 PAGESEL $
00480 ; .line 606; "stepmotor2.c" sendDataByte(CMD_GETMODULETYPE);
00A8 30FF 00481 MOVLW 0xff
00A9 0000 00482 PAGESEL _sendDataByte
00AA 2000 00483 CALL _sendDataByte
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 10
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00AB 0000 00484 PAGESEL $
00485 ; .line 607; "stepmotor2.c" sendDataByte(LINEAR_AXIS_TYPE);
00AC 3000 00486 MOVLW 0x00
00AD 0000 00487 PAGESEL _sendDataByte
00AE 2000 00488 CALL _sendDataByte
00AF 0000 00489 PAGESEL $
00490 ; .line 608; "stepmotor2.c" endMessage();
00B0 0000 00491 PAGESEL _endMessage
00B1 2000 00492 CALL _endMessage
00B2 0000 00493 PAGESEL $
00494 ; .line 609; "stepmotor2.c" break;
00B3 2800 00495 GOTO _00316_DS_
00B4 00496 _00295_DS_
00497 ; .line 613; "stepmotor2.c" function = func_forward;
00B4 3001 00498 MOVLW 0x01
00B5 0000 0000 00499 BANKSEL _function
00B7 0080 00500 MOVWF _function
00501 ; .line 614; "stepmotor2.c" setTimer(buffer[1]);
00B8 0000 0000 00502 BANKSEL _buffer
00BA 0800 00503 MOVF (_buffer + 1),W
00BB 0000 0000 00504 BANKSEL r0x1011
00BD 0080 00505 MOVWF r0x1011
00BE 2000 00506 CALL _setTimer
00507 ; .line 615; "stepmotor2.c" break;
00BF 2800 00508 GOTO _00316_DS_
00C0 00509 _00296_DS_
00510 ; .line 619; "stepmotor2.c" function = func_reverse;
00C0 3002 00511 MOVLW 0x02
00C1 0000 0000 00512 BANKSEL _function
00C3 0080 00513 MOVWF _function
00514 ; .line 620; "stepmotor2.c" setTimer(buffer[1]);
00C4 0000 0000 00515 BANKSEL _buffer
00C6 0800 00516 MOVF (_buffer + 1),W
00C7 0000 0000 00517 BANKSEL r0x1011
00C9 0080 00518 MOVWF r0x1011
00CA 2000 00519 CALL _setTimer
00520 ; .line 621; "stepmotor2.c" break;
00CB 2800 00521 GOTO _00316_DS_
00CC 00522 _00297_DS_
00523 ; .line 625; "stepmotor2.c" currentPosition.bytes[0] = buffer[1];
00CC 0000 0000 00524 BANKSEL _buffer
00CE 0800 00525 MOVF (_buffer + 1),W
00CF 0000 0000 00526 BANKSEL r0x1011
00D1 0080 00527 MOVWF r0x1011
00D2 0000 0000 00528 BANKSEL _currentPosition
00D4 0080 00529 MOVWF (_currentPosition + 0)
00530 ; .line 626; "stepmotor2.c" currentPosition.bytes[1] = buffer[2];
00D5 0000 0000 00531 BANKSEL _buffer
00D7 0800 00532 MOVF (_buffer + 2),W
00D8 0000 0000 00533 BANKSEL r0x1011
00DA 0080 00534 MOVWF r0x1011
00DB 0000 0000 00535 BANKSEL _currentPosition
00DD 0080 00536 MOVWF (_currentPosition + 1)
00537 ; .line 627; "stepmotor2.c" break;
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 11
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00DE 2800 00538 GOTO _00316_DS_
00DF 00539 _00298_DS_
00540 ; .line 631; "stepmotor2.c" sendReply();
00DF 0000 00541 PAGESEL _sendReply
00E0 2000 00542 CALL _sendReply
00E1 0000 00543 PAGESEL $
00544 ; .line 632; "stepmotor2.c" sendDataByte(CMD_GETPOS);
00E2 3004 00545 MOVLW 0x04
00E3 0000 00546 PAGESEL _sendDataByte
00E4 2000 00547 CALL _sendDataByte
00E5 0000 00548 PAGESEL $
00549 ; .line 633; "stepmotor2.c" sendDataByte(currentPosition.bytes[0]);
00E6 0000 0000 00550 BANKSEL _currentPosition
00E8 0800 00551 MOVF (_currentPosition + 0),W
00E9 0000 0000 00552 BANKSEL r0x1011
00EB 0080 00553 MOVWF r0x1011
00EC 0000 00554 PAGESEL _sendDataByte
00ED 2000 00555 CALL _sendDataByte
00EE 0000 00556 PAGESEL $
00557 ; .line 634; "stepmotor2.c" sendDataByte(currentPosition.bytes[1]);
00EF 0000 0000 00558 BANKSEL _currentPosition
00F1 0800 00559 MOVF (_currentPosition + 1),W
00F2 0000 0000 00560 BANKSEL r0x1011
00F4 0080 00561 MOVWF r0x1011
00F5 0000 00562 PAGESEL _sendDataByte
00F6 2000 00563 CALL _sendDataByte
00F7 0000 00564 PAGESEL $
00565 ; .line 635; "stepmotor2.c" endMessage();
00F8 0000 00566 PAGESEL _endMessage
00F9 2000 00567 CALL _endMessage
00FA 0000 00568 PAGESEL $
00569 ; .line 636; "stepmotor2.c" break;
00FB 2800 00570 GOTO _00316_DS_
00FC 00571 _00299_DS_
00572 ; .line 640; "stepmotor2.c" seekPosition.bytes[0] = buffer[2];
00FC 0000 0000 00573 BANKSEL _buffer
00FE 0800 00574 MOVF (_buffer + 2),W
00FF 0000 0000 00575 BANKSEL r0x1011
0101 0080 00576 MOVWF r0x1011
0102 0000 0000 00577 BANKSEL _seekPosition
0104 0080 00578 MOVWF (_seekPosition + 0)
00579 ; .line 641; "stepmotor2.c" seekPosition.bytes[1] = buffer[3];
0105 0000 0000 00580 BANKSEL _buffer
0107 0800 00581 MOVF (_buffer + 3),W
0108 0000 0000 00582 BANKSEL r0x1011
010A 0080 00583 MOVWF r0x1011
010B 0000 0000 00584 BANKSEL _seekPosition
010D 0080 00585 MOVWF (_seekPosition + 1)
00586 ; .line 643; "stepmotor2.c" if (sync_mode == sync_seek)
010E 0000 0000 00587 BANKSEL _sync_mode
0110 0800 00588 MOVF _sync_mode,W
0111 3A01 00589 XORLW 0x01
0112 1D03 00590 BTFSS STATUS,2
0113 2800 00591 GOTO _00301_DS_
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 12
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00592 ; .line 644; "stepmotor2.c" function = func_syncwait;
0114 3003 00593 MOVLW 0x03
0115 0000 0000 00594 BANKSEL _function
0117 0080 00595 MOVWF _function
0118 2800 00596 GOTO _00302_DS_
0119 00597 _00301_DS_
00598 ; .line 646; "stepmotor2.c" function = func_seek;
0119 3004 00599 MOVLW 0x04
011A 0000 0000 00600 BANKSEL _function
011C 0080 00601 MOVWF _function
011D 00602 _00302_DS_
00603 ; .line 647; "stepmotor2.c" setTimer(buffer[1]);
011D 0000 0000 00604 BANKSEL _buffer
011F 0800 00605 MOVF (_buffer + 1),W
0120 0000 0000 00606 BANKSEL r0x1011
0122 0080 00607 MOVWF r0x1011
0123 2000 00608 CALL _setTimer
00609 ; .line 648; "stepmotor2.c" break;
0124 2800 00610 GOTO _00316_DS_
0125 00611 _00303_DS_
00612 ; .line 652; "stepmotor2.c" motor_stop();
0125 2000 00613 CALL _motor_stop
00614 ; .line 653; "stepmotor2.c" function = func_idle;
0126 0000 0000 00615 BANKSEL _function
0128 0180 00616 CLRF _function
00617 ; .line 654; "stepmotor2.c" break;
0129 2800 00618 GOTO _00316_DS_
012A 00619 _00304_DS_
00620 ; .line 658; "stepmotor2.c" seekNotify = buffer[1];
012A 0000 0000 00621 BANKSEL _buffer
012C 0800 00622 MOVF (_buffer + 1),W
012D 0000 0000 00623 BANKSEL _seekNotify
012F 0080 00624 MOVWF _seekNotify
00625 ; .line 659; "stepmotor2.c" break;
0130 2800 00626 GOTO _00316_DS_
0131 00627 _00305_DS_
00628 ; .line 663; "stepmotor2.c" sync_mode = buffer[1];
0131 0000 0000 00629 BANKSEL _buffer
0133 0800 00630 MOVF (_buffer + 1),W
0134 0000 0000 00631 BANKSEL _sync_mode
0136 0080 00632 MOVWF _sync_mode
00633 ; .line 664; "stepmotor2.c" break;
0137 2800 00634 GOTO _00316_DS_
0138 00635 _00306_DS_
00636 ; .line 668; "stepmotor2.c" function = func_findmin;
0138 3005 00637 MOVLW 0x05
0139 0000 0000 00638 BANKSEL _function
013B 0080 00639 MOVWF _function
00640 ; .line 669; "stepmotor2.c" setTimer(buffer[1]);
013C 0000 0000 00641 BANKSEL _buffer
013E 0800 00642 MOVF (_buffer + 1),W
013F 0000 0000 00643 BANKSEL r0x1011
0141 0080 00644 MOVWF r0x1011
0142 2000 00645 CALL _setTimer
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 13
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00646 ; .line 670; "stepmotor2.c" break;
0143 2800 00647 GOTO _00316_DS_
0144 00648 _00307_DS_
00649 ; .line 674; "stepmotor2.c" sendReply();
0144 0000 00650 PAGESEL _sendReply
0145 2000 00651 CALL _sendReply
0146 0000 00652 PAGESEL $
00653 ; .line 675; "stepmotor2.c" sendDataByte(CMD_GETRANGE);
0147 300A 00654 MOVLW 0x0a
0148 0000 00655 PAGESEL _sendDataByte
0149 2000 00656 CALL _sendDataByte
014A 0000 00657 PAGESEL $
00658 ; .line 676; "stepmotor2.c" sendDataByte(maxPosition.bytes[0]);
014B 0000 0000 00659 BANKSEL _maxPosition
014D 0800 00660 MOVF (_maxPosition + 0),W
014E 0000 0000 00661 BANKSEL r0x1011
0150 0080 00662 MOVWF r0x1011
0151 0000 00663 PAGESEL _sendDataByte
0152 2000 00664 CALL _sendDataByte
0153 0000 00665 PAGESEL $
00666 ; .line 677; "stepmotor2.c" sendDataByte(maxPosition.bytes[1]);
0154 0000 0000 00667 BANKSEL _maxPosition
0156 0800 00668 MOVF (_maxPosition + 1),W
0157 0000 0000 00669 BANKSEL r0x1011
0159 0080 00670 MOVWF r0x1011
015A 0000 00671 PAGESEL _sendDataByte
015B 2000 00672 CALL _sendDataByte
015C 0000 00673 PAGESEL $
00674 ; .line 678; "stepmotor2.c" endMessage();
015D 0000 00675 PAGESEL _endMessage
015E 2000 00676 CALL _endMessage
015F 0000 00677 PAGESEL $
00678 ; .line 679; "stepmotor2.c" break;
0160 2800 00679 GOTO _00316_DS_
0161 00680 _00308_DS_
00681 ; .line 686; "stepmotor2.c" seekPosition.bytes[0] = buffer[2];
0161 0000 0000 00682 BANKSEL _buffer
0163 0800 00683 MOVF (_buffer + 2),W
0164 0000 0000 00684 BANKSEL r0x1011
0166 0080 00685 MOVWF r0x1011
0167 0000 0000 00686 BANKSEL _seekPosition
0169 0080 00687 MOVWF (_seekPosition + 0)
00688 ; .line 687; "stepmotor2.c" seekPosition.bytes[1] = buffer[3];
016A 0000 0000 00689 BANKSEL _buffer
016C 0800 00690 MOVF (_buffer + 3),W
016D 0000 0000 00691 BANKSEL r0x1011
016F 0080 00692 MOVWF r0x1011
0170 0000 0000 00693 BANKSEL _seekPosition
0172 0080 00694 MOVWF (_seekPosition + 1)
00695 ; .line 688; "stepmotor2.c" dda_deltay.bytes[0] = buffer[4];
0173 0000 0000 00696 BANKSEL _buffer
0175 0800 00697 MOVF (_buffer + 4),W
0176 0000 0000 00698 BANKSEL r0x1011
0178 0080 00699 MOVWF r0x1011
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 14
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0179 0000 0000 00700 BANKSEL _dda_deltay
017B 0080 00701 MOVWF (_dda_deltay + 0)
00702 ; .line 689; "stepmotor2.c" dda_deltay.bytes[1] = buffer[5];
017C 0000 0000 00703 BANKSEL _buffer
017E 0800 00704 MOVF (_buffer + 5),W
017F 0000 0000 00705 BANKSEL r0x1011
0181 0080 00706 MOVWF r0x1011
0182 0000 0000 00707 BANKSEL _dda_deltay
0184 0080 00708 MOVWF (_dda_deltay + 1)
00709 ; .line 690; "stepmotor2.c" dda_error = 0;
0185 0000 0000 00710 BANKSEL _dda_error
0187 0180 00711 CLRF _dda_error
0188 0180 00712 CLRF (_dda_error + 1)
00713 ; .line 692; "stepmotor2.c" dda_deltax = seekPosition.ival - currentPosition.ival;
0189 0000 0000 00714 BANKSEL _seekPosition
018B 0800 00715 MOVF (_seekPosition + 0),W
018C 0000 0000 00716 BANKSEL r0x1011
018E 0080 00717 MOVWF r0x1011
00718 ;;101 MOVF (_seekPosition + 1),W
00719 ;;99 MOVWF r0x1012
00720 ;;120 MOVF (_currentPosition + 0),W
00721 ;;118 MOVWF r0x1013
00722 ;;111 MOVF (_currentPosition + 1),W
00723 ;;119 MOVF r0x1013,W
018F 0000 0000 00724 BANKSEL _currentPosition
0191 0800 00725 MOVF (_currentPosition + 0),W
0192 0000 0000 00726 BANKSEL r0x1011
0194 0200 00727 SUBWF r0x1011,W
0195 0000 0000 00728 BANKSEL _dda_deltax
0197 0080 00729 MOVWF _dda_deltax
00730 ;;100 MOVF r0x1012,W
0198 0000 0000 00731 BANKSEL _seekPosition
019A 0800 00732 MOVF (_seekPosition + 1),W
019B 0000 0000 00733 BANKSEL _dda_deltax
019D 0080 00734 MOVWF (_dda_deltax + 1)
00735 ;;110 MOVF r0x1014,W
019E 0000 0000 00736 BANKSEL _currentPosition
01A0 0800 00737 MOVF (_currentPosition + 1),W
01A1 0000 0000 00738 BANKSEL r0x1014
01A3 0080 00739 MOVWF r0x1014
01A4 1C03 00740 BTFSS STATUS,0
01A5 0A00 00741 INCF r0x1014,W
01A6 1903 00742 BTFSC STATUS,2
01A7 2800 00743 GOTO _00001_DS_
01A8 0000 0000 00744 BANKSEL _dda_deltax
01AA 0280 00745 SUBWF (_dda_deltax + 1),F
00746 ;signed compare: left < lit(0x0=0), size=2, mask=ffff
01AB 00747 _00001_DS_
00748 ; .line 693; "stepmotor2.c" if (dda_deltax < 0) dda_deltax = -dda_deltax;
01AB 1403 00749 BSF STATUS,0
01AC 0000 0000 00750 BANKSEL (_dda_deltax + 1)
01AE 1F80 00751 BTFSS (_dda_deltax + 1),7
01AF 1003 00752 BCF STATUS,0
01B0 1C03 00753 BTFSS STATUS,0
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 15
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01B1 2800 00754 GOTO _00310_DS_
00755 ;genSkipc:3694: created from rifx:0xbf8c33d0
01B2 0980 00756 COMF _dda_deltax,F
01B3 0980 00757 COMF (_dda_deltax + 1),F
01B4 0A80 00758 INCF _dda_deltax,F
01B5 1903 00759 BTFSC STATUS,2
01B6 0A80 00760 INCF (_dda_deltax + 1),F
01B7 00761 _00310_DS_
00762 ; .line 695; "stepmotor2.c" function = func_ddamaster;
01B7 3007 00763 MOVLW 0x07
01B8 0000 0000 00764 BANKSEL _function
01BA 0080 00765 MOVWF _function
00766 ; .line 696; "stepmotor2.c" setTimer(buffer[1]);
01BB 0000 0000 00767 BANKSEL _buffer
01BD 0800 00768 MOVF (_buffer + 1),W
01BE 0000 0000 00769 BANKSEL r0x1011
01C0 0080 00770 MOVWF r0x1011
01C1 2000 00771 CALL _setTimer
00772 ; .line 697; "stepmotor2.c" break;
01C2 2800 00773 GOTO _00316_DS_
01C3 00774 _00311_DS_
00775 ; .line 700; "stepmotor2.c" forward1();
01C3 2000 00776 CALL _forward1
00777 ; .line 701; "stepmotor2.c" break;
01C4 2800 00778 GOTO _00316_DS_
01C5 00779 _00312_DS_
00780 ; .line 704; "stepmotor2.c" reverse1();
01C5 2000 00781 CALL _reverse1
00782 ; .line 705; "stepmotor2.c" break;
01C6 2800 00783 GOTO _00316_DS_
01C7 00784 _00313_DS_
00785 ; .line 711; "stepmotor2.c" setPower(buffer[1]);
01C7 0000 0000 00786 BANKSEL _buffer
01C9 0800 00787 MOVF (_buffer + 1),W
01CA 0000 0000 00788 BANKSEL r0x1011
01CC 0080 00789 MOVWF r0x1011
01CD 2000 00790 CALL _setPower
00791 ; .line 712; "stepmotor2.c" break;
01CE 2800 00792 GOTO _00316_DS_
01CF 00793 _00314_DS_
00794 ; .line 715; "stepmotor2.c" sendReply();
01CF 0000 00795 PAGESEL _sendReply
01D0 2000 00796 CALL _sendReply
01D1 0000 00797 PAGESEL $
00798 ; .line 716; "stepmotor2.c" sendDataByte(CMD_GETSENSOR);
01D2 300F 00799 MOVLW 0x0f
01D3 0000 00800 PAGESEL _sendDataByte
01D4 2000 00801 CALL _sendDataByte
01D5 0000 00802 PAGESEL $
00803 ; .line 717; "stepmotor2.c" sendDataByte(PORTA);
01D6 0000 0000 00804 BANKSEL _PORTA
01D8 0800 00805 MOVF _PORTA,W
01D9 0000 00806 PAGESEL _sendDataByte
01DA 2000 00807 CALL _sendDataByte
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 16
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01DB 0000 00808 PAGESEL $
00809 ; .line 718; "stepmotor2.c" sendDataByte(PORTB);
01DC 0000 0000 00810 BANKSEL _PORTB
01DE 0800 00811 MOVF _PORTB,W
01DF 0000 00812 PAGESEL _sendDataByte
01E0 2000 00813 CALL _sendDataByte
01E1 0000 00814 PAGESEL $
00815 ; .line 719; "stepmotor2.c" endMessage();
01E2 0000 00816 PAGESEL _endMessage
01E3 2000 00817 CALL _endMessage
01E4 0000 00818 PAGESEL $
00819 ; .line 720; "stepmotor2.c" break;
01E5 2800 00820 GOTO _00316_DS_
01E6 00821 _00315_DS_
00822 ; .line 724; "stepmotor2.c" function = func_homereset;
01E6 3008 00823 MOVLW 0x08
01E7 0000 0000 00824 BANKSEL _function
01E9 0080 00825 MOVWF _function
00826 ; .line 725; "stepmotor2.c" setTimer(buffer[1]);
01EA 0000 0000 00827 BANKSEL _buffer
01EC 0800 00828 MOVF (_buffer + 1),W
01ED 0000 0000 00829 BANKSEL r0x1011
01EF 0080 00830 MOVWF r0x1011
01F0 2000 00831 CALL _setTimer
01F1 00832 _00316_DS_
01F1 0000 0000 00833 BANKSEL _coilPosition
01F3 0008 00834 RETURN
00835 ; exit point of _processCommand
00836
00837 ;***
00838 ; pBlock Stats: dbName = C
00839 ;***
00840 ;entry: _setPower ;Function start
00841 ; 2 exit points
00842 ;has an exit
00843 ;2 compiler assigned registers:
00844 ; r0x101C
00845 ; r0x1016
00846 ;; Starting pCode block
01F4 00847 _setPower ;Function start
00848 ; 2 exit points
00849 ; .line 564; "stepmotor2.c" void setPower(byte p)
01F4 0000 0000 00850 BANKSEL r0x101C
01F6 0080 00851 MOVWF r0x101C
00852 ;shiftRight_Left2ResultLit:6973: shCount=1, size=1, sign=0, same=0, offr=0
00853 ; .line 569; "stepmotor2.c" CCPR1L = p >> 2;
01F7 1003 00854 BCF STATUS,0
01F8 0C00 00855 RRF r0x101C,W
01F9 0000 0000 00856 BANKSEL _CCPR1L
01FB 0080 00857 MOVWF _CCPR1L
00858 ;shiftRight_Left2ResultLit:6973: shCount=1, size=1, sign=0, same=1, offr=0
01FC 1003 00859 BCF STATUS,0
01FD 0C80 00860 RRF _CCPR1L,F
00861 ; .line 570; "stepmotor2.c" PR2 = 16; // The maximum range
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 17
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01FE 3010 00862 MOVLW 0x10
01FF 0000 0000 00863 BANKSEL _PR2
0201 0080 00864 MOVWF _PR2
00865 ; .line 572; "stepmotor2.c" CCP1CON = BIN(1100) | ((p & BIN(11)) << 4);
0202 3003 00866 MOVLW 0x03
0203 0000 0000 00867 BANKSEL r0x101C
0205 0580 00868 ANDWF r0x101C,F
0206 0E00 00869 SWAPF r0x101C,W
0207 39F0 00870 ANDLW 0xf0
0208 0080 00871 MOVWF r0x1016
0209 300C 00872 MOVLW 0x0c
020A 0400 00873 IORWF r0x1016,W
020B 0000 0000 00874 BANKSEL _CCP1CON
020D 0080 00875 MOVWF _CCP1CON
020E 0008 00876 RETURN
00877 ; exit point of _setPower
00878
00879 ;***
00880 ; pBlock Stats: dbName = C
00881 ;***
00882 ;entry: _syncStrobe ;Function start
00883 ; 2 exit points
00884 ;has an exit
00885 ;functions called:
00886 ; _forward1
00887 ; _reverse1
00888 ; _forward1
00889 ; _reverse1
00890 ;; Starting pCode block
020F 00891 _syncStrobe ;Function start
00892 ; 2 exit points
00893 ;swapping arguments (AOP_TYPEs 1/3)
00894 ;unsigned compare: left >= lit(0x4=4), size=1
00895 ; .line 546; "stepmotor2.c" switch(sync_mode) {
020F 3004 00896 MOVLW 0x04
0210 0000 0000 00897 BANKSEL _sync_mode
0212 0200 00898 SUBWF _sync_mode,W
0213 1803 00899 BTFSC STATUS,0
0214 2800 00900 GOTO _00270_DS_
00901 ;genSkipc:3694: created from rifx:0xbf8c33d0
0215 3000 00902 MOVLW HIGH(_00274_DS_)
0216 008A 00903 MOVWF PCLATH
0217 3000 00904 MOVLW _00274_DS_
0218 0700 00905 ADDWF _sync_mode,W
0219 1803 00906 BTFSC STATUS,0
021A 0A8A 00907 INCF PCLATH,F
021B 1283 1303 00908 BANKSEL PCL
021D 0082 00909 MOVWF PCL
021E 00910 _00274_DS_
021E 2800 00911 GOTO _00263_DS_
021F 2800 00912 GOTO _00264_DS_
0220 2800 00913 GOTO _00267_DS_
0221 2800 00914 GOTO _00268_DS_
0222 00915 _00263_DS_
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 18
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00916 ; .line 548; "stepmotor2.c" break;
0222 2800 00917 GOTO _00270_DS_
0223 00918 _00264_DS_
00919 ; .line 550; "stepmotor2.c" if (function = func_syncwait) {
0223 3003 00920 MOVLW 0x03
0224 0000 0000 00921 BANKSEL _function
0226 0080 00922 MOVWF _function
00923 ; .line 551; "stepmotor2.c" sync_mode = sync_none;
0227 0000 0000 00924 BANKSEL _sync_mode
0229 0180 00925 CLRF _sync_mode
00926 ; .line 552; "stepmotor2.c" function = func_seek;
022A 3004 00927 MOVLW 0x04
022B 0000 0000 00928 BANKSEL _function
022D 0080 00929 MOVWF _function
00930 ; .line 554; "stepmotor2.c" break;
022E 2800 00931 GOTO _00270_DS_
022F 00932 _00267_DS_
00933 ; .line 556; "stepmotor2.c" forward1();
022F 2000 00934 CALL _forward1
00935 ; .line 557; "stepmotor2.c" break;
0230 2800 00936 GOTO _00270_DS_
0231 00937 _00268_DS_
00938 ; .line 559; "stepmotor2.c" reverse1();
0231 2000 00939 CALL _reverse1
0232 00940 _00270_DS_
00941 ; .line 561; "stepmotor2.c" }
0232 0008 00942 RETURN
00943 ; exit point of _syncStrobe
00944
00945 ;***
00946 ; pBlock Stats: dbName = C
00947 ;***
00948 ;entry: _timerTick ;Function start
00949 ; 2 exit points
00950 ;has an exit
00951 ;functions called:
00952 ; _LEDon
00953 ; _forward1
00954 ; _reverse1
00955 ; _forward1
00956 ; _reverse1
00957 ; _LEDon
00958 ; _sendMessageISR
00959 ; _sendDataByteISR
00960 ; _sendDataByteISR
00961 ; _sendDataByteISR
00962 ; _endMessageISR
00963 ; _reverse1
00964 ; _forward1
00965 ; _sendMessageISR
00966 ; _sendDataByteISR
00967 ; _sendDataByteISR
00968 ; _sendDataByteISR
00969 ; _endMessageISR
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 19
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
00970 ; _dda_step
00971 ; _reverse1
00972 ; _sendMessageISR
00973 ; _sendDataByteISR
00974 ; _endMessageISR
00975 ; _setTimer
00976 ; _LEDon
00977 ; _forward1
00978 ; _reverse1
00979 ; _forward1
00980 ; _reverse1
00981 ; _LEDon
00982 ; _sendMessageISR
00983 ; _sendDataByteISR
00984 ; _sendDataByteISR
00985 ; _sendDataByteISR
00986 ; _endMessageISR
00987 ; _reverse1
00988 ; _forward1
00989 ; _sendMessageISR
00990 ; _sendDataByteISR
00991 ; _sendDataByteISR
00992 ; _sendDataByteISR
00993 ; _endMessageISR
00994 ; _dda_step
00995 ; _reverse1
00996 ; _sendMessageISR
00997 ; _sendDataByteISR
00998 ; _endMessageISR
00999 ; _setTimer
01000 ;5 compiler assigned registers:
01001 ; r0x1021
01002 ; r0x1019
01003 ; r0x101A
01004 ; r0x101B
01005 ; r0x101C
01006 ;; Starting pCode block
0233 01007 _timerTick ;Function start
01008 ; 2 exit points
01009 ; .line 447; "stepmotor2.c" switch(function) {
0233 0000 0000 01010 BANKSEL _function
0235 0800 01011 MOVF _function,W
0236 0000 0000 01012 BANKSEL r0x1021
0238 0080 01013 MOVWF r0x1021
01014 ;swapping arguments (AOP_TYPEs 1/2)
01015 ;unsigned compare: left >= lit(0x9=9), size=1
0239 3009 01016 MOVLW 0x09
023A 0200 01017 SUBWF r0x1021,W
023B 1803 01018 BTFSC STATUS,0
023C 2800 01019 GOTO _00234_DS_
01020 ;genSkipc:3694: created from rifx:0xbf8c33d0
023D 3000 01021 MOVLW HIGH(_00253_DS_)
023E 008A 01022 MOVWF PCLATH
023F 3000 01023 MOVLW _00253_DS_
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 20
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0240 0700 01024 ADDWF r0x1021,W
0241 1803 01025 BTFSC STATUS,0
0242 0A8A 01026 INCF PCLATH,F
0243 1283 1303 01027 BANKSEL PCL
0245 0082 01028 MOVWF PCL
0246 01029 _00253_DS_
0246 2800 01030 GOTO _00192_DS_
0247 2800 01031 GOTO _00193_DS_
0248 2800 01032 GOTO _00194_DS_
0249 2800 01033 GOTO _00222_DS_
024A 2800 01034 GOTO _00195_DS_
024B 2800 01035 GOTO _00208_DS_
024C 2800 01036 GOTO _00212_DS_
024D 2800 01037 GOTO _00223_DS_
024E 2800 01038 GOTO _00224_DS_
024F 01039 _00192_DS_
01040 ; .line 449; "stepmotor2.c" TMR1ON = 0;
024F 0000 0000 01041 BANKSEL _T1CON_bits
0251 1000 01042 BCF _T1CON_bits,0
01043 ; .line 450; "stepmotor2.c" speed = 0;
0252 0000 0000 01044 BANKSEL _speed
0254 0180 01045 CLRF _speed
01046 ; .line 451; "stepmotor2.c" LEDon();
0255 0000 01047 PAGESEL _LEDon
0256 2000 01048 CALL _LEDon
0257 0000 01049 PAGESEL $
01050 ; .line 452; "stepmotor2.c" break;
0258 2800 01051 GOTO _00234_DS_
0259 01052 _00193_DS_
01053 ; .line 454; "stepmotor2.c" forward1();
0259 2000 01054 CALL _forward1
01055 ; .line 455; "stepmotor2.c" break;
025A 2800 01056 GOTO _00234_DS_
025B 01057 _00194_DS_
01058 ; .line 457; "stepmotor2.c" reverse1();
025B 2000 01059 CALL _reverse1
01060 ; .line 458; "stepmotor2.c" break;
025C 2800 01061 GOTO _00234_DS_
025D 01062 _00195_DS_
01063 ; .line 460; "stepmotor2.c" if (currentPosition.ival < seekPosition.ival) {
025D 0000 0000 01064 BANKSEL _currentPosition
025F 0800 01065 MOVF (_currentPosition + 0),W
0260 0000 0000 01066 BANKSEL r0x1021
0262 0080 01067 MOVWF r0x1021
01068 ;;117 MOVF (_currentPosition + 1),W
0263 0000 0000 01069 BANKSEL _seekPosition
0265 0800 01070 MOVF (_seekPosition + 0),W
0266 0000 0000 01071 BANKSEL r0x101A
0268 0080 01072 MOVWF r0x101A
01073 ;;109 MOVF (_seekPosition + 1),W
01074 ;;116 MOVF r0x1019,W
0269 0000 0000 01075 BANKSEL _currentPosition
026B 0800 01076 MOVF (_currentPosition + 1),W
026C 0000 0000 01077 BANKSEL r0x1019
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 21
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
026E 0080 01078 MOVWF r0x1019
026F 3E80 01079 ADDLW 0x80
0270 0080 01080 MOVWF r0x101C
01081 ;;108 MOVF r0x101B,W
0271 0000 0000 01082 BANKSEL _seekPosition
0273 0800 01083 MOVF (_seekPosition + 1),W
0274 0000 0000 01084 BANKSEL r0x101B
0276 0080 01085 MOVWF r0x101B
0277 3E80 01086 ADDLW 0x80
0278 0200 01087 SUBWF r0x101C,W
0279 1D03 01088 BTFSS STATUS,2
027A 2800 01089 GOTO _00254_DS_
027B 0800 01090 MOVF r0x101A,W
027C 0200 01091 SUBWF r0x1021,W
027D 01092 _00254_DS_
027D 1803 01093 BTFSC STATUS,0
027E 2800 01094 GOTO _00200_DS_
01095 ;genSkipc:3694: created from rifx:0xbf8c33d0
01096 ; .line 461; "stepmotor2.c" forward1();
027F 2000 01097 CALL _forward1
0280 2800 01098 GOTO _00201_DS_
0281 01099 _00200_DS_
01100 ; .line 462; "stepmotor2.c" } else if (currentPosition.ival > seekPosition.ival) {
0281 0000 0000 01101 BANKSEL _currentPosition
0283 0800 01102 MOVF (_currentPosition + 0),W
0284 0000 0000 01103 BANKSEL r0x1021
0286 0080 01104 MOVWF r0x1021
01105 ;;107 MOVF (_currentPosition + 1),W
0287 0000 0000 01106 BANKSEL _seekPosition
0289 0800 01107 MOVF (_seekPosition + 0),W
028A 0000 0000 01108 BANKSEL r0x101A
028C 0080 01109 MOVWF r0x101A
028D 0000 0000 01110 BANKSEL _seekPosition
028F 0800 01111 MOVF (_seekPosition + 1),W
0290 0000 0000 01112 BANKSEL r0x101B
0292 0080 01113 MOVWF r0x101B
0293 3E80 01114 ADDLW 0x80
0294 0080 01115 MOVWF r0x101C
01116 ;;106 MOVF r0x1019,W
0295 0000 0000 01117 BANKSEL _currentPosition
0297 0800 01118 MOVF (_currentPosition + 1),W
0298 0000 0000 01119 BANKSEL r0x1019
029A 0080 01120 MOVWF r0x1019
029B 3E80 01121 ADDLW 0x80
029C 0200 01122 SUBWF r0x101C,W
029D 1D03 01123 BTFSS STATUS,2
029E 2800 01124 GOTO _00255_DS_
029F 0800 01125 MOVF r0x1021,W
02A0 0200 01126 SUBWF r0x101A,W
02A1 01127 _00255_DS_
02A1 1803 01128 BTFSC STATUS,0
02A2 2800 01129 GOTO _00197_DS_
01130 ;genSkipc:3694: created from rifx:0xbf8c33d0
01131 ; .line 463; "stepmotor2.c" reverse1();
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 22
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
02A3 2000 01132 CALL _reverse1
02A4 2800 01133 GOTO _00201_DS_
02A5 01134 _00197_DS_
01135 ; .line 466; "stepmotor2.c" LEDon();
02A5 0000 01136 PAGESEL _LEDon
02A6 2000 01137 CALL _LEDon
02A7 0000 01138 PAGESEL $
01139 ; .line 469; "stepmotor2.c" function=func_idle;
02A8 0000 0000 01140 BANKSEL _function
02AA 0180 01141 CLRF _function
02AB 01142 _00201_DS_
01143 ; .line 471; "stepmotor2.c" if (function == func_idle && seekNotify != 255) {
02AB 3000 01144 MOVLW 0x00
02AC 0000 0000 01145 BANKSEL _function
02AE 0400 01146 IORWF _function,W
02AF 1D03 01147 BTFSS STATUS,2
02B0 2800 01148 GOTO _00234_DS_
02B1 0000 0000 01149 BANKSEL _seekNotify
02B3 0800 01150 MOVF _seekNotify,W
01151 ; .line 472; "stepmotor2.c" if (sendMessageISR(seekNotify)) {
02B4 3AFF 01152 XORLW 0xff
02B5 1903 01153 BTFSC STATUS,2
02B6 2800 01154 GOTO _00234_DS_
02B7 0800 01155 MOVF _seekNotify,W
02B8 0000 01156 PAGESEL _sendMessageISR
02B9 2000 01157 CALL _sendMessageISR
02BA 0000 01158 PAGESEL $
02BB 0000 0000 01159 BANKSEL r0x1021
02BD 0080 01160 MOVWF r0x1021
02BE 0800 01161 MOVF r0x1021,W
02BF 1903 01162 BTFSC STATUS,2
02C0 2800 01163 GOTO _00203_DS_
01164 ; .line 473; "stepmotor2.c" sendDataByteISR(CMD_SEEK);
02C1 3005 01165 MOVLW 0x05
02C2 0000 01166 PAGESEL _sendDataByteISR
02C3 2000 01167 CALL _sendDataByteISR
02C4 0000 01168 PAGESEL $
01169 ; .line 474; "stepmotor2.c" sendDataByteISR(currentPosition.bytes[0]);
02C5 0000 0000 01170 BANKSEL _currentPosition
02C7 0800 01171 MOVF (_currentPosition + 0),W
02C8 0000 0000 01172 BANKSEL r0x1021
02CA 0080 01173 MOVWF r0x1021
02CB 0000 01174 PAGESEL _sendDataByteISR
02CC 2000 01175 CALL _sendDataByteISR
02CD 0000 01176 PAGESEL $
01177 ; .line 475; "stepmotor2.c" sendDataByteISR(currentPosition.bytes[1]);
02CE 0000 0000 01178 BANKSEL _currentPosition
02D0 0800 01179 MOVF (_currentPosition + 1),W
02D1 0000 0000 01180 BANKSEL r0x1021
02D3 0080 01181 MOVWF r0x1021
02D4 0000 01182 PAGESEL _sendDataByteISR
02D5 2000 01183 CALL _sendDataByteISR
02D6 0000 01184 PAGESEL $
01185 ; .line 476; "stepmotor2.c" endMessageISR();
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 23
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
02D7 0000 01186 PAGESEL _endMessageISR
02D8 2000 01187 CALL _endMessageISR
02D9 0000 01188 PAGESEL $
02DA 2800 01189 GOTO _00234_DS_
02DB 01190 _00203_DS_
01191 ; .line 479; "stepmotor2.c" function=func_seek;
02DB 3004 01192 MOVLW 0x04
02DC 0000 0000 01193 BANKSEL _function
02DE 0080 01194 MOVWF _function
01195 ; .line 482; "stepmotor2.c" break;
02DF 2800 01196 GOTO _00234_DS_
02E0 01197 _00208_DS_
01198 ; .line 484; "stepmotor2.c" if (MINSENSOR) {
02E0 0000 0000 01199 BANKSEL _PORTB_bits
02E2 1C00 01200 BTFSS _PORTB_bits,0
02E3 2800 01201 GOTO _00210_DS_
01202 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
01203 ; .line 485; "stepmotor2.c" currentPosition.bytes[0] = 0;
02E4 0000 0000 01204 BANKSEL _currentPosition
02E6 0180 01205 CLRF (_currentPosition + 0)
01206 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
01207 ; .line 486; "stepmotor2.c" currentPosition.bytes[1] = 0;
02E7 0180 01208 CLRF (_currentPosition + 1)
01209 ; .line 487; "stepmotor2.c" function = func_findmax;
02E8 3006 01210 MOVLW 0x06
02E9 0000 0000 01211 BANKSEL _function
02EB 0080 01212 MOVWF _function
02EC 2800 01213 GOTO _00234_DS_
02ED 01214 _00210_DS_
01215 ; .line 489; "stepmotor2.c" reverse1();
02ED 2000 01216 CALL _reverse1
01217 ; .line 491; "stepmotor2.c" break;
02EE 2800 01218 GOTO _00234_DS_
02EF 01219 _00212_DS_
01220 ; .line 493; "stepmotor2.c" if (MAXSENSOR) {
02EF 0000 0000 01221 BANKSEL _PORTA_bits
02F1 1E80 01222 BTFSS _PORTA_bits,5
02F2 2800 01223 GOTO _00214_DS_
01224 ; .line 494; "stepmotor2.c" maxPosition.bytes[0] = currentPosition.bytes[0];
02F3 0000 0000 01225 BANKSEL _currentPosition
02F5 0800 01226 MOVF (_currentPosition + 0),W
02F6 0000 0000 01227 BANKSEL r0x1021
02F8 0080 01228 MOVWF r0x1021
02F9 0000 0000 01229 BANKSEL _maxPosition
02FB 0080 01230 MOVWF (_maxPosition + 0)
01231 ; .line 495; "stepmotor2.c" maxPosition.bytes[1] = currentPosition.bytes[1];
02FC 0000 0000 01232 BANKSEL _currentPosition
02FE 0800 01233 MOVF (_currentPosition + 1),W
02FF 0000 0000 01234 BANKSEL r0x1021
0301 0080 01235 MOVWF r0x1021
0302 0000 0000 01236 BANKSEL _maxPosition
0304 0080 01237 MOVWF (_maxPosition + 1)
01238 ; .line 496; "stepmotor2.c" function = func_idle;
0305 0000 0000 01239 BANKSEL _function
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 24
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0307 0180 01240 CLRF _function
0308 2800 01241 GOTO _00215_DS_
0309 01242 _00214_DS_
01243 ; .line 498; "stepmotor2.c" forward1();
0309 2000 01244 CALL _forward1
030A 01245 _00215_DS_
01246 ; .line 500; "stepmotor2.c" if (function == func_idle && seekNotify != 255) {
030A 3000 01247 MOVLW 0x00
030B 0000 0000 01248 BANKSEL _function
030D 0400 01249 IORWF _function,W
030E 1D03 01250 BTFSS STATUS,2
030F 2800 01251 GOTO _00234_DS_
0310 0000 0000 01252 BANKSEL _seekNotify
0312 0800 01253 MOVF _seekNotify,W
01254 ; .line 501; "stepmotor2.c" if (sendMessageISR(seekNotify)) {
0313 3AFF 01255 XORLW 0xff
0314 1903 01256 BTFSC STATUS,2
0315 2800 01257 GOTO _00234_DS_
0316 0800 01258 MOVF _seekNotify,W
0317 0000 01259 PAGESEL _sendMessageISR
0318 2000 01260 CALL _sendMessageISR
0319 0000 01261 PAGESEL $
031A 0000 0000 01262 BANKSEL r0x1021
031C 0080 01263 MOVWF r0x1021
031D 0800 01264 MOVF r0x1021,W
031E 1903 01265 BTFSC STATUS,2
031F 2800 01266 GOTO _00217_DS_
01267 ; .line 502; "stepmotor2.c" sendDataByteISR(CMD_CALIBRATE);
0320 3009 01268 MOVLW 0x09
0321 0000 01269 PAGESEL _sendDataByteISR
0322 2000 01270 CALL _sendDataByteISR
0323 0000 01271 PAGESEL $
01272 ; .line 503; "stepmotor2.c" sendDataByteISR(currentPosition.bytes[0]);
0324 0000 0000 01273 BANKSEL _currentPosition
0326 0800 01274 MOVF (_currentPosition + 0),W
0327 0000 0000 01275 BANKSEL r0x1021
0329 0080 01276 MOVWF r0x1021
032A 0000 01277 PAGESEL _sendDataByteISR
032B 2000 01278 CALL _sendDataByteISR
032C 0000 01279 PAGESEL $
01280 ; .line 504; "stepmotor2.c" sendDataByteISR(currentPosition.bytes[1]);
032D 0000 0000 01281 BANKSEL _currentPosition
032F 0800 01282 MOVF (_currentPosition + 1),W
0330 0000 0000 01283 BANKSEL r0x1021
0332 0080 01284 MOVWF r0x1021
0333 0000 01285 PAGESEL _sendDataByteISR
0334 2000 01286 CALL _sendDataByteISR
0335 0000 01287 PAGESEL $
01288 ; .line 505; "stepmotor2.c" endMessageISR();
0336 0000 01289 PAGESEL _endMessageISR
0337 2000 01290 CALL _endMessageISR
0338 0000 01291 PAGESEL $
0339 2800 01292 GOTO _00234_DS_
033A 01293 _00217_DS_
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 25
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01294 ; .line 508; "stepmotor2.c" function = func_findmax;
033A 3006 01295 MOVLW 0x06
033B 0000 0000 01296 BANKSEL _function
033D 0080 01297 MOVWF _function
01298 ; .line 511; "stepmotor2.c" break;
033E 2800 01299 GOTO _00234_DS_
033F 01300 _00222_DS_
01301 ; .line 514; "stepmotor2.c" break;
033F 2800 01302 GOTO _00234_DS_
0340 01303 _00223_DS_
01304 ; .line 516; "stepmotor2.c" dda_step();
0340 2000 01305 CALL _dda_step
01306 ; .line 517; "stepmotor2.c" break;
0341 2800 01307 GOTO _00234_DS_
0342 01308 _00224_DS_
01309 ; .line 519; "stepmotor2.c" if (MINSENSOR) {
0342 0000 0000 01310 BANKSEL _PORTB_bits
0344 1C00 01311 BTFSS _PORTB_bits,0
0345 2800 01312 GOTO _00226_DS_
01313 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
01314 ; .line 520; "stepmotor2.c" currentPosition.bytes[0] = 0;
0346 0000 0000 01315 BANKSEL _currentPosition
0348 0180 01316 CLRF (_currentPosition + 0)
01317 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
01318 ; .line 521; "stepmotor2.c" currentPosition.bytes[1] = 0;
0349 0180 01319 CLRF (_currentPosition + 1)
01320 ; .line 522; "stepmotor2.c" function = func_idle;
034A 0000 0000 01321 BANKSEL _function
034C 0180 01322 CLRF _function
034D 2800 01323 GOTO _00227_DS_
034E 01324 _00226_DS_
01325 ; .line 524; "stepmotor2.c" reverse1();
034E 2000 01326 CALL _reverse1
034F 01327 _00227_DS_
01328 ; .line 526; "stepmotor2.c" if (function == func_idle && seekNotify != 255) {
034F 3000 01329 MOVLW 0x00
0350 0000 0000 01330 BANKSEL _function
0352 0400 01331 IORWF _function,W
0353 1D03 01332 BTFSS STATUS,2
0354 2800 01333 GOTO _00234_DS_
0355 0000 0000 01334 BANKSEL _seekNotify
0357 0800 01335 MOVF _seekNotify,W
01336 ; .line 527; "stepmotor2.c" if (sendMessageISR(seekNotify)) {
0358 3AFF 01337 XORLW 0xff
0359 1903 01338 BTFSC STATUS,2
035A 2800 01339 GOTO _00234_DS_
035B 0800 01340 MOVF _seekNotify,W
035C 0000 01341 PAGESEL _sendMessageISR
035D 2000 01342 CALL _sendMessageISR
035E 0000 01343 PAGESEL $
035F 0000 0000 01344 BANKSEL r0x1021
0361 0080 01345 MOVWF r0x1021
0362 0800 01346 MOVF r0x1021,W
0363 1903 01347 BTFSC STATUS,2
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 26
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0364 2800 01348 GOTO _00229_DS_
01349 ; .line 528; "stepmotor2.c" sendDataByteISR(CMD_HOMERESET);
0365 3010 01350 MOVLW 0x10
0366 0000 01351 PAGESEL _sendDataByteISR
0367 2000 01352 CALL _sendDataByteISR
0368 0000 01353 PAGESEL $
01354 ; .line 529; "stepmotor2.c" endMessageISR();
0369 0000 01355 PAGESEL _endMessageISR
036A 2000 01356 CALL _endMessageISR
036B 0000 01357 PAGESEL $
036C 2800 01358 GOTO _00234_DS_
036D 01359 _00229_DS_
01360 ; .line 532; "stepmotor2.c" function = func_homereset;
036D 3008 01361 MOVLW 0x08
036E 0000 0000 01362 BANKSEL _function
0370 0080 01363 MOVWF _function
0371 01364 _00234_DS_
01365 ; .line 537; "stepmotor2.c" setTimer(speed);
0371 0000 0000 01366 BANKSEL _speed
0373 0800 01367 MOVF _speed,W
0374 2000 01368 CALL _setTimer
0375 0000 0000 01369 BANKSEL _coilPosition
0377 0008 01370 RETURN
01371 ; exit point of _timerTick
01372
01373 ;***
01374 ; pBlock Stats: dbName = C
01375 ;***
01376 ;entry: _dda_step ;Function start
01377 ; 2 exit points
01378 ;has an exit
01379 ;functions called:
01380 ; _forward1
01381 ; _reverse1
01382 ; _sendMessageISR
01383 ; _sendDataByteISR
01384 ; _sendDataByteISR
01385 ; _sendDataByteISR
01386 ; _endMessageISR
01387 ; _strobe_sync
01388 ; _forward1
01389 ; _reverse1
01390 ; _sendMessageISR
01391 ; _sendDataByteISR
01392 ; _sendDataByteISR
01393 ; _sendDataByteISR
01394 ; _endMessageISR
01395 ; _strobe_sync
01396 ;5 compiler assigned registers:
01397 ; r0x101D
01398 ; r0x101E
01399 ; r0x101F
01400 ; r0x1020
01401 ; r0x1021
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 27
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01402 ;; Starting pCode block
0378 01403 _dda_step ;Function start
01404 ; 2 exit points
01405 ; .line 413; "stepmotor2.c" if (currentPosition.ival == seekPosition.ival) {
0378 0000 0000 01406 BANKSEL _currentPosition
037A 0800 01407 MOVF (_currentPosition + 0),W
037B 0000 0000 01408 BANKSEL r0x101D
037D 0080 01409 MOVWF r0x101D
037E 0000 0000 01410 BANKSEL _currentPosition
0380 0800 01411 MOVF (_currentPosition + 1),W
0381 0000 0000 01412 BANKSEL r0x101E
0383 0080 01413 MOVWF r0x101E
0384 0000 0000 01414 BANKSEL _seekPosition
0386 0800 01415 MOVF (_seekPosition + 0),W
0387 0000 0000 01416 BANKSEL r0x101F
0389 0080 01417 MOVWF r0x101F
038A 0000 0000 01418 BANKSEL _seekPosition
038C 0800 01419 MOVF (_seekPosition + 1),W
038D 0000 0000 01420 BANKSEL r0x1020
038F 0080 01421 MOVWF r0x1020
0390 0800 01422 MOVF r0x101F,W
0391 0600 01423 XORWF r0x101D,W
0392 1D03 01424 BTFSS STATUS,2
0393 2800 01425 GOTO _00163_DS_
0394 0800 01426 MOVF r0x1020,W
0395 0600 01427 XORWF r0x101E,W
0396 1D03 01428 BTFSS STATUS,2
0397 2800 01429 GOTO _00163_DS_
01430 ; .line 414; "stepmotor2.c" function = func_idle;
0398 0000 0000 01431 BANKSEL _function
039A 0180 01432 CLRF _function
039B 2800 01433 GOTO _00164_DS_
039C 01434 _00163_DS_
01435 ; .line 415; "stepmotor2.c" } else if (currentPosition.ival < seekPosition.ival) {
039C 0000 0000 01436 BANKSEL _currentPosition
039E 0800 01437 MOVF (_currentPosition + 0),W
039F 0000 0000 01438 BANKSEL r0x101D
03A1 0080 01439 MOVWF r0x101D
01440 ;;115 MOVF (_currentPosition + 1),W
03A2 0000 0000 01441 BANKSEL _seekPosition
03A4 0800 01442 MOVF (_seekPosition + 0),W
03A5 0000 0000 01443 BANKSEL r0x101F
03A7 0080 01444 MOVWF r0x101F
01445 ;;105 MOVF (_seekPosition + 1),W
01446 ;;114 MOVF r0x101E,W
03A8 0000 0000 01447 BANKSEL _currentPosition
03AA 0800 01448 MOVF (_currentPosition + 1),W
03AB 0000 0000 01449 BANKSEL r0x101E
03AD 0080 01450 MOVWF r0x101E
03AE 3E80 01451 ADDLW 0x80
03AF 0080 01452 MOVWF r0x1021
01453 ;;104 MOVF r0x1020,W
03B0 0000 0000 01454 BANKSEL _seekPosition
03B2 0800 01455 MOVF (_seekPosition + 1),W
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 28
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
03B3 0000 0000 01456 BANKSEL r0x1020
03B5 0080 01457 MOVWF r0x1020
03B6 3E80 01458 ADDLW 0x80
03B7 0200 01459 SUBWF r0x1021,W
03B8 1D03 01460 BTFSS STATUS,2
03B9 2800 01461 GOTO _00185_DS_
03BA 0800 01462 MOVF r0x101F,W
03BB 0200 01463 SUBWF r0x101D,W
03BC 01464 _00185_DS_
03BC 1803 01465 BTFSC STATUS,0
03BD 2800 01466 GOTO _00160_DS_
01467 ;genSkipc:3694: created from rifx:0xbf8c33d0
01468 ; .line 416; "stepmotor2.c" forward1();
03BE 2000 01469 CALL _forward1
03BF 2800 01470 GOTO _00164_DS_
03C0 01471 _00160_DS_
01472 ; .line 418; "stepmotor2.c" reverse1();
03C0 2000 01473 CALL _reverse1
03C1 01474 _00164_DS_
01475 ; .line 420; "stepmotor2.c" if (function == func_idle && seekNotify != 255) {
03C1 3000 01476 MOVLW 0x00
03C2 0000 0000 01477 BANKSEL _function
03C4 0400 01478 IORWF _function,W
03C5 1D03 01479 BTFSS STATUS,2
03C6 2800 01480 GOTO _00173_DS_
03C7 0000 0000 01481 BANKSEL _seekNotify
03C9 0800 01482 MOVF _seekNotify,W
01483 ; .line 421; "stepmotor2.c" if (sendMessageISR(seekNotify)) {
03CA 3AFF 01484 XORLW 0xff
03CB 1903 01485 BTFSC STATUS,2
03CC 2800 01486 GOTO _00173_DS_
03CD 0800 01487 MOVF _seekNotify,W
03CE 0000 01488 PAGESEL _sendMessageISR
03CF 2000 01489 CALL _sendMessageISR
03D0 0000 01490 PAGESEL $
03D1 0000 0000 01491 BANKSEL r0x101D
03D3 0080 01492 MOVWF r0x101D
03D4 0800 01493 MOVF r0x101D,W
03D5 1903 01494 BTFSC STATUS,2
03D6 2800 01495 GOTO _00166_DS_
01496 ; .line 422; "stepmotor2.c" sendDataByteISR(CMD_DDA);
03D7 300B 01497 MOVLW 0x0b
03D8 0000 01498 PAGESEL _sendDataByteISR
03D9 2000 01499 CALL _sendDataByteISR
03DA 0000 01500 PAGESEL $
01501 ; .line 423; "stepmotor2.c" sendDataByteISR(currentPosition.bytes[0]);
03DB 0000 0000 01502 BANKSEL _currentPosition
03DD 0800 01503 MOVF (_currentPosition + 0),W
03DE 0000 0000 01504 BANKSEL r0x101D
03E0 0080 01505 MOVWF r0x101D
03E1 0000 01506 PAGESEL _sendDataByteISR
03E2 2000 01507 CALL _sendDataByteISR
03E3 0000 01508 PAGESEL $
01509 ; .line 424; "stepmotor2.c" sendDataByteISR(currentPosition.bytes[1]);
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 29
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
03E4 0000 0000 01510 BANKSEL _currentPosition
03E6 0800 01511 MOVF (_currentPosition + 1),W
03E7 0000 0000 01512 BANKSEL r0x101D
03E9 0080 01513 MOVWF r0x101D
03EA 0000 01514 PAGESEL _sendDataByteISR
03EB 2000 01515 CALL _sendDataByteISR
03EC 0000 01516 PAGESEL $
01517 ; .line 425; "stepmotor2.c" endMessageISR();
03ED 0000 01518 PAGESEL _endMessageISR
03EE 2000 01519 CALL _endMessageISR
03EF 0000 01520 PAGESEL $
03F0 2800 01521 GOTO _00003_DS_
03F1 01522 _00166_DS_
01523 ; .line 428; "stepmotor2.c" function = func_ddamaster;
03F1 3007 01524 MOVLW 0x07
03F2 0000 0000 01525 BANKSEL _function
03F4 0080 01526 MOVWF _function
03F5 2800 01527 GOTO _00003_DS_
03F6 01528 _00173_DS_
01529 ; .line 430; "stepmotor2.c" } else if (function != func_idle) {
03F6 3000 01530 MOVLW 0x00
03F7 0000 0000 01531 BANKSEL _function
03F9 0400 01532 IORWF _function,W
03FA 1903 01533 BTFSC STATUS,2
03FB 2800 01534 GOTO _00003_DS_
01535 ;;113 MOVF (_dda_deltay + 0),W
01536 ;;103 MOVF (_dda_deltay + 1),W
01537 ;;112 MOVF r0x101D,W
01538 ; .line 431; "stepmotor2.c" dda_error += dda_deltay.ival;
03FC 0000 0000 01539 BANKSEL _dda_deltay
03FE 0800 01540 MOVF (_dda_deltay + 0),W
03FF 0000 0000 01541 BANKSEL r0x101D
0401 0080 01542 MOVWF r0x101D
0402 0000 0000 01543 BANKSEL _dda_error
0404 0780 01544 ADDWF _dda_error,F
01545 ;;102 MOVF r0x101E,W
0405 0000 0000 01546 BANKSEL _dda_deltay
0407 0800 01547 MOVF (_dda_deltay + 1),W
0408 0000 0000 01548 BANKSEL r0x101E
040A 0080 01549 MOVWF r0x101E
040B 1803 01550 BTFSC STATUS,0
040C 0A00 01551 INCF r0x101E,W
040D 1903 01552 BTFSC STATUS,2
040E 2800 01553 GOTO _00002_DS_
040F 0000 0000 01554 BANKSEL _dda_error
0411 0780 01555 ADDWF (_dda_error + 1),F
0412 01556 _00002_DS_
01557 ; .line 432; "stepmotor2.c" if ((dda_error + dda_error) > dda_deltax) {
0412 1003 01558 BCF STATUS,0
0413 0000 0000 01559 BANKSEL _dda_error
0415 0D00 01560 RLF _dda_error,W
0416 0000 0000 01561 BANKSEL r0x101D
0418 0080 01562 MOVWF r0x101D
0419 0000 0000 01563 BANKSEL _dda_error
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 30
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
041B 0D00 01564 RLF (_dda_error + 1),W
041C 0000 0000 01565 BANKSEL r0x101E
041E 0080 01566 MOVWF r0x101E
041F 0000 0000 01567 BANKSEL _dda_deltax
0421 0800 01568 MOVF (_dda_deltax + 1),W
0422 3E80 01569 ADDLW 0x80
0423 0000 0000 01570 BANKSEL r0x1021
0425 0080 01571 MOVWF r0x1021
0426 0800 01572 MOVF r0x101E,W
0427 3E80 01573 ADDLW 0x80
0428 0200 01574 SUBWF r0x1021,W
0429 1D03 01575 BTFSS STATUS,2
042A 2800 01576 GOTO _00187_DS_
042B 0800 01577 MOVF r0x101D,W
042C 0000 0000 01578 BANKSEL _dda_deltax
042E 0200 01579 SUBWF _dda_deltax,W
042F 01580 _00187_DS_
042F 1803 01581 BTFSC STATUS,0
0430 2800 01582 GOTO _00003_DS_
01583 ;genSkipc:3694: created from rifx:0xbf8c33d0
01584 ; .line 434; "stepmotor2.c" strobe_sync();
0431 2000 01585 CALL _strobe_sync
01586 ; .line 435; "stepmotor2.c" dda_error -= dda_deltax;
0432 0000 0000 01587 BANKSEL _dda_deltax
0434 0800 01588 MOVF _dda_deltax,W
0435 0000 0000 01589 BANKSEL _dda_error
0437 0280 01590 SUBWF _dda_error,F
0438 0000 0000 01591 BANKSEL _dda_deltax
043A 0800 01592 MOVF (_dda_deltax + 1),W
043B 1C03 01593 BTFSS STATUS,0
043C 0A00 01594 INCF (_dda_deltax + 1),W
043D 1903 01595 BTFSC STATUS,2
043E 2800 01596 GOTO _00003_DS_
043F 0000 0000 01597 BANKSEL _dda_error
0441 0280 01598 SUBWF (_dda_error + 1),F
0442 01599 _00003_DS_
0442 0008 01600 RETURN
01601 ; exit point of _dda_step
01602
01603 ;***
01604 ; pBlock Stats: dbName = C
01605 ;***
01606 ;entry: _strobe_sync ;Function start
01607 ; 2 exit points
01608 ;has an exit
01609 ;1 compiler assigned register :
01610 ; r0x1022
01611 ;; Starting pCode block
0443 01612 _strobe_sync ;Function start
01613 ; 2 exit points
01614 ; .line 393; "stepmotor2.c" SYNCA = 0; // Pull low
0443 0000 0000 01615 BANKSEL _PORTA_bits
0445 1080 01616 BCF _PORTA_bits,1
01617 ; .line 394; "stepmotor2.c" SYNCA_TRIS = 0; // Set to output during stobe
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 31
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0446 0000 0000 01618 BANKSEL _TRISA_bits
0448 1080 01619 BCF _TRISA_bits,1
01620 ; .line 397; "stepmotor2.c" for(delay = 0; delay <= 254; delay++)
0449 30FF 01621 MOVLW 0xff
044A 0000 0000 01622 BANKSEL r0x1022
044C 0080 01623 MOVWF r0x1022
044D 01624 _00154_DS_
044D 0000 0000 01625 BANKSEL r0x1022
044F 0B80 01626 DECFSZ r0x1022,F
0450 2800 01627 GOTO _00154_DS_
01628 ; .line 400; "stepmotor2.c" SYNCA_TRIS = 1; // Back to input so we don't drive the sync line
0451 0000 0000 01629 BANKSEL _TRISA_bits
0453 1480 01630 BSF _TRISA_bits,1
0454 0000 0000 01631 BANKSEL _coilPosition
0456 0008 01632 RETURN
01633 ; exit point of _strobe_sync
01634
01635 ;***
01636 ; pBlock Stats: dbName = C
01637 ;***
01638 ;entry: _setTimer ;Function start
01639 ; 2 exit points
01640 ;has an exit
01641 ;; Starting pCode block
0457 01642 _setTimer ;Function start
01643 ; 2 exit points
01644 ; .line 371; "stepmotor2.c" void setTimer(byte newspeed)
0457 0000 0000 01645 BANKSEL _speed
0459 0080 01646 MOVWF _speed
01647 ; .line 374; "stepmotor2.c" if (speed) {
045A 0800 01648 MOVF _speed,W
045B 1903 01649 BTFSC STATUS,2
045C 2800 01650 GOTO _00146_DS_
01651 ; .line 375; "stepmotor2.c" TMR1ON = 0; //TMR1H, TMR1L should only be set, when TMR1ON is off
045D 0000 0000 01652 BANKSEL _T1CON_bits
045F 1000 01653 BCF _T1CON_bits,0
01654 ; .line 376; "stepmotor2.c" TMR1H = speed;
0460 0000 0000 01655 BANKSEL _speed
0462 0800 01656 MOVF _speed,W
0463 0000 0000 01657 BANKSEL _TMR1H
0465 0080 01658 MOVWF _TMR1H
01659 ; .line 377; "stepmotor2.c" TMR1L = 0;
0466 0180 01660 CLRF _TMR1L
01661 ; .line 378; "stepmotor2.c" TMR1ON = 1;
0467 1400 01662 BSF _T1CON_bits,0
0468 2800 01663 GOTO _00147_DS_
0469 01664 _00146_DS_
01665 ; .line 380; "stepmotor2.c" TMR1ON = 0;
0469 0000 0000 01666 BANKSEL _T1CON_bits
046B 1000 01667 BCF _T1CON_bits,0
046C 01668 _00147_DS_
046C 0000 0000 01669 BANKSEL _coilPosition
046E 0008 01670 RETURN
01671 ; exit point of _setTimer
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 32
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01672
01673 ;***
01674 ; pBlock Stats: dbName = C
01675 ;***
01676 ;entry: _reverse1 ;Function start
01677 ; 2 exit points
01678 ;has an exit
01679 ;functions called:
01680 ; _flashLED
01681 ; _motor_stop
01682 ; _motor_click
01683 ; _flashLED
01684 ; _motor_stop
01685 ; _motor_click
01686 ;2 compiler assigned registers:
01687 ; r0x1015
01688 ; r0x1016
01689 ;; Starting pCode block
046F 01690 _reverse1 ;Function start
01691 ; 2 exit points
01692 ; .line 353; "stepmotor2.c" flashLED();
046F 0000 01693 PAGESEL _flashLED
0470 2000 01694 CALL _flashLED
0471 0000 01695 PAGESEL $
01696 ; .line 354; "stepmotor2.c" if (MINSENSOR) {
0472 0000 0000 01697 BANKSEL _PORTB_bits
0474 1C00 01698 BTFSS _PORTB_bits,0
0475 2800 01699 GOTO _00139_DS_
01700 ; .line 356; "stepmotor2.c" motor_stop();
0476 2000 01701 CALL _motor_stop
01702 ; .line 357; "stepmotor2.c" function = func_idle;
0477 0000 0000 01703 BANKSEL _function
0479 0180 01704 CLRF _function
047A 2800 01705 GOTO _00140_DS_
047B 01706 _00139_DS_
01707 ; .line 359; "stepmotor2.c" currentPosition.ival--;
047B 0000 0000 01708 BANKSEL _currentPosition
047D 0800 01709 MOVF (_currentPosition + 0),W
047E 0000 0000 01710 BANKSEL r0x1015
0480 0080 01711 MOVWF r0x1015
0481 0000 0000 01712 BANKSEL _currentPosition
0483 0800 01713 MOVF (_currentPosition + 1),W
0484 0000 0000 01714 BANKSEL r0x1016
0486 0080 01715 MOVWF r0x1016
0487 30FF 01716 MOVLW 0xff
0488 0780 01717 ADDWF r0x1015,F
0489 1C03 01718 BTFSS STATUS,0
048A 0380 01719 DECF r0x1016,F
01720 ;gen.c:9306: size=1/2, offset=0, AOP_TYPE(res)=13
048B 0800 01721 MOVF r0x1015,W
048C 0000 0000 01722 BANKSEL _currentPosition
048E 0080 01723 MOVWF (_currentPosition + 0)
01724 ;gen.c:9306: size=0/2, offset=1, AOP_TYPE(res)=13
048F 0000 0000 01725 BANKSEL r0x1016
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 33
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0491 0800 01726 MOVF r0x1016,W
0492 0000 0000 01727 BANKSEL _currentPosition
0494 0080 01728 MOVWF (_currentPosition + 1)
01729 ; .line 360; "stepmotor2.c" coilPosition = (coilPosition + stepCount - 1) & (stepCount - 1);
0495 3003 01730 MOVLW 0x03
0496 0000 0000 01731 BANKSEL _coilPosition
0498 0700 01732 ADDWF _coilPosition,W
0499 0000 0000 01733 BANKSEL r0x1015
049B 0080 01734 MOVWF r0x1015
049C 3003 01735 MOVLW 0x03
049D 0500 01736 ANDWF r0x1015,W
049E 0000 0000 01737 BANKSEL _coilPosition
04A0 0080 01738 MOVWF _coilPosition
01739 ; .line 361; "stepmotor2.c" motor_click();
04A1 2000 01740 CALL _motor_click
04A2 01741 _00140_DS_
04A2 0000 0000 01742 BANKSEL _coilPosition;
04A4 0008 01743 RETURN
01744 ; exit point of _reverse1
01745
01746 ;***
01747 ; pBlock Stats: dbName = C
01748 ;***
01749 ;entry: _forward1 ;Function start
01750 ; 2 exit points
01751 ;has an exit
01752 ;functions called:
01753 ; _flashLED
01754 ; _motor_stop
01755 ; _motor_click
01756 ; _flashLED
01757 ; _motor_stop
01758 ; _motor_click
01759 ;2 compiler assigned registers:
01760 ; r0x1015
01761 ; r0x1016
01762 ;; Starting pCode block
04A5 01763 _forward1 ;Function start
01764 ; 2 exit points
01765 ; .line 333; "stepmotor2.c" flashLED();
04A5 0000 01766 PAGESEL _flashLED
04A6 2000 01767 CALL _flashLED
04A7 0000 01768 PAGESEL $
01769 ; .line 334; "stepmotor2.c" if (MAXSENSOR) {
04A8 0000 0000 01770 BANKSEL _PORTA_bits
04AA 1E80 01771 BTFSS _PORTA_bits,5
04AB 2800 01772 GOTO _00132_DS_
01773 ; .line 336; "stepmotor2.c" motor_stop();
04AC 2000 01774 CALL _motor_stop
01775 ; .line 337; "stepmotor2.c" function = func_idle;
04AD 0000 0000 01776 BANKSEL _function
04AF 0180 01777 CLRF _function
04B0 2800 01778 GOTO _00133_DS_
04B1 01779 _00132_DS_
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 34
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01780 ; .line 339; "stepmotor2.c" currentPosition.ival++;
04B1 0000 0000 01781 BANKSEL _currentPosition
04B3 0800 01782 MOVF (_currentPosition + 0),W
04B4 0000 0000 01783 BANKSEL r0x1015
04B6 0080 01784 MOVWF r0x1015
04B7 0000 0000 01785 BANKSEL _currentPosition
04B9 0800 01786 MOVF (_currentPosition + 1),W
04BA 0000 0000 01787 BANKSEL r0x1016
04BC 0080 01788 MOVWF r0x1016
04BD 0A80 01789 INCF r0x1015,F
04BE 1903 01790 BTFSC STATUS,2
04BF 0A80 01791 INCF r0x1016,F
01792 ;gen.c:9306: size=1/2, offset=0, AOP_TYPE(res)=13
04C0 0800 01793 MOVF r0x1015,W
04C1 0000 0000 01794 BANKSEL _currentPosition
04C3 0080 01795 MOVWF (_currentPosition + 0)
01796 ;gen.c:9306: size=0/2, offset=1, AOP_TYPE(res)=13
04C4 0000 0000 01797 BANKSEL r0x1016
04C6 0800 01798 MOVF r0x1016,W
04C7 0000 0000 01799 BANKSEL _currentPosition
04C9 0080 01800 MOVWF (_currentPosition + 1)
01801 ; .line 340; "stepmotor2.c" coilPosition = (coilPosition + 1) & (stepCount - 1);
04CA 0000 0000 01802 BANKSEL _coilPosition
04CC 0A00 01803 INCF _coilPosition,W
04CD 0000 0000 01804 BANKSEL r0x1015
04CF 0080 01805 MOVWF r0x1015
04D0 3003 01806 MOVLW 0x03
04D1 0500 01807 ANDWF r0x1015,W
04D2 0000 0000 01808 BANKSEL _coilPosition
04D4 0080 01809 MOVWF _coilPosition
01810 ; .line 341; "stepmotor2.c" motor_click();
04D5 2000 01811 CALL _motor_click
04D6 01812 _00133_DS_
04D6 0000 0000 01813 BANKSEL _coilPosition
04D8 0008 01814 RETURN
01815 ; exit point of _forward1
01816
01817 ;***
01818 ; pBlock Stats: dbName = C
01819 ;***
01820 ;entry: _motor_click ;Function start
01821 ; 2 exit points
01822 ;has an exit
01823 ;1 compiler assigned register :
01824 ; r0x1017
01825 ;; Starting pCode block
04D9 01826 _motor_click ;Function start
01827 ; 2 exit points
01828 ; .line 192; "stepmotor2.c" cp = coilPosition << 1;
04D9 1003 01829 BCF STATUS,0
04DA 0000 0000 01830 BANKSEL _coilPosition
04DC 0D00 01831 RLF _coilPosition,W
04DD 0000 0000 01832 BANKSEL r0x1017
04DF 0080 01833 MOVWF r0x1017
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 35
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01834 ;swapping arguments (AOP_TYPEs 1/2)
01835 ;unsigned compare: left >= lit(0x8=8), size=1
01836 ; .line 194; "stepmotor2.c" switch(cp) {
04E0 3008 01837 MOVLW 0x08
04E1 0200 01838 SUBWF r0x1017,W
04E2 1803 01839 BTFSC STATUS,0
04E3 2800 01840 GOTO _00121_DS_
01841 ;genSkipc:3694: created from rifx:0xbf8c33d0
04E4 3000 01842 MOVLW HIGH(_00126_DS_)
04E5 008A 01843 MOVWF PCLATH
04E6 3000 01844 MOVLW _00126_DS_
04E7 0700 01845 ADDWF r0x1017,W
04E8 1803 01846 BTFSC STATUS,0
04E9 0A8A 01847 INCF PCLATH,F
04EA 1283 1303 01848 BANKSEL PCL
04EC 0082 01849 MOVWF PCL
04ED 01850 _00126_DS_
04ED 2800 01851 GOTO _00120_DS_
04EE 2800 01852 GOTO _00119_DS_
04EF 2800 01853 GOTO _00118_DS_
04F0 2800 01854 GOTO _00117_DS_
04F1 2800 01855 GOTO _00116_DS_
04F2 2800 01856 GOTO _00115_DS_
04F3 2800 01857 GOTO _00114_DS_
04F4 2800 01858 GOTO _00113_DS_
04F5 01859 _00113_DS_
01860 ; .line 197; "stepmotor2.c" RB5 = 1;
04F5 0000 0000 01861 BANKSEL _PORTB_bits
04F7 1680 01862 BSF _PORTB_bits,5
01863 ; .line 198; "stepmotor2.c" RB4 = 0;
04F8 1200 01864 BCF _PORTB_bits,4
01865 ; .line 199; "stepmotor2.c" RA2 = 1;
04F9 1500 01866 BSF _PORTA_bits,2
01867 ; .line 200; "stepmotor2.c" RA0 = 0;
04FA 1000 01868 BCF _PORTA_bits,0
01869 ; .line 201; "stepmotor2.c" break;
04FB 2800 01870 GOTO _00121_DS_
04FC 01871 _00114_DS_
01872 ; .line 204; "stepmotor2.c" RB5 = 1;
04FC 0000 0000 01873 BANKSEL _PORTB_bits
04FE 1680 01874 BSF _PORTB_bits,5
01875 ; .line 205; "stepmotor2.c" RB4 = 0;
04FF 1200 01876 BCF _PORTB_bits,4
01877 ; .line 206; "stepmotor2.c" RA2 = 0;
0500 1100 01878 BCF _PORTA_bits,2
01879 ; .line 207; "stepmotor2.c" RA0 = 0;
0501 1000 01880 BCF _PORTA_bits,0
01881 ; .line 208; "stepmotor2.c" break;
0502 2800 01882 GOTO _00121_DS_
0503 01883 _00115_DS_
01884 ; .line 211; "stepmotor2.c" RB5 = 1;
0503 0000 0000 01885 BANKSEL _PORTB_bits
0505 1680 01886 BSF _PORTB_bits,5
01887 ; .line 212; "stepmotor2.c" RB4 = 0;
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 36
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0506 1200 01888 BCF _PORTB_bits,4
01889 ; .line 213; "stepmotor2.c" RA2 = 0;
0507 1100 01890 BCF _PORTA_bits,2
01891 ; .line 214; "stepmotor2.c" RA0 = 1;
0508 1400 01892 BSF _PORTA_bits,0
01893 ; .line 215; "stepmotor2.c" break;
0509 2800 01894 GOTO _00121_DS_
050A 01895 _00116_DS_
01896 ; .line 218; "stepmotor2.c" RB5 = 0;
050A 0000 0000 01897 BANKSEL _PORTB_bits
050C 1280 01898 BCF _PORTB_bits,5
01899 ; .line 219; "stepmotor2.c" RB4 = 0;
050D 1200 01900 BCF _PORTB_bits,4
01901 ; .line 220; "stepmotor2.c" RA2 = 0;
050E 1100 01902 BCF _PORTA_bits,2
01903 ; .line 221; "stepmotor2.c" RA0 = 1;
050F 1400 01904 BSF _PORTA_bits,0
01905 ; .line 222; "stepmotor2.c" break;
0510 2800 01906 GOTO _00121_DS_
0511 01907 _00117_DS_
01908 ; .line 225; "stepmotor2.c" RB5 = 0;
0511 0000 0000 01909 BANKSEL _PORTB_bits
0513 1280 01910 BCF _PORTB_bits,5
01911 ; .line 226; "stepmotor2.c" RB4 = 1;
0514 1600 01912 BSF _PORTB_bits,4
01913 ; .line 227; "stepmotor2.c" RA2 = 0;
0515 1100 01914 BCF _PORTA_bits,2
01915 ; .line 228; "stepmotor2.c" RA0 = 1;
0516 1400 01916 BSF _PORTA_bits,0
01917 ; .line 229; "stepmotor2.c" break;
0517 2800 01918 GOTO _00121_DS_
0518 01919 _00118_DS_
01920 ; .line 232; "stepmotor2.c" RB5 = 0;
0518 0000 0000 01921 BANKSEL _PORTB_bits
051A 1280 01922 BCF _PORTB_bits,5
01923 ; .line 233; "stepmotor2.c" RB4 = 1;
051B 1600 01924 BSF _PORTB_bits,4
01925 ; .line 234; "stepmotor2.c" RA2 = 0;
051C 1100 01926 BCF _PORTA_bits,2
01927 ; .line 235; "stepmotor2.c" RA0 = 0;
051D 1000 01928 BCF _PORTA_bits,0
01929 ; .line 236; "stepmotor2.c" break;
051E 2800 01930 GOTO _00121_DS_
051F 01931 _00119_DS_
01932 ; .line 239; "stepmotor2.c" RB5 = 0;
051F 0000 0000 01933 BANKSEL _PORTB_bits
0521 1280 01934 BCF _PORTB_bits,5
01935 ; .line 240; "stepmotor2.c" RB4 = 1;
0522 1600 01936 BSF _PORTB_bits,4
01937 ; .line 241; "stepmotor2.c" RA2 = 1;
0523 1500 01938 BSF _PORTA_bits,2
01939 ; .line 242; "stepmotor2.c" RA0 = 0;
0524 1000 01940 BCF _PORTA_bits,0
01941 ; .line 243; "stepmotor2.c" break;
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 37
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
0525 2800 01942 GOTO _00121_DS_
0526 01943 _00120_DS_
01944 ; .line 246; "stepmotor2.c" RB5 = 0;
0526 0000 0000 01945 BANKSEL _PORTB_bits
0528 1280 01946 BCF _PORTB_bits,5
01947 ; .line 247; "stepmotor2.c" RB4 = 0;
0529 1200 01948 BCF _PORTB_bits,4
01949 ; .line 248; "stepmotor2.c" RA2 = 1;
052A 1500 01950 BSF _PORTA_bits,2
01951 ; .line 249; "stepmotor2.c" RA0 = 0;
052B 1000 01952 BCF _PORTA_bits,0
052C 01953 _00121_DS_
052C 0000 0000 01954 BANKSEL _coilPosition
052E 0008 01955 RETURN
01956 ; exit point of _motor_click
01957
01958 ;***
01959 ; pBlock Stats: dbName = C
01960 ;***
01961 ;entry: _motor_stop ;Function start
01962 ; 2 exit points
01963 ;has an exit
01964 ;; Starting pCode block
052F 01965 _motor_stop ;Function start
01966 ; 2 exit points
01967 ; .line 169; "stepmotor2.c" PORTB = PORTB & BIN(11001111);
052F 30CF 01968 MOVLW 0xcf
0530 0000 0000 01969 BANKSEL _PORTB
0532 0580 01970 ANDWF _PORTB,F
01971 ; .line 170; "stepmotor2.c" PORTA = PORTA & BIN(11111010);
0533 30FA 01972 MOVLW 0xfa
0534 0580 01973 ANDWF _PORTA,F
0535 0000 0000 01974 BANKSEL _coilPosition
0537 0008 01975 RETURN
01976 ; exit point of _motor_stop
01977
01978 ;***
01979 ; pBlock Stats: dbName = C
01980 ;***
01981 ;entry: _init2 ;Function start
01982 ; 2 exit points
01983 ;has an exit
01984 ;; Starting pCode block
0538 01985 _init2 ;Function start
01986 ; 2 exit points
01987 ; .line 148; "stepmotor2.c" speed = 0;
0538 0000 0000 01988 BANKSEL _speed
053A 0180 01989 CLRF _speed
01990 ; .line 149; "stepmotor2.c" function = func_idle;
053B 0000 0000 01991 BANKSEL _function
053D 0180 01992 CLRF _function
01993 ; .line 150; "stepmotor2.c" coilPosition = 0;
053E 0000 0000 01994 BANKSEL _coilPosition
0540 0180 01995 CLRF _coilPosition
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 38
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
01996 ; .line 151; "stepmotor2.c" sync_mode = sync_none;
0541 0000 0000 01997 BANKSEL _sync_mode
0543 0180 01998 CLRF _sync_mode
01999 ; .line 152; "stepmotor2.c" seekNotify = 255;
0544 30FF 02000 MOVLW 0xff
0545 0000 0000 02001 BANKSEL _seekNotify
0547 0080 02002 MOVWF _seekNotify
02003 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
02004 ; .line 154; "stepmotor2.c" currentPosition.bytes[0] = 0;
0548 0000 0000 02005 BANKSEL _currentPosition
054A 0180 02006 CLRF (_currentPosition + 0)
02007 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
02008 ; .line 155; "stepmotor2.c" currentPosition.bytes[1] = 0;
054B 0180 02009 CLRF (_currentPosition + 1)
02010 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
02011 ; .line 156; "stepmotor2.c" seekPosition.bytes[0] = 0;
054C 0000 0000 02012 BANKSEL _seekPosition
054E 0180 02013 CLRF (_seekPosition + 0)
02014 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
02015 ; .line 157; "stepmotor2.c" seekPosition.bytes[1] = 0;
054F 0180 02016 CLRF (_seekPosition + 1)
02017 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
02018 ; .line 158; "stepmotor2.c" maxPosition.bytes[0] = 0;
0550 0000 0000 02019 BANKSEL _maxPosition
0552 0180 02020 CLRF (_maxPosition + 0)
02021 ;gen.c:9306: size=0/1, offset=0, AOP_TYPE(res)=13
02022 ; .line 159; "stepmotor2.c" maxPosition.bytes[1] = 0;
0553 0180 02023 CLRF (_maxPosition + 1)
0554 0008 02024 RETURN
02025 ; exit point of _init2
02026
02027
02028 ; code size estimation:
02029 ; 749+ 355 = 1104 instructions ( 2918 byte)
02030
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 39
SYMBOL TABLE
LABEL VALUE
ADEN 00000003
BRGH 00000002
C 00000000
C1INV 00000004
C1OUT 00000006
C2INV 00000005
C2OUT 00000007
CCP1CON 00000017
CCP1IE 00000002
CCP1IF 00000002
CCP1M0 00000000
CCP1M1 00000001
CCP1M2 00000002
CCP1M3 00000003
CCP1X 00000005
CCP1Y 00000004
CCPR1H 00000016
CCPR1L 00000015
CIS 00000003
CM0 00000000
CM1 00000001
CM2 00000002
CMCON 0000001F
CMIE 00000006
CMIF 00000006
CREN 00000004
CSRC 00000007
DC 00000001
EEADR 0000009B
EECON1 0000009C
EECON2 0000009D
EEDATA 0000009A
EEIE 00000007
EEIF 00000007
F 00000001
FERR 00000002
FSR 00000004
GIE 00000007
INDF 00000000
INTCON 0000000B
INTE 00000004
INTEDG 00000006
INTF 00000001
IRP 00000007
NOT_BO 00000000
NOT_BOD 00000000
NOT_BOR 00000000
NOT_PD 00000003
NOT_POR 00000001
NOT_RBPU 00000007
NOT_T1SYNC 00000002
NOT_TO 00000004
OERR 00000001
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 40
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
OPTION_REG 00000081
OSCF 00000003
PCL 00000002
PCLATH 0000000A
PCON 0000008E
PEIE 00000006
PIE1 0000008C
PIR1 0000000C
PORTA 00000005
PORTB 00000006
PR2 00000092
PS0 00000000
PS1 00000001
PS2 00000002
PSA 00000003
PSAVE 00000000
RBIE 00000003
RBIF 00000000
RCIE 00000005
RCIF 00000005
RCREG 0000001A
RCSTA 00000018
RD 00000000
RP0 00000005
RP1 00000006
RX9 00000006
RX9D 00000000
SPBRG 00000099
SPEN 00000007
SREN 00000005
SSAVE 00000000
STATUS 00000003
STK00 00000000
STK01 00000000
STK02 00000000
STK03 00000000
STK04 00000000
STK05 00000000
STK06 00000000
STK07 00000000
STK08 00000000
STK09 00000000
STK10 00000000
STK11 00000000
STK12 00000000
SYNC 00000004
T0CS 00000005
T0IE 00000005
T0IF 00000002
T0SE 00000004
T1CKPS0 00000004
T1CKPS1 00000005
T1CON 00000010
T1OSCEN 00000003
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 41
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
T2CKPS0 00000000
T2CKPS1 00000001
T2CON 00000012
TMR0 00000001
TMR1CS 00000001
TMR1H 0000000F
TMR1IE 00000000
TMR1IF 00000000
TMR1L 0000000E
TMR1ON 00000000
TMR2 00000011
TMR2IE 00000001
TMR2IF 00000001
TMR2ON 00000002
TOUTPS0 00000003
TOUTPS1 00000004
TOUTPS2 00000005
TOUTPS3 00000006
TRISA 00000085
TRISB 00000086
TRMT 00000001
TX9 00000006
TX9D 00000000
TXEN 00000005
TXIE 00000004
TXIF 00000004
TXREG 00000019
TXSTA 00000098
VR0 00000000
VR1 00000001
VR2 00000002
VR3 00000003
VRCON 0000009F
VREN 00000007
VROE 00000006
VRR 00000005
W 00000000
WR 00000001
WREN 00000002
WRERR 00000003
WSAVE 00000000
Z 00000002
_00001_DS_ 000001AB
_00002_DS_ 00000412
_00003_DS_ 00000442
_00113_DS_ 000004F5
_00114_DS_ 000004FC
_00115_DS_ 00000503
_00116_DS_ 0000050A
_00117_DS_ 00000511
_00118_DS_ 00000518
_00119_DS_ 0000051F
_00120_DS_ 00000526
_00121_DS_ 0000052C
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 42
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
_00126_DS_ 000004ED
_00132_DS_ 000004B1
_00133_DS_ 000004D6
_00139_DS_ 0000047B
_00140_DS_ 000004A2
_00146_DS_ 00000469
_00147_DS_ 0000046C
_00154_DS_ 0000044D
_00160_DS_ 000003C0
_00163_DS_ 0000039C
_00164_DS_ 000003C1
_00166_DS_ 000003F1
_00173_DS_ 000003F6
_00185_DS_ 000003BC
_00187_DS_ 0000042F
_00192_DS_ 0000024F
_00193_DS_ 00000259
_00194_DS_ 0000025B
_00195_DS_ 0000025D
_00197_DS_ 000002A5
_00200_DS_ 00000281
_00201_DS_ 000002AB
_00203_DS_ 000002DB
_00208_DS_ 000002E0
_00210_DS_ 000002ED
_00212_DS_ 000002EF
_00214_DS_ 00000309
_00215_DS_ 0000030A
_00217_DS_ 0000033A
_00222_DS_ 0000033F
_00223_DS_ 00000340
_00224_DS_ 00000342
_00226_DS_ 0000034E
_00227_DS_ 0000034F
_00229_DS_ 0000036D
_00234_DS_ 00000371
_00253_DS_ 00000246
_00254_DS_ 0000027D
_00255_DS_ 000002A1
_00263_DS_ 00000222
_00264_DS_ 00000223
_00267_DS_ 0000022F
_00268_DS_ 00000231
_00270_DS_ 00000232
_00274_DS_ 0000021E
_00283_DS_ 00000051
_00284_DS_ 00000064
_00286_DS_ 00000090
_00289_DS_ 00000095
_00292_DS_ 00000078
_00293_DS_ 00000099
_00294_DS_ 000000A5
_00295_DS_ 000000B4
_00296_DS_ 000000C0
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 43
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
_00297_DS_ 000000CC
_00298_DS_ 000000DF
_00299_DS_ 000000FC
_00301_DS_ 00000119
_00302_DS_ 0000011D
_00303_DS_ 00000125
_00304_DS_ 0000012A
_00305_DS_ 00000131
_00306_DS_ 00000138
_00307_DS_ 00000144
_00308_DS_ 00000161
_00310_DS_ 000001B7
_00311_DS_ 000001C3
_00312_DS_ 000001C5
_00313_DS_ 000001C7
_00314_DS_ 000001CF
_00315_DS_ 000001E6
_00316_DS_ 000001F1
_BODEN_OFF 00003FBF
_BODEN_ON 00003FFF
_BOREN_OFF 00003FBF
_BOREN_ON 00003FFF
_CCP1CON 00000000
_CCP1CON_bits 00000000
_CCPR1H 00000000
_CCPR1L 00000000
_CMCON 00000000
_CMCON_bits 00000000
_CP_OFF 00003FFF
_CP_ON 00001FFF
_DATA_CP_OFF 00003FFF
_DATA_CP_ON 00003EFF
_EEADR 00000000
_EECON1 00000000
_EECON1_bits 00000000
_EECON2 00000000
_EEDATA 00000000
_ER_OSC_CLKOUT 00003FFF
_ER_OSC_NOCLKOUT 00003FFE
_EXTCLK_OSC 00003FEF
_FSR 00000000
_HS_OSC 00003FEE
_INDF 00000000
_INTCON 00000000
_INTCON_bits 00000000
_INTOSC_OSC_CLKOUT 00003FFD
_INTOSC_OSC_NOCLKOUT 00003FFC
_INTRC_OSC_CLKOUT 00003FFD
_INTRC_OSC_NOCLKOUT 00003FFC
_LEDon 00000000
_LP_OSC 00003FEC
_LVP_OFF 00003F7F
_LVP_ON 00003FFF
_MCLRE_OFF 00003FDF
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 44
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
_MCLRE_ON 00003FFF
_OPTION_REG 00000000
_OPTION_REG_bits 00000000
_PCL 00000000
_PCLATH 00000000
_PCON 00000000
_PCON_bits 00000000
_PIE1 00000000
_PIE1_bits 00000000
_PIR1 00000000
_PIR1_bits 00000000
_PORTA 00000000
_PORTA_bits 00000000
_PORTB 00000000
_PORTB_bits 00000000
_PR2 00000000
_PWRTE_OFF 00003FFF
_PWRTE_ON 00003FF7
_RCREG 00000000
_RCSTA 00000000
_RCSTA_bits 00000000
_RC_OSC_CLKOUT 00003FFF
_RC_OSC_NOCLKOUT 00003FFE
_SPBRG 00000000
_STATUS 00000000
_STATUS_bits 00000000
_T1CON 00000000
_T1CON_bits 00000000
_T2CON 00000000
_T2CON_bits 00000000
_TMR0 00000000
_TMR1H 00000000
_TMR1L 00000000
_TMR2 00000000
_TRISA 00000000
_TRISA_bits 00000000
_TRISB 00000000
_TRISB_bits 00000000
_TXREG 00000000
_TXSTA 00000000
_TXSTA_bits 00000000
_VRCON 00000000
_VRCON_bits 00000000
_WDT_OFF 00003FFB
_WDT_ON 00003FFF
_XT_OSC 00003FED
__16F648A 00000001
_buffer 00000000
_clearwdt 00000000
_code_stepmotor2_000053 00000053
_code_stepmotor2_000057 00000057
_code_stepmotor2_00005b 0000005B
_code_stepmotor2_00005f 0000005F
_code_stepmotor2_000062 00000062
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 45
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
_code_stepmotor2_000066 00000066
_code_stepmotor2_00006a 0000006A
_code_stepmotor2_000076 00000076
_code_stepmotor2_00008e 0000008E
_code_stepmotor2_000093 00000093
_code_stepmotor2_000098 00000098
_code_stepmotor2_00009c 0000009C
_code_stepmotor2_0000a0 000000A0
_code_stepmotor2_0000a3 000000A3
_code_stepmotor2_0000a7 000000A7
_code_stepmotor2_0000ab 000000AB
_code_stepmotor2_0000af 000000AF
_code_stepmotor2_0000b2 000000B2
_code_stepmotor2_0000e1 000000E1
_code_stepmotor2_0000e5 000000E5
_code_stepmotor2_0000ee 000000EE
_code_stepmotor2_0000f7 000000F7
_code_stepmotor2_0000fa 000000FA
_code_stepmotor2_000146 00000146
_code_stepmotor2_00014a 0000014A
_code_stepmotor2_000153 00000153
_code_stepmotor2_00015c 0000015C
_code_stepmotor2_00015f 0000015F
_code_stepmotor2_0001d1 000001D1
_code_stepmotor2_0001d5 000001D5
_code_stepmotor2_0001db 000001DB
_code_stepmotor2_0001e1 000001E1
_code_stepmotor2_0001e4 000001E4
_code_stepmotor2_000257 00000257
_code_stepmotor2_0002a7 000002A7
_code_stepmotor2_0002ba 000002BA
_code_stepmotor2_0002c4 000002C4
_code_stepmotor2_0002cd 000002CD
_code_stepmotor2_0002d6 000002D6
_code_stepmotor2_0002d9 000002D9
_code_stepmotor2_000319 00000319
_code_stepmotor2_000323 00000323
_code_stepmotor2_00032c 0000032C
_code_stepmotor2_000335 00000335
_code_stepmotor2_000338 00000338
_code_stepmotor2_00035e 0000035E
_code_stepmotor2_000368 00000368
_code_stepmotor2_00036b 0000036B
_code_stepmotor2_0003d0 000003D0
_code_stepmotor2_0003da 000003DA
_code_stepmotor2_0003e3 000003E3
_code_stepmotor2_0003ec 000003EC
_code_stepmotor2_0003ef 000003EF
_code_stepmotor2_000471 00000471
_code_stepmotor2_0004a7 000004A7
_coilPosition 00000000
_currentPosition 0000000F
_dda_deltax 00000019
_dda_deltay 00000017
gpasm-0.13.4 beta stepmotorz-stepmotor2.asm6-13-2008 14:34:03 PAGE 46
LOC OBJECT CODE LINE SOURCE TEXT
VALUE
_dda_error 00000015
_dda_step 00000378
_delay_10us 00000000
_endMessage 00000000
_endMessageISR 00000000
_flashLED 00000000
_forward1 000004A5
_function 00000000
_init2 00000538
_maxPosition 00000013
_motor_click 000004D9
_motor_stop 0000052F
_packetReady 00000000
_processCommand 00000000
_releaseLock 00000000
_reverse1 0000046F
_seekNotify 00000000
_seekPosition 00000011
_sendDataByte 00000000
_sendDataByteISR 00000000
_sendMessage 00000000
_sendMessageISR 00000000
_sendReply 00000000
_serialInterruptHandler 00000000
_serialStatus 00000000
_serial_init 00000000
_setFlash 00000000
_setPower 000001F4
_setTimer 00000457
_speed 00000000
_strobe_sync 00000443
_syncCounter 00000000
_syncEnabled 00000000
_syncStrobe 0000020F
_sync_mode 00000000
_timerTick 00000233
_uartNotifyReceive 00000000
_uartTransmit 00000000
r0x1011 0000000D
r0x1014 0000000E
r0x1015 00000001
r0x1016 00000002
r0x1017 00000000
r0x1019 00000009
r0x101A 0000000A
r0x101B 0000000B
r0x101C 0000000C
r0x101D 00000004
r0x101E 00000005
r0x101F 00000006
r0x1020 00000007
r0x1021 00000008
r0x1022 00000003
Errors : 0
Warnings : 0 reported, 0 suppressed
Messages : 0 reported, 0 suppressed
|