Rev 245 Rev 246
Line 1... Line 1...
1 CCS PCM C Compiler, Version 3.245, 27853 11-V-08 15:47 1 CCS PCM C Compiler, Version 3.245, 27853 12-V-08 00:43
2   2  
3 Filename: D:\MLAB_E\projekty\Ovladani_mobilnim_telefonem\SW\final\main.lst 3 Filename: D:\MLAB_E\projekty\Ovladani_mobilnim_telefonem\SW\final\main.lst
4   4  
5 ROM used: 1315 words (16%) 5 ROM used: 2699 words (33%)
6 Largest free fragment is 2048 6 Largest free fragment is 2048
7 RAM used: 52 (30%) at main() level 7 RAM used: 52 (30%) at main() level
8 139 (79%) worst case 8 139 (79%) worst case
9 Stack: 2 locations 9 Stack: 2 locations
10   10  
11 * 11 *
12 0000: MOVLW 00 12 0000: MOVLW 08
13 0001: MOVWF 0A 13 0001: MOVWF 0A
14 0002: GOTO 3D5 14 0002: GOTO 000
15 0003: NOP 15 0003: NOP
16 .................... #include ".\main.h" 16 .................... #include ".\main.h"
17 .................... #include <16F876A.h> 17 .................... #include <16F876A.h>
18 .................... //////// Standard Header file for the PIC16F876A device //////////////// 18 .................... //////// Standard Header file for the PIC16F876A device ////////////////
19 .................... #device PIC16F876A 19 .................... #device PIC16F876A
20 .................... #list 20 .................... #list
21 .................... 21 ....................
22 .................... #device adc=8 22 .................... #device adc=8
23 .................... 23 ....................
24 .................... #FUSES NOWDT //Watch Dog Timer 24 .................... #FUSES WDT //Watch Dog Timer
25 .................... #FUSES HS//XT //Crystal osc <= 4mhz 25 .................... #FUSES HS//XT //Crystal osc <= 4mhz
26 .................... #FUSES NOPUT //No Power Up Timer 26 .................... #FUSES NOPUT //No Power Up Timer
27 .................... #FUSES NOPROTECT //Code not protected from reading 27 .................... #FUSES NOPROTECT //Code not protected from reading
28 .................... #FUSES NODEBUG //No Debug mode for ICD 28 .................... #FUSES NODEBUG //No Debug mode for ICD
29 .................... #FUSES NOBROWNOUT //No brownout reset 29 .................... #FUSES NOBROWNOUT //No brownout reset
Line 31... Line 31...
31 .................... #FUSES NOCPD //No EE protection 31 .................... #FUSES NOCPD //No EE protection
32 .................... #FUSES NOWRT //Program memory not write protected 32 .................... #FUSES NOWRT //Program memory not write protected
33 .................... 33 ....................
34 .................... #use delay(clock=18432000,RESTART_WDT) 34 .................... #use delay(clock=18432000,RESTART_WDT)
35 * 35 *
36 004E: MOVLW 52 36 01C8: MOVLW 52
37 004F: MOVWF 04 37 01C9: MOVWF 04
38 0050: MOVF 00,W 38 01CA: MOVF 00,W
39 0051: BTFSC 03.2 39 01CB: BTFSC 03.2
40 0052: GOTO 063 40 01CC: GOTO 1DD
41 0053: MOVLW 05 41 01CD: MOVLW 05
42 0054: MOVWF 78 42 01CE: MOVWF 78
43 0055: MOVLW BF 43 01CF: MOVLW BF
44 0056: MOVWF 77 44 01D0: MOVWF 77
45 0057: CLRWDT 45 01D1: CLRWDT
46 0058: DECFSZ 77,F 46 01D2: DECFSZ 77,F
47 0059: GOTO 057 47 01D3: GOTO 1D1
48 005A: DECFSZ 78,F 48 01D4: DECFSZ 78,F
49 005B: GOTO 055 49 01D5: GOTO 1CF
50 005C: MOVLW F9 50 01D6: MOVLW F9
51 005D: MOVWF 77 51 01D7: MOVWF 77
52 005E: DECFSZ 77,F 52 01D8: DECFSZ 77,F
53 005F: GOTO 05E 53 01D9: GOTO 1D8
54 0060: CLRWDT 54 01DA: CLRWDT
55 0061: DECFSZ 00,F 55 01DB: DECFSZ 00,F
56 0062: GOTO 053 56 01DC: GOTO 1CD
57 0063: RETLW 00 57 01DD: RETLW 00
58 .................... #use rs232(STREAM=MOBIL,baud=19200,force_sw,parity=N,xmit=PIN_C6,rcv=PIN_C7,bits=8) 58 .................... #use rs232(STREAM=MOBIL,baud=19200,force_sw,parity=N,xmit=PIN_C6,rcv=PIN_B5,bits=8)
59 0064: BCF 20.6 59 01DE: BCF 20.6
60 0065: MOVF 20,W -  
61 0066: BSF 03.5 -  
62 0067: MOVWF 07 -  
63 0068: BCF 03.5 -  
64 0069: BCF 07.6 -  
65 006A: MOVLW 08 -  
66 006B: MOVWF 78 -  
67 006C: NOP -  
68 006D: NOP -  
69 006E: NOP -  
70 006F: BSF 78.7 -  
71 0070: GOTO 080 -  
72 0071: BCF 78.7 -  
73 0072: RRF 53,F -  
74 0073: BTFSC 03.0 -  
75 0074: BSF 07.6 -  
76 0075: BTFSS 03.0 -  
77 0076: BCF 07.6 -  
78 0077: BSF 78.6 -  
79 0078: GOTO 080 -  
80 0079: BCF 78.6 -  
81 007A: DECFSZ 78,F -  
82 007B: GOTO 072 -  
83 007C: NOP -  
84 007D: NOP -  
85 007E: NOP -  
86 007F: BSF 07.6 -  
87 0080: MOVLW 49 -  
88 0081: MOVWF 04 -  
89 0082: DECFSZ 04,F -  
90 0083: GOTO 082 -  
91 0084: NOP -  
92 0085: NOP -  
93 0086: NOP -  
94 0087: BTFSC 78.7 -  
95 0088: GOTO 071 -  
96 0089: BTFSC 78.6 -  
97 008A: GOTO 079 -  
98 008B: RETLW 00 -  
99 008C: MOVLW 08 -  
100 008D: MOVWF 77 -  
101 008E: BSF 20.7 -  
102 008F: MOVF 20,W 60 01DF: MOVF 20,W
103 0090: BSF 03.5 61 01E0: BSF 03.5
104 0091: MOVWF 07 62 01E1: MOVWF 07
105 0092: BCF 03.5 -  
106 0093: BTFSS 07.7 -  
107 0094: GOTO 097 -  
108 0095: BSF 03.5 -  
109 0096: GOTO 092 -  
110 0097: CLRF 57 -  
111 0098: BSF 77.7 -  
112 0099: GOTO 0A8 -  
113 009A: BCF 77.7 -  
114 009B: GOTO 0A8 -  
115 009C: BCF 03.0 -  
116 009D: BTFSC 07.7 -  
117 009E: BSF 03.0 -  
118 009F: RRF 57,F -  
119 00A0: BSF 77.6 -  
120 00A1: GOTO 0A8 -  
121 00A2: BCF 77.6 -  
122 00A3: DECFSZ 77,F -  
123 00A4: GOTO 09C -  
124 00A5: MOVF 57,W -  
125 00A6: MOVWF 78 -  
126 00A7: GOTO 0B5 -  
127 00A8: MOVLW 49 -  
128 00A9: BTFSC 77.7 -  
129 00AA: MOVLW 14 -  
130 00AB: MOVWF 78 -  
131 00AC: DECFSZ 78,F -  
132 00AD: GOTO 0AC -  
133 00AE: NOP -  
134 00AF: NOP -  
135 00B0: BTFSC 77.7 -  
136 00B1: GOTO 09A -  
137 00B2: BTFSC 77.6 -  
138 00B3: GOTO 0A2 -  
139 00B4: GOTO 09C -  
140 00B5: RETLW 00 -  
141 * -  
142 03E9: MOVLW FF -  
143 03EA: BCF 03.5 -  
144 03EB: MOVWF 20 -  
145 .................... #use rs232(STREAM=VRTULE,baud=600,parity=N,xmit=PIN_B2,rcv=PIN_B4,bits=8) -  
146 * -  
147 01D0: BSF 03.5 -  
148 01D1: BCF 06.2 -  
149 01D2: BCF 03.5 63 01E2: BCF 03.5
150 01D3: BCF 06.2 64 01E3: BCF 07.6
151 01D4: MOVLW 08 65 01E4: MOVLW 08
152 01D5: MOVWF 78 66 01E5: MOVWF 78
153 01D6: NOP -  
154 01D7: NOP -  
155 01D8: NOP -  
156 01D9: BSF 78.7 -  
157 01DA: GOTO 1EA -  
158 01DB: BCF 78.7 -  
159 01DC: RRF 52,F -  
160 01DD: BTFSC 03.0 -  
161 01DE: BSF 06.2 -  
162 01DF: BTFSS 03.0 -  
163 01E0: BCF 06.2 -  
164 01E1: BSF 78.6 -  
165 01E2: GOTO 1EA -  
166 01E3: BCF 78.6 -  
167 01E4: DECFSZ 78,F -  
168 01E5: GOTO 1DC -  
169 01E6: NOP 67 01E6: NOP
170 01E7: NOP 68 01E7: NOP
171 01E8: NOP 69 01E8: NOP
172 01E9: BSF 06.2 70 01E9: BSF 78.7
173 01EA: MOVLW 09 71 01EA: GOTO 1FA
174 01EB: MOVWF 77 72 01EB: BCF 78.7
175 01EC: CLRF 04 73 01EC: RRF 53,F
176 01ED: DECFSZ 04,F 74 01ED: BTFSC 03.0
177 01EE: GOTO 1ED 75 01EE: BSF 07.6
178 01EF: DECFSZ 77,F 76 01EF: BTFSS 03.0
179 01F0: GOTO 1EC 77 01F0: BCF 07.6
180 01F1: MOVLW F0 78 01F1: BSF 78.6
181 01F2: MOVWF 04 79 01F2: GOTO 1FA
182 01F3: DECFSZ 04,F 80 01F3: BCF 78.6
183 01F4: GOTO 1F3 81 01F4: DECFSZ 78,F
184 01F5: NOP 82 01F5: GOTO 1EC
185 01F6: NOP 83 01F6: NOP
-   84 01F7: NOP
-   85 01F8: NOP
-   86 01F9: BSF 07.6
-   87 01FA: MOVLW 49
-   88 01FB: MOVWF 04
-   89 01FC: DECFSZ 04,F
-   90 01FD: GOTO 1FC
-   91 01FE: NOP
-   92 01FF: NOP
-   93 0200: NOP
186 01F7: BTFSC 78.7 94 0201: BTFSC 78.7
187 01F8: GOTO 1DB 95 0202: GOTO 1EB
188 01F9: BTFSC 78.6 96 0203: BTFSC 78.6
189 01FA: GOTO 1E3 97 0204: GOTO 1F3
190 01FB: RETLW 00 98 0205: RETLW 00
-   99 0206: MOVLW 08
-   100 0207: MOVWF 77
-   101 0208: BSF 03.5
-   102 0209: BSF 06.5
-   103 020A: BCF 03.5
-   104 020B: BTFSS 06.5
-   105 020C: GOTO 20F
-   106 020D: BSF 03.5
-   107 020E: GOTO 20A
-   108 020F: CLRF 57
-   109 0210: BSF 77.7
-   110 0211: GOTO 220
-   111 0212: BCF 77.7
-   112 0213: GOTO 220
-   113 0214: BCF 03.0
-   114 0215: BTFSC 06.5
-   115 0216: BSF 03.0
-   116 0217: RRF 57,F
-   117 0218: BSF 77.6
-   118 0219: GOTO 220
-   119 021A: BCF 77.6
-   120 021B: DECFSZ 77,F
-   121 021C: GOTO 214
-   122 021D: MOVF 57,W
-   123 021E: MOVWF 78
-   124 021F: GOTO 22D
-   125 0220: MOVLW 49
-   126 0221: BTFSC 77.7
-   127 0222: MOVLW 14
-   128 0223: MOVWF 78
-   129 0224: DECFSZ 78,F
-   130 0225: GOTO 224
-   131 0226: NOP
-   132 0227: NOP
191 .................... 133 0228: BTFSC 77.7
-   134 0229: GOTO 212
192 .................... 135 022A: BTFSC 77.6
-   136 022B: GOTO 21A
-   137 022C: GOTO 214
-   138 022D: RETLW 00
-   139 *
-   140 0814: MOVLW FF
193 .................... 141 0815: BCF 03.5
-   142 0816: MOVWF 20
194 .................... #define LCD_RS PIN_B1 // rizeni registru LCD displeje 143 .................... #use rs232(STREAM=VRTULE,baud=600,parity=N,xmit=PIN_B2,rcv=PIN_B4,bits=8)
-   144 *
-   145 0348: BSF 03.5
195 .................... #define LCD_E PIN_B0 // enable LCD displeje 146 0349: BCF 06.2
196 .................... #define LCD_DATA_LSB PIN_C0 // pripojeni LSB bitu datoveho portu LCD displeje (celkem 4 bity vzestupne za sebou) -  
-   147 034A: BCF 03.5
-   148 034B: BCF 06.2
-   149 034C: MOVLW 08
-   150 034D: MOVWF 78
-   151 034E: NOP
-   152 034F: NOP
-   153 0350: NOP
-   154 0351: BSF 78.7
-   155 0352: GOTO 362
-   156 0353: BCF 78.7
-   157 0354: RRF 52,F
-   158 0355: BTFSC 03.0
-   159 0356: BSF 06.2
-   160 0357: BTFSS 03.0
-   161 0358: BCF 06.2
-   162 0359: BSF 78.6
-   163 035A: GOTO 362
-   164 035B: BCF 78.6
-   165 035C: DECFSZ 78,F
-   166 035D: GOTO 354
-   167 035E: NOP
-   168 035F: NOP
-   169 0360: NOP
-   170 0361: BSF 06.2
-   171 0362: MOVLW 09
-   172 0363: MOVWF 77
-   173 0364: CLRF 04
-   174 0365: DECFSZ 04,F
-   175 0366: GOTO 365
-   176 0367: DECFSZ 77,F
-   177 0368: GOTO 364
-   178 0369: MOVLW F0
-   179 036A: MOVWF 04
-   180 036B: DECFSZ 04,F
-   181 036C: GOTO 36B
-   182 036D: NOP
-   183 036E: NOP
-   184 036F: BTFSC 78.7
-   185 0370: GOTO 353
-   186 0371: BTFSC 78.6
-   187 0372: GOTO 35B
-   188 0373: RETLW 00
197 .................... 189 ....................
198 .................... 190 ....................
199 .................... #bit SPEN=0x18.7 -  
200 .................... #bit RCIF=0x0C.5 -  
201 .................... 191 ....................
202 .................... #include <stdio.h> 192 .................... #include <stdio.h>
203 .................... /////////////////////////////////////////////////////////////////////////// 193 .................... ///////////////////////////////////////////////////////////////////////////
204 .................... //// (C) Copyright 1996,2003 Custom Computer Services //// 194 .................... //// (C) Copyright 1996,2003 Custom Computer Services ////
205 .................... //// This source code may only be used by licensed users of the CCS C //// 195 .................... //// This source code may only be used by licensed users of the CCS C ////
Line 471... Line 461...
471 .................... { 461 .................... {
472 .................... char uc; 462 .................... char uc;
473 .................... char *su; 463 .................... char *su;
474 .................... uc=c; 464 .................... uc=c;
475 * 465 *
476 021D: BSF 03.5 466 03A0: BSF 03.5
477 021E: MOVF 47,W 467 03A1: MOVF 47,W
478 021F: MOVWF 49 468 03A2: MOVWF 49
479 .................... for(su=s;0<n;++su,--n) 469 .................... for(su=s;0<n;++su,--n)
480 0220: MOVF 46,W 470 03A3: MOVF 46,W
481 0221: MOVWF 4A 471 03A4: MOVWF 4A
482 0222: MOVF 48,W 472 03A5: MOVF 48,W
483 0223: SUBLW 00 473 03A6: SUBLW 00
484 0224: BTFSC 03.0 474 03A7: BTFSC 03.0
485 0225: GOTO 232 475 03A8: GOTO 3B5
486 .................... if(*su==uc) 476 .................... if(*su==uc)
487 0226: MOVF 4A,W 477 03A9: MOVF 4A,W
488 0227: MOVWF 04 478 03AA: MOVWF 04
489 0228: MOVF 49,W 479 03AB: MOVF 49,W
490 0229: SUBWF 00,W 480 03AC: SUBWF 00,W
491 022A: BTFSS 03.2 481 03AD: BTFSS 03.2
492 022B: GOTO 22F 482 03AE: GOTO 3B2
493 .................... return su; 483 .................... return su;
494 022C: MOVF 4A,W 484 03AF: MOVF 4A,W
495 022D: MOVWF 78 485 03B0: MOVWF 78
496 022E: GOTO 234 486 03B1: GOTO 3B7
497 022F: INCF 4A,F 487 03B2: INCF 4A,F
498 0230: DECF 48,F 488 03B3: DECF 48,F
499 0231: GOTO 222 489 03B4: GOTO 3A5
500 .................... return NULL; 490 .................... return NULL;
501 0232: MOVLW 00 491 03B5: MOVLW 00
502 0233: MOVWF 78 492 03B6: MOVWF 78
503 .................... } 493 .................... }
504 0234: BCF 03.5 494 03B7: BCF 03.5
505 0235: RETLW 00 495 03B8: RETLW 00
506 .................... 496 ....................
507 .................... /* standard template: char *strchr(const char *s, int c). 497 .................... /* standard template: char *strchr(const char *s, int c).
508 .................... Finds first occurrence of c in s */ 498 .................... Finds first occurrence of c in s */
509 .................... 499 ....................
510 .................... char *strchr(char *s, int c) 500 .................... char *strchr(char *s, int c)
Line 625... Line 615...
625 .................... char *strtok(char *s1, char *s2) 615 .................... char *strtok(char *s1, char *s2)
626 .................... { 616 .................... {
627 .................... char *beg, *end; 617 .................... char *beg, *end;
628 .................... static char *save; 618 .................... static char *save;
629 * 619 *
630 03EC: CLRF 21 620 0817: CLRF 21
631 .................... 621 ....................
632 .................... beg = (s1)? s1: save; 622 .................... beg = (s1)? s1: save;
633 .................... beg += strspn(beg, s2); 623 .................... beg += strspn(beg, s2);
634 .................... if (*beg == '\0') 624 .................... if (*beg == '\0')
635 .................... { 625 .................... {
Line 2266... Line 2256...
2266 .................... long strtoul(char *s,char *endptr,signed int base) 2256 .................... long strtoul(char *s,char *endptr,signed int base)
2267 .................... { 2257 .................... {
2268 .................... char *sc,*s1,*sd; 2258 .................... char *sc,*s1,*sd;
2269 .................... unsigned long x=0; 2259 .................... unsigned long x=0;
2270 * 2260 *
2271 024F: CLRF 57 2261 03D2: CLRF 57
2272 0250: CLRF 58 2262 03D3: CLRF 58
2273 .................... char sign; 2263 .................... char sign;
2274 .................... char digits[]="0123456789abcdefghijklmnopqstuvwxyz"; 2264 .................... char digits[]="0123456789abcdefghijklmnopqstuvwxyz";
2275 0251: MOVLW 30 2265 03D4: MOVLW 30
2276 0252: BSF 03.5 2266 03D5: BSF 03.5
2277 0253: MOVWF 20 2267 03D6: MOVWF 20
2278 0254: MOVLW 31 2268 03D7: MOVLW 31
2279 0255: MOVWF 21 2269 03D8: MOVWF 21
2280 0256: MOVLW 32 2270 03D9: MOVLW 32
2281 0257: MOVWF 22 2271 03DA: MOVWF 22
2282 0258: MOVLW 33 2272 03DB: MOVLW 33
2283 0259: MOVWF 23 2273 03DC: MOVWF 23
2284 025A: MOVLW 34 2274 03DD: MOVLW 34
2285 025B: MOVWF 24 2275 03DE: MOVWF 24
2286 025C: MOVLW 35 2276 03DF: MOVLW 35
2287 025D: MOVWF 25 2277 03E0: MOVWF 25
2288 025E: MOVLW 36 2278 03E1: MOVLW 36
2289 025F: MOVWF 26 2279 03E2: MOVWF 26
2290 0260: MOVLW 37 2280 03E3: MOVLW 37
2291 0261: MOVWF 27 2281 03E4: MOVWF 27
2292 0262: MOVLW 38 2282 03E5: MOVLW 38
2293 0263: MOVWF 28 2283 03E6: MOVWF 28
2294 0264: MOVLW 39 2284 03E7: MOVLW 39
2295 0265: MOVWF 29 2285 03E8: MOVWF 29
2296 0266: MOVLW 61 2286 03E9: MOVLW 61
2297 0267: MOVWF 2A 2287 03EA: MOVWF 2A
2298 0268: MOVLW 62 2288 03EB: MOVLW 62
2299 0269: MOVWF 2B 2289 03EC: MOVWF 2B
2300 026A: MOVLW 63 2290 03ED: MOVLW 63
2301 026B: MOVWF 2C 2291 03EE: MOVWF 2C
2302 026C: MOVLW 64 2292 03EF: MOVLW 64
2303 026D: MOVWF 2D 2293 03F0: MOVWF 2D
2304 026E: MOVLW 65 2294 03F1: MOVLW 65
2305 026F: MOVWF 2E 2295 03F2: MOVWF 2E
2306 0270: MOVLW 66 2296 03F3: MOVLW 66
2307 0271: MOVWF 2F 2297 03F4: MOVWF 2F
2308 0272: MOVLW 67 2298 03F5: MOVLW 67
2309 0273: MOVWF 30 2299 03F6: MOVWF 30
2310 0274: MOVLW 68 2300 03F7: MOVLW 68
2311 0275: MOVWF 31 2301 03F8: MOVWF 31
2312 0276: MOVLW 69 2302 03F9: MOVLW 69
2313 0277: MOVWF 32 2303 03FA: MOVWF 32
2314 0278: MOVLW 6A 2304 03FB: MOVLW 6A
2315 0279: MOVWF 33 2305 03FC: MOVWF 33
2316 027A: MOVLW 6B 2306 03FD: MOVLW 6B
2317 027B: MOVWF 34 2307 03FE: MOVWF 34
2318 027C: MOVLW 6C 2308 03FF: MOVLW 6C
2319 027D: MOVWF 35 2309 0400: MOVWF 35
2320 027E: MOVLW 6D 2310 0401: MOVLW 6D
2321 027F: MOVWF 36 2311 0402: MOVWF 36
2322 0280: MOVLW 6E 2312 0403: MOVLW 6E
2323 0281: MOVWF 37 2313 0404: MOVWF 37
2324 0282: MOVLW 6F 2314 0405: MOVLW 6F
2325 0283: MOVWF 38 2315 0406: MOVWF 38
2326 0284: MOVLW 70 2316 0407: MOVLW 70
2327 0285: MOVWF 39 2317 0408: MOVWF 39
2328 0286: MOVLW 71 2318 0409: MOVLW 71
2329 0287: MOVWF 3A 2319 040A: MOVWF 3A
2330 0288: MOVLW 73 2320 040B: MOVLW 73
2331 0289: MOVWF 3B 2321 040C: MOVWF 3B
2332 028A: MOVLW 74 2322 040D: MOVLW 74
2333 028B: MOVWF 3C 2323 040E: MOVWF 3C
2334 028C: MOVLW 75 2324 040F: MOVLW 75
2335 028D: MOVWF 3D 2325 0410: MOVWF 3D
2336 028E: MOVLW 76 2326 0411: MOVLW 76
2337 028F: MOVWF 3E 2327 0412: MOVWF 3E
2338 0290: MOVLW 77 2328 0413: MOVLW 77
2339 0291: MOVWF 3F 2329 0414: MOVWF 3F
2340 0292: MOVLW 78 2330 0415: MOVLW 78
2341 0293: MOVWF 40 2331 0416: MOVWF 40
2342 0294: MOVLW 79 2332 0417: MOVLW 79
2343 0295: MOVWF 41 2333 0418: MOVWF 41
2344 0296: MOVLW 7A 2334 0419: MOVLW 7A
2345 0297: MOVWF 42 2335 041A: MOVWF 42
2346 0298: CLRF 43 2336 041B: CLRF 43
2347 .................... for(sc=s;isspace(*sc);++sc); 2337 .................... for(sc=s;isspace(*sc);++sc);
2348 0299: BCF 03.5 2338 041C: BCF 03.5
2349 029A: MOVF 51,W 2339 041D: MOVF 51,W
2350 029B: MOVWF 54 2340 041E: MOVWF 54
2351 029C: MOVF 54,W 2341 041F: MOVF 54,W
2352 029D: MOVWF 04 2342 0420: MOVWF 04
2353 029E: MOVF 00,W 2343 0421: MOVF 00,W
2354 029F: SUBLW 20 2344 0422: SUBLW 20
2355 02A0: BTFSS 03.2 2345 0423: BTFSS 03.2
2356 02A1: GOTO 2A4 2346 0424: GOTO 427
2357 02A2: INCF 54,F 2347 0425: INCF 54,F
2358 02A3: GOTO 29C 2348 0426: GOTO 41F
2359 .................... sign=*sc=='-'||*sc=='+'?*sc++:'+'; 2349 .................... sign=*sc=='-'||*sc=='+'?*sc++:'+';
2360 02A4: MOVF 54,W 2350 0427: MOVF 54,W
2361 02A5: MOVWF 04 2351 0428: MOVWF 04
2362 02A6: MOVF 00,W 2352 0429: MOVF 00,W
2363 02A7: SUBLW 2D 2353 042A: SUBLW 2D
2364 02A8: BTFSC 03.2 2354 042B: BTFSC 03.2
2365 02A9: GOTO 2B0 2355 042C: GOTO 433
2366 02AA: MOVF 54,W 2356 042D: MOVF 54,W
2367 02AB: MOVWF 04 2357 042E: MOVWF 04
2368 02AC: MOVF 00,W 2358 042F: MOVF 00,W
2369 02AD: SUBLW 2B 2359 0430: SUBLW 2B
2370 02AE: BTFSS 03.2 2360 0431: BTFSS 03.2
2371 02AF: GOTO 2B5 2361 0432: GOTO 438
2372 02B0: MOVF 54,W 2362 0433: MOVF 54,W
2373 02B1: INCF 54,F 2363 0434: INCF 54,F
2374 02B2: MOVWF 04 2364 0435: MOVWF 04
2375 02B3: MOVF 00,W 2365 0436: MOVF 00,W
2376 02B4: GOTO 2B6 2366 0437: GOTO 439
2377 02B5: MOVLW 2B 2367 0438: MOVLW 2B
2378 02B6: MOVWF 59 2368 0439: MOVWF 59
2379 .................... if(sign=='-') 2369 .................... if(sign=='-')
2380 02B7: MOVF 59,W 2370 043A: MOVF 59,W
2381 02B8: SUBLW 2D 2371 043B: SUBLW 2D
2382 02B9: BTFSS 03.2 2372 043C: BTFSS 03.2
2383 02BA: GOTO 2C6 2373 043D: GOTO 449
2384 .................... { 2374 .................... {
2385 .................... if (endptr) 2375 .................... if (endptr)
2386 02BB: MOVF 52,F 2376 043E: MOVF 52,F
2387 02BC: BTFSC 03.2 2377 043F: BTFSC 03.2
2388 02BD: GOTO 2C2 2378 0440: GOTO 445
2389 .................... { 2379 .................... {
2390 .................... *((char *)endptr)=s; 2380 .................... *((char *)endptr)=s;
2391 02BE: MOVF 52,W 2381 0441: MOVF 52,W
2392 02BF: MOVWF 04 2382 0442: MOVWF 04
2393 02C0: MOVF 51,W 2383 0443: MOVF 51,W
2394 02C1: MOVWF 00 2384 0444: MOVWF 00
2395 .................... } 2385 .................... }
2396 .................... return 0; 2386 .................... return 0;
2397 02C2: MOVLW 00 2387 0445: MOVLW 00
2398 02C3: MOVWF 78 2388 0446: MOVWF 78
2399 02C4: MOVWF 79 2389 0447: MOVWF 79
2400 02C5: GOTO 3D2 2390 0448: GOTO 555
2401 .................... } 2391 .................... }
2402 .................... 2392 ....................
2403 .................... if (base <0 || base ==1|| base >36) // invalid base 2393 .................... if (base <0 || base ==1|| base >36) // invalid base
2404 02C6: BTFSC 53.7 2394 0449: BTFSC 53.7
2405 02C7: GOTO 2D1 2395 044A: GOTO 454
2406 02C8: DECFSZ 53,W 2396 044B: DECFSZ 53,W
2407 02C9: GOTO 2CB 2397 044C: GOTO 44E
2408 02CA: GOTO 2D1 2398 044D: GOTO 454
2409 02CB: BTFSC 53.7 2399 044E: BTFSC 53.7
2410 02CC: GOTO 2DD 2400 044F: GOTO 460
2411 02CD: MOVF 53,W 2401 0450: MOVF 53,W
2412 02CE: SUBLW 24 2402 0451: SUBLW 24
2413 02CF: BTFSC 03.0 2403 0452: BTFSC 03.0
2414 02D0: GOTO 2DD 2404 0453: GOTO 460
2415 .................... { 2405 .................... {
2416 .................... if (endptr) 2406 .................... if (endptr)
2417 02D1: MOVF 52,F 2407 0454: MOVF 52,F
2418 02D2: BTFSC 03.2 2408 0455: BTFSC 03.2
2419 02D3: GOTO 2D8 2409 0456: GOTO 45B
2420 .................... { 2410 .................... {
2421 .................... *((char *)endptr)=s; 2411 .................... *((char *)endptr)=s;
2422 02D4: MOVF 52,W 2412 0457: MOVF 52,W
2423 02D5: MOVWF 04 2413 0458: MOVWF 04
2424 02D6: MOVF 51,W 2414 0459: MOVF 51,W
2425 02D7: MOVWF 00 2415 045A: MOVWF 00
2426 .................... } 2416 .................... }
2427 .................... return 0; 2417 .................... return 0;
2428 02D8: MOVLW 00 2418 045B: MOVLW 00
2429 02D9: MOVWF 78 2419 045C: MOVWF 78
2430 02DA: MOVWF 79 2420 045D: MOVWF 79
2431 02DB: GOTO 3D2 2421 045E: GOTO 555
2432 .................... } 2422 .................... }
2433 .................... else if (base) 2423 .................... else if (base)
2434 02DC: GOTO 343 2424 045F: GOTO 4C6
2435 02DD: MOVF 53,F 2425 0460: MOVF 53,F
2436 02DE: BTFSC 03.2 2426 0461: BTFSC 03.2
2437 02DF: GOTO 31A 2427 0462: GOTO 49D
2438 .................... { 2428 .................... {
2439 .................... if(base==16 && *sc =='0'&&(sc[1]=='x' || sc[1]=='X')) 2429 .................... if(base==16 && *sc =='0'&&(sc[1]=='x' || sc[1]=='X'))
2440 02E0: MOVF 53,W 2430 0463: MOVF 53,W
2441 02E1: SUBLW 10 2431 0464: SUBLW 10
2442 02E2: BTFSS 03.2 2432 0465: BTFSS 03.2
2443 02E3: GOTO 2FA 2433 0466: GOTO 47D
2444 02E4: MOVF 54,W 2434 0467: MOVF 54,W
2445 02E5: MOVWF 04 2435 0468: MOVWF 04
2446 02E6: MOVF 00,W 2436 0469: MOVF 00,W
2447 02E7: SUBLW 30 2437 046A: SUBLW 30
2448 02E8: BTFSS 03.2 2438 046B: BTFSS 03.2
2449 02E9: GOTO 2FA 2439 046C: GOTO 47D
2450 02EA: MOVLW 01 2440 046D: MOVLW 01
2451 02EB: ADDWF 54,W 2441 046E: ADDWF 54,W
2452 02EC: MOVWF 04 2442 046F: MOVWF 04
2453 02ED: MOVF 00,W 2443 0470: MOVF 00,W
2454 02EE: SUBLW 78 2444 0471: SUBLW 78
2455 02EF: BTFSC 03.2 2445 0472: BTFSC 03.2
2456 02F0: GOTO 2F8 2446 0473: GOTO 47B
2457 02F1: MOVLW 01 2447 0474: MOVLW 01
2458 02F2: ADDWF 54,W 2448 0475: ADDWF 54,W
2459 02F3: MOVWF 04 2449 0476: MOVWF 04
2460 02F4: MOVF 00,W 2450 0477: MOVF 00,W
2461 02F5: SUBLW 58 2451 0478: SUBLW 58
2462 02F6: BTFSS 03.2 2452 0479: BTFSS 03.2
2463 02F7: GOTO 2FA 2453 047A: GOTO 47D
2464 .................... sc+=2; 2454 .................... sc+=2;
2465 02F8: MOVLW 02 2455 047B: MOVLW 02
2466 02F9: ADDWF 54,F 2456 047C: ADDWF 54,F
2467 .................... if(base==8 && *sc =='0') 2457 .................... if(base==8 && *sc =='0')
2468 02FA: MOVF 53,W 2458 047D: MOVF 53,W
2469 02FB: SUBLW 08 2459 047E: SUBLW 08
2470 02FC: BTFSS 03.2 2460 047F: BTFSS 03.2
2471 02FD: GOTO 306 2461 0480: GOTO 489
2472 02FE: MOVF 54,W 2462 0481: MOVF 54,W
2473 02FF: MOVWF 04 2463 0482: MOVWF 04
2474 0300: MOVF 00,W 2464 0483: MOVF 00,W
2475 0301: SUBLW 30 2465 0484: SUBLW 30
2476 0302: BTFSS 03.2 2466 0485: BTFSS 03.2
2477 0303: GOTO 306 2467 0486: GOTO 489
2478 .................... sc+=1; 2468 .................... sc+=1;
2479 0304: MOVLW 01 2469 0487: MOVLW 01
2480 0305: ADDWF 54,F 2470 0488: ADDWF 54,F
2481 .................... if(base==2 && *sc =='0'&&sc[1]=='b') 2471 .................... if(base==2 && *sc =='0'&&sc[1]=='b')
2482 0306: MOVF 53,W 2472 0489: MOVF 53,W
2483 0307: SUBLW 02 2473 048A: SUBLW 02
2484 0308: BTFSS 03.2 2474 048B: BTFSS 03.2
2485 0309: GOTO 319 2475 048C: GOTO 49C
2486 030A: MOVF 54,W 2476 048D: MOVF 54,W
2487 030B: MOVWF 04 2477 048E: MOVWF 04
2488 030C: MOVF 00,W 2478 048F: MOVF 00,W
2489 030D: SUBLW 30 2479 0490: SUBLW 30
2490 030E: BTFSS 03.2 2480 0491: BTFSS 03.2
2491 030F: GOTO 319 2481 0492: GOTO 49C
2492 0310: MOVLW 01 2482 0493: MOVLW 01
2493 0311: ADDWF 54,W 2483 0494: ADDWF 54,W
2494 0312: MOVWF 04 2484 0495: MOVWF 04
2495 0313: MOVF 00,W 2485 0496: MOVF 00,W
2496 0314: SUBLW 62 2486 0497: SUBLW 62
2497 0315: BTFSS 03.2 2487 0498: BTFSS 03.2
2498 0316: GOTO 319 2488 0499: GOTO 49C
2499 .................... sc+=2; 2489 .................... sc+=2;
2500 0317: MOVLW 02 2490 049A: MOVLW 02
2501 0318: ADDWF 54,F 2491 049B: ADDWF 54,F
2502 .................... 2492 ....................
2503 .................... } 2493 .................... }
2504 .................... else if(*sc!='0') // base is 0, find base 2494 .................... else if(*sc!='0') // base is 0, find base
2505 0319: GOTO 343 2495 049C: GOTO 4C6
2506 031A: MOVF 54,W 2496 049D: MOVF 54,W
2507 031B: MOVWF 04 2497 049E: MOVWF 04
2508 031C: MOVF 00,W 2498 049F: MOVF 00,W
2509 031D: SUBLW 30 2499 04A0: SUBLW 30
2510 031E: BTFSC 03.2 2500 04A1: BTFSC 03.2
2511 031F: GOTO 323 2501 04A2: GOTO 4A6
2512 .................... base=10; 2502 .................... base=10;
2513 0320: MOVLW 0A 2503 04A3: MOVLW 0A
2514 0321: MOVWF 53 2504 04A4: MOVWF 53
2515 .................... else if (sc[1]=='x' || sc[1]=='X') 2505 .................... else if (sc[1]=='x' || sc[1]=='X')
2516 0322: GOTO 343 2506 04A5: GOTO 4C6
2517 0323: MOVLW 01 2507 04A6: MOVLW 01
2518 0324: ADDWF 54,W 2508 04A7: ADDWF 54,W
2519 0325: MOVWF 04 2509 04A8: MOVWF 04
2520 0326: MOVF 00,W 2510 04A9: MOVF 00,W
2521 0327: SUBLW 78 2511 04AA: SUBLW 78
2522 0328: BTFSC 03.2 2512 04AB: BTFSC 03.2
2523 0329: GOTO 331 2513 04AC: GOTO 4B4
2524 032A: MOVLW 01 2514 04AD: MOVLW 01
2525 032B: ADDWF 54,W 2515 04AE: ADDWF 54,W
2526 032C: MOVWF 04 2516 04AF: MOVWF 04
2527 032D: MOVF 00,W 2517 04B0: MOVF 00,W
2528 032E: SUBLW 58 2518 04B1: SUBLW 58
2529 032F: BTFSS 03.2 2519 04B2: BTFSS 03.2
2530 0330: GOTO 336 2520 04B3: GOTO 4B9
2531 .................... base =16,sc+=2; 2521 .................... base =16,sc+=2;
2532 0331: MOVLW 10 2522 04B4: MOVLW 10
2533 0332: MOVWF 53 2523 04B5: MOVWF 53
2534 0333: MOVLW 02 2524 04B6: MOVLW 02
2535 0334: ADDWF 54,F 2525 04B7: ADDWF 54,F
2536 .................... else if(sc[1]=='b') 2526 .................... else if(sc[1]=='b')
2537 0335: GOTO 343 2527 04B8: GOTO 4C6
2538 0336: MOVLW 01 2528 04B9: MOVLW 01
2539 0337: ADDWF 54,W 2529 04BA: ADDWF 54,W
2540 0338: MOVWF 04 2530 04BB: MOVWF 04
2541 0339: MOVF 00,W 2531 04BC: MOVF 00,W
2542 033A: SUBLW 62 2532 04BD: SUBLW 62
2543 033B: BTFSS 03.2 2533 04BE: BTFSS 03.2
2544 033C: GOTO 341 2534 04BF: GOTO 4C4
2545 .................... base=2,sc+=2; 2535 .................... base=2,sc+=2;
2546 033D: MOVLW 02 2536 04C0: MOVLW 02
2547 033E: MOVWF 53 2537 04C1: MOVWF 53
2548 033F: ADDWF 54,F 2538 04C2: ADDWF 54,F
2549 .................... else 2539 .................... else
2550 0340: GOTO 343 2540 04C3: GOTO 4C6
2551 .................... base=8; 2541 .................... base=8;
2552 0341: MOVLW 08 2542 04C4: MOVLW 08
2553 0342: MOVWF 53 2543 04C5: MOVWF 53
2554 .................... for (s1=sc;*sc=='0';++sc);// skip leading zeroes 2544 .................... for (s1=sc;*sc=='0';++sc);// skip leading zeroes
2555 0343: MOVF 54,W 2545 04C6: MOVF 54,W
2556 0344: MOVWF 55 2546 04C7: MOVWF 55
2557 0345: MOVF 54,W 2547 04C8: MOVF 54,W
2558 0346: MOVWF 04 2548 04C9: MOVWF 04
2559 0347: MOVF 00,W 2549 04CA: MOVF 00,W
2560 0348: SUBLW 30 2550 04CB: SUBLW 30
2561 0349: BTFSS 03.2 2551 04CC: BTFSS 03.2
2562 034A: GOTO 34D 2552 04CD: GOTO 4D0
2563 034B: INCF 54,F 2553 04CE: INCF 54,F
2564 034C: GOTO 345 2554 04CF: GOTO 4C8
2565 .................... sd=memchr(digits,tolower(*sc),base); 2555 .................... sd=memchr(digits,tolower(*sc),base);
2566 034D: MOVF 54,W 2556 04D0: MOVF 54,W
2567 034E: MOVWF 04 2557 04D1: MOVWF 04
2568 034F: MOVF 00,W 2558 04D2: MOVF 00,W
2569 0350: MOVWF 5A 2559 04D3: MOVWF 5A
2570 0351: SUBLW 40 2560 04D4: SUBLW 40
2571 0352: BTFSC 03.0 2561 04D5: BTFSC 03.0
2572 0353: GOTO 35B 2562 04D6: GOTO 4DE
2573 0354: MOVF 5A,W 2563 04D7: MOVF 5A,W
2574 0355: SUBLW 5A 2564 04D8: SUBLW 5A
2575 0356: BTFSS 03.0 2565 04D9: BTFSS 03.0
2576 0357: GOTO 35B 2566 04DA: GOTO 4DE
2577 0358: MOVF 5A,W 2567 04DB: MOVF 5A,W
2578 0359: IORLW 20 2568 04DC: IORLW 20
2579 035A: GOTO 35C 2569 04DD: GOTO 4DF
2580 035B: MOVF 5A,W 2570 04DE: MOVF 5A,W
2581 035C: MOVWF 5B 2571 04DF: MOVWF 5B
2582 035D: MOVLW A0 2572 04E0: MOVLW A0
2583 035E: BSF 03.5 2573 04E1: BSF 03.5
2584 035F: MOVWF 46 2574 04E2: MOVWF 46
2585 0360: BCF 03.5 2575 04E3: BCF 03.5
2586 0361: MOVF 5A,W 2576 04E4: MOVF 5A,W
2587 0362: BSF 03.5 2577 04E5: BSF 03.5
2588 0363: MOVWF 47 2578 04E6: MOVWF 47
2589 0364: BCF 03.5 2579 04E7: BCF 03.5
2590 0365: MOVF 53,W 2580 04E8: MOVF 53,W
2591 0366: BSF 03.5 2581 04E9: BSF 03.5
2592 0367: MOVWF 48 2582 04EA: MOVWF 48
2593 0368: BCF 03.5 2583 04EB: BCF 03.5
2594 0369: CALL 21D 2584 04EC: CALL 3A0
2595 036A: MOVF 78,W 2585 04ED: MOVF 78,W
2596 036B: MOVWF 56 2586 04EE: MOVWF 56
2597 .................... for(; sd!=0; ) 2587 .................... for(; sd!=0; )
2598 036C: MOVF 56,F 2588 04EF: MOVF 56,F
2599 036D: BTFSC 03.2 2589 04F0: BTFSC 03.2
2600 036E: GOTO 3B8 2590 04F1: GOTO 53B
2601 .................... { 2591 .................... {
2602 .................... x=x*base+(int16)(sd-digits); 2592 .................... x=x*base+(int16)(sd-digits);
2603 036F: CLRF 7A 2593 04F2: CLRF 7A
2604 0370: MOVF 53,W 2594 04F3: MOVF 53,W
2605 0371: MOVWF 77 2595 04F4: MOVWF 77
2606 0372: BTFSC 53.7 2596 04F5: BTFSC 53.7
2607 0373: DECF 7A,F 2597 04F6: DECF 7A,F
2608 0374: MOVWF 5A 2598 04F7: MOVWF 5A
2609 0375: MOVF 7A,W 2599 04F8: MOVF 7A,W
2610 0376: MOVWF 5B 2600 04F9: MOVWF 5B
2611 0377: MOVF 58,W 2601 04FA: MOVF 58,W
2612 0378: BSF 03.5 2602 04FB: BSF 03.5
2613 0379: MOVWF 47 2603 04FC: MOVWF 47
2614 037A: BCF 03.5 2604 04FD: BCF 03.5
2615 037B: MOVF 57,W 2605 04FE: MOVF 57,W
2616 037C: BSF 03.5 2606 04FF: BSF 03.5
2617 037D: MOVWF 46 2607 0500: MOVWF 46
2618 037E: BCF 03.5 2608 0501: BCF 03.5
2619 037F: MOVF 7A,W 2609 0502: MOVF 7A,W
2620 0380: BSF 03.5 2610 0503: BSF 03.5
2621 0381: MOVWF 49 2611 0504: MOVWF 49
2622 0382: BCF 03.5 2612 0505: BCF 03.5
2623 0383: MOVF 5A,W 2613 0506: MOVF 5A,W
2624 0384: BSF 03.5 2614 0507: BSF 03.5
2625 0385: MOVWF 48 2615 0508: MOVWF 48
2626 0386: BCF 03.5 2616 0509: BCF 03.5
2627 0387: GOTO 236 2617 050A: GOTO 3B9
2628 0388: MOVF 78,W 2618 050B: MOVF 78,W
2629 0389: MOVWF 5B 2619 050C: MOVWF 5B
2630 038A: MOVLW A0 2620 050D: MOVLW A0
2631 038B: SUBWF 56,W 2621 050E: SUBWF 56,W
2632 038C: CLRF 7A 2622 050F: CLRF 7A
2633 038D: ADDWF 78,W 2623 0510: ADDWF 78,W
2634 038E: MOVWF 78 2624 0511: MOVWF 78
2635 038F: BTFSC 03.0 2625 0512: BTFSC 03.0
2636 0390: INCF 7A,F 2626 0513: INCF 7A,F
2637 0391: MOVF 79,W 2627 0514: MOVF 79,W
2638 0392: ADDWF 7A,F 2628 0515: ADDWF 7A,F
2639 0393: MOVF 78,W 2629 0516: MOVF 78,W
2640 0394: MOVWF 57 2630 0517: MOVWF 57
2641 0395: MOVF 7A,W 2631 0518: MOVF 7A,W
2642 0396: MOVWF 58 2632 0519: MOVWF 58
2643 .................... ++sc; 2633 .................... ++sc;
2644 0397: INCF 54,F 2634 051A: INCF 54,F
2645 .................... sd=memchr(digits,tolower(*sc),base); 2635 .................... sd=memchr(digits,tolower(*sc),base);
2646 0398: MOVF 54,W 2636 051B: MOVF 54,W
2647 0399: MOVWF 04 2637 051C: MOVWF 04
2648 039A: MOVF 00,W 2638 051D: MOVF 00,W
2649 039B: MOVWF 5A 2639 051E: MOVWF 5A
2650 039C: SUBLW 40 2640 051F: SUBLW 40
2651 039D: BTFSC 03.0 2641 0520: BTFSC 03.0
2652 039E: GOTO 3A6 2642 0521: GOTO 529
2653 039F: MOVF 5A,W 2643 0522: MOVF 5A,W
2654 03A0: SUBLW 5A 2644 0523: SUBLW 5A
2655 03A1: BTFSS 03.0 2645 0524: BTFSS 03.0
2656 03A2: GOTO 3A6 2646 0525: GOTO 529
2657 03A3: MOVF 5A,W 2647 0526: MOVF 5A,W
2658 03A4: IORLW 20 2648 0527: IORLW 20
2659 03A5: GOTO 3A7 2649 0528: GOTO 52A
2660 03A6: MOVF 5A,W 2650 0529: MOVF 5A,W
2661 03A7: MOVWF 5B 2651 052A: MOVWF 5B
2662 03A8: MOVLW A0 2652 052B: MOVLW A0
2663 03A9: BSF 03.5 2653 052C: BSF 03.5
2664 03AA: MOVWF 46 2654 052D: MOVWF 46
2665 03AB: BCF 03.5 2655 052E: BCF 03.5
2666 03AC: MOVF 5A,W 2656 052F: MOVF 5A,W
2667 03AD: BSF 03.5 2657 0530: BSF 03.5
2668 03AE: MOVWF 47 2658 0531: MOVWF 47
2669 03AF: BCF 03.5 2659 0532: BCF 03.5
2670 03B0: MOVF 53,W 2660 0533: MOVF 53,W
2671 03B1: BSF 03.5 2661 0534: BSF 03.5
2672 03B2: MOVWF 48 2662 0535: MOVWF 48
2673 03B3: BCF 03.5 2663 0536: BCF 03.5
2674 03B4: CALL 21D 2664 0537: CALL 3A0
2675 03B5: MOVF 78,W 2665 0538: MOVF 78,W
2676 03B6: MOVWF 56 2666 0539: MOVWF 56
2677 .................... } 2667 .................... }
2678 03B7: GOTO 36C 2668 053A: GOTO 4EF
2679 .................... if(s1==sc) 2669 .................... if(s1==sc)
2680 03B8: MOVF 54,W 2670 053B: MOVF 54,W
2681 03B9: SUBWF 55,W 2671 053C: SUBWF 55,W
2682 03BA: BTFSS 03.2 2672 053D: BTFSS 03.2
2683 03BB: GOTO 3C7 2673 053E: GOTO 54A
2684 .................... { 2674 .................... {
2685 .................... if (endptr) 2675 .................... if (endptr)
2686 03BC: MOVF 52,F 2676 053F: MOVF 52,F
2687 03BD: BTFSC 03.2 2677 0540: BTFSC 03.2
2688 03BE: GOTO 3C3 2678 0541: GOTO 546
2689 .................... { 2679 .................... {
2690 .................... *((char *)endptr)=s; 2680 .................... *((char *)endptr)=s;
2691 03BF: MOVF 52,W 2681 0542: MOVF 52,W
2692 03C0: MOVWF 04 2682 0543: MOVWF 04
2693 03C1: MOVF 51,W 2683 0544: MOVF 51,W
2694 03C2: MOVWF 00 2684 0545: MOVWF 00
2695 .................... } 2685 .................... }
2696 .................... return 0; 2686 .................... return 0;
2697 03C3: MOVLW 00 2687 0546: MOVLW 00
2698 03C4: MOVWF 78 2688 0547: MOVWF 78
2699 03C5: MOVWF 79 2689 0548: MOVWF 79
2700 03C6: GOTO 3D2 2690 0549: GOTO 555
2701 .................... } 2691 .................... }
2702 .................... if (endptr) 2692 .................... if (endptr)
2703 03C7: MOVF 52,F 2693 054A: MOVF 52,F
2704 03C8: BTFSC 03.2 2694 054B: BTFSC 03.2
2705 03C9: GOTO 3CE 2695 054C: GOTO 551
2706 .................... *((char *)endptr)=sc; 2696 .................... *((char *)endptr)=sc;
2707 03CA: MOVF 52,W 2697 054D: MOVF 52,W
2708 03CB: MOVWF 04 2698 054E: MOVWF 04
2709 03CC: MOVF 54,W 2699 054F: MOVF 54,W
2710 03CD: MOVWF 00 2700 0550: MOVWF 00
2711 .................... return x; 2701 .................... return x;
2712 03CE: MOVF 57,W 2702 0551: MOVF 57,W
2713 03CF: MOVWF 78 2703 0552: MOVWF 78
2714 03D0: MOVF 58,W 2704 0553: MOVF 58,W
2715 03D1: MOVWF 79 2705 0554: MOVWF 79
2716 .................... } 2706 .................... }
2717 03D2: BCF 0A.3 2707 0555: BSF 0A.3
2718 03D3: BCF 0A.4 2708 0556: BCF 0A.4
2719 03D4: GOTO 4FF (RETURN) 2709 0557: GOTO 503 (RETURN)
2720 .................... 2710 ....................
2721 .................... 2711 ....................
2722 .................... signed long strtol(char *s,char *endptr,signed int base) 2712 .................... signed long strtol(char *s,char *endptr,signed int base)
2723 .................... { 2713 .................... {
2724 .................... char *sc,*s1,*sd; 2714 .................... char *sc,*s1,*sd;
Line 2815... Line 2805...
2815 .................... // The random number implementation 2805 .................... // The random number implementation
2816 .................... //--------------------------------------------------------------------------- 2806 .................... //---------------------------------------------------------------------------
2817 .................... 2807 ....................
2818 .................... unsigned int32 _Randseed = 1; 2808 .................... unsigned int32 _Randseed = 1;
2819 * 2809 *
2820 03ED: MOVLW 01 2810 0818: MOVLW 01
2821 03EE: MOVWF 22 2811 0819: MOVWF 22
2822 03EF: CLRF 23 2812 081A: CLRF 23
2823 03F0: CLRF 24 2813 081B: CLRF 24
2824 03F1: CLRF 25 2814 081C: CLRF 25
2825 .................... 2815 ....................
2826 .................... long rand(void) 2816 .................... long rand(void)
2827 .................... { 2817 .................... {
2828 .................... _Randseed = _Randseed * 1103515245 + 12345; 2818 .................... _Randseed = _Randseed * 1103515245 + 12345;
2829 .................... return ((unsigned long)(_Randseed >> 16) % RAND_MAX); 2819 .................... return ((unsigned long)(_Randseed >> 16) % RAND_MAX);
Line 2901... Line 2891...
2901 .................... 2891 ....................
2902 .................... #endif 2892 .................... #endif
2903 .................... 2893 ....................
2904 .................... 2894 ....................
2905 .................... #define DELKA 40 2895 .................... #define DELKA 40
-   2896 .................... #define VYKON 100
2906 .................... 2897 ....................
2907 .................... char odp[DELKA]; 2898 .................... char odp[DELKA];
2908 .................... 2899 ....................
2909 .................... int1 check_new_sms() 2900 .................... int1 check_new_sms()
2910 .................... { 2901 .................... {
2911 .................... fprintf(MOBIL,"AT+CMGL=1\r"); //vycti prijate SMS (0=nove;1=vsechny) 2902 .................... fprintf(MOBIL,"AT+CMGL=0\r"); //vycti prijate SMS (0=nove;1=vsechny)
2912 * 2903 *
2913 00B6: CLRF 51 2904 022E: CLRF 51
2914 00B7: MOVF 51,W 2905 022F: MOVF 51,W
2915 00B8: CALL 004 2906 0230: CALL 004
2916 00B9: IORLW 00 2907 0231: IORLW 00
2917 00BA: BTFSC 03.2 2908 0232: BTFSC 03.2
2918 00BB: GOTO 0C0 2909 0233: GOTO 238
2919 00BC: INCF 51,F 2910 0234: INCF 51,F
2920 00BD: MOVWF 53 2911 0235: MOVWF 53
2921 00BE: CALL 064 2912 0236: CALL 1DE
2922 00BF: GOTO 0B7 2913 0237: GOTO 22F
2923 .................... while(fgetc(MOBIL)!=0x0A); // predkoc prvni radek odpovedi 2914 .................... while(fgetc(MOBIL)!=0x0A); // predkoc prvni radek odpovedi
2924 00C0: CALL 08C 2915 0238: CALL 206
2925 00C1: MOVF 78,W 2916 0239: MOVF 78,W
2926 00C2: SUBLW 0A 2917 023A: SUBLW 0A
2927 00C3: BTFSS 03.2 2918 023B: BTFSS 03.2
2928 00C4: GOTO 0C0 2919 023C: GOTO 238
2929 .................... odp[0]=fgetc(MOBIL); // Nacti prvni dva znaky druheho radku odpovedi 2920 .................... odp[0]=fgetc(MOBIL); // Nacti prvni dva znaky druheho radku odpovedi
2930 00C5: CALL 08C 2921 023D: CALL 206
2931 00C6: MOVF 78,W 2922 023E: MOVF 78,W
2932 00C7: MOVWF 26 2923 023F: MOVWF 26
2933 .................... odp[1]=fgetc(MOBIL); 2924 .................... odp[1]=fgetc(MOBIL);
2934 00C8: CALL 08C 2925 0240: CALL 206
2935 00C9: MOVF 78,W 2926 0241: MOVF 78,W
2936 00CA: MOVWF 27 2927 0242: MOVWF 27
2937 .................... while(fgetc(MOBIL)!=0x0A); // Preskoc zbytek radku 2928 .................... while(fgetc(MOBIL)!=0x0A); // Preskoc zbytek radku
2938 00CB: CALL 08C 2929 0243: CALL 206
2939 00CC: MOVF 78,W 2930 0244: MOVF 78,W
2940 00CD: SUBLW 0A 2931 0245: SUBLW 0A
2941 00CE: BTFSS 03.2 2932 0246: BTFSS 03.2
2942 00CF: GOTO 0CB 2933 0247: GOTO 243
2943 .................... 2934 ....................
2944 .................... if(odp[0] == 'O' && odp[1] == 'K') return 1; 2935 .................... if(odp[0] == 'O' && odp[1] == 'K') return 1;
2945 00D0: MOVF 26,W 2936 0248: MOVF 26,W
2946 00D1: SUBLW 4F 2937 0249: SUBLW 4F
2947 00D2: BTFSS 03.2 2938 024A: BTFSS 03.2
2948 00D3: GOTO 0DC 2939 024B: GOTO 254
2949 00D4: MOVF 27,W 2940 024C: MOVF 27,W
2950 00D5: SUBLW 4B 2941 024D: SUBLW 4B
2951 00D6: BTFSS 03.2 2942 024E: BTFSS 03.2
2952 00D7: GOTO 0DC 2943 024F: GOTO 254
2953 00D8: MOVLW 01 2944 0250: MOVLW 01
2954 00D9: MOVWF 78 2945 0251: MOVWF 78
2955 00DA: GOTO 0DF 2946 0252: GOTO 257
2956 .................... else return 0; 2947 .................... else return 0;
2957 00DB: GOTO 0DF 2948 0253: GOTO 257
2958 00DC: MOVLW 00 2949 0254: MOVLW 00
2959 00DD: MOVWF 78 2950 0255: MOVWF 78
2960 00DE: GOTO 0DF 2951 0256: GOTO 257
2961 .................... } 2952 .................... }
2962 00DF: BCF 0A.3 2953 0257: BSF 0A.3
2963 00E0: BCF 0A.4 2954 0258: BCF 0A.4
2964 00E1: GOTO 46E (RETURN) 2955 0259: GOTO 0A1 (RETURN)
2965 .................... 2956 ....................
2966 .................... read_sms() 2957 .................... read_sms()
2967 .................... { 2958 .................... {
2968 .................... int pom,pom2,pom3,odkl,odkl2,maskovadlo; 2959 .................... int pom,pom2,pom3,odkl,odkl2,maskovadlo;
2969 .................... for(pom=0;pom<54;pom++) //preskoc nedulezite informace 2960 .................... for(pom=0;pom<54;pom++) //preskoc nedulezite informace
2970 00E2: CLRF 51 2961 025A: CLRF 51
2971 00E3: MOVF 51,W 2962 025B: MOVF 51,W
2972 00E4: SUBLW 35 2963 025C: SUBLW 35
2973 00E5: BTFSS 03.0 2964 025D: BTFSS 03.0
2974 00E6: GOTO 0EA 2965 025E: GOTO 262
2975 .................... { 2966 .................... {
2976 .................... fgetc(MOBIL); 2967 .................... fgetc(MOBIL);
2977 00E7: CALL 08C 2968 025F: CALL 206
2978 .................... } 2969 .................... }
2979 00E8: INCF 51,F 2970 0260: INCF 51,F
2980 00E9: GOTO 0E3 2971 0261: GOTO 25B
2981 .................... 2972 ....................
2982 .................... //gets(odp); //uloz zakodovany text SMS 2973 .................... //gets(odp); //uloz zakodovany text SMS
2983 .................... 2974 ....................
2984 .................... odp[0]=fgetc(MOBIL); 2975 .................... odp[0]=fgetc(MOBIL);
2985 00EA: CALL 08C 2976 0262: CALL 206
2986 00EB: MOVF 78,W 2977 0263: MOVF 78,W
2987 00EC: MOVWF 26 2978 0264: MOVWF 26
2988 .................... odp[1]=fgetc(MOBIL); 2979 .................... odp[1]=fgetc(MOBIL);
2989 00ED: CALL 08C 2980 0265: CALL 206
2990 00EE: MOVF 78,W 2981 0266: MOVF 78,W
2991 00EF: MOVWF 27 2982 0267: MOVWF 27
2992 .................... odp[2]=fgetc(MOBIL); 2983 .................... odp[2]=fgetc(MOBIL);
2993 00F0: CALL 08C 2984 0268: CALL 206
2994 00F1: MOVF 78,W 2985 0269: MOVF 78,W
2995 00F2: MOVWF 28 2986 026A: MOVWF 28
2996 .................... odp[3]=fgetc(MOBIL); 2987 .................... odp[3]=fgetc(MOBIL);
2997 00F3: CALL 08C 2988 026B: CALL 206
2998 00F4: MOVF 78,W 2989 026C: MOVF 78,W
2999 00F5: MOVWF 29 2990 026D: MOVWF 29
3000 .................... odp[4]=fgetc(MOBIL); 2991 .................... odp[4]=fgetc(MOBIL);
3001 00F6: CALL 08C 2992 026E: CALL 206
3002 00F7: MOVF 78,W 2993 026F: MOVF 78,W
3003 00F8: MOVWF 2A 2994 0270: MOVWF 2A
3004 .................... odp[5]=fgetc(MOBIL); 2995 .................... odp[5]=fgetc(MOBIL);
3005 00F9: CALL 08C 2996 0271: CALL 206
3006 00FA: MOVF 78,W 2997 0272: MOVF 78,W
3007 00FB: MOVWF 2B 2998 0273: MOVWF 2B
3008 .................... odp[6]=fgetc(MOBIL); 2999 .................... odp[6]=fgetc(MOBIL);
3009 00FC: CALL 08C 3000 0274: CALL 206
3010 00FD: MOVF 78,W 3001 0275: MOVF 78,W
3011 00FE: MOVWF 2C 3002 0276: MOVWF 2C
3012 .................... odp[7]=fgetc(MOBIL); 3003 .................... odp[7]=fgetc(MOBIL);
3013 00FF: CALL 08C 3004 0277: CALL 206
3014 0100: MOVF 78,W 3005 0278: MOVF 78,W
3015 0101: MOVWF 2D 3006 0279: MOVWF 2D
3016 .................... 3007 ....................
3017 .................... /*lcd_gotoxy(1,1); 3008 .................... /*lcd_gotoxy(1,1);
3018 .................... printf(lcd_putc,"\f%s\n",odp);*/ 3009 .................... printf(lcd_putc,"\f%s\n",odp);*/
3019 .................... 3010 ....................
3020 .................... if(odp[0]==0) odp[1]='0'; // Prevod z ASCII do BIN 3011 .................... if(odp[0]==0) odp[1]='0'; // Prevod z ASCII do BIN
3021 0102: MOVF 26,F 3012 027A: MOVF 26,F
3022 0103: BTFSS 03.2 3013 027B: BTFSS 03.2
3023 0104: GOTO 107 3014 027C: GOTO 27F
3024 0105: MOVLW 30 3015 027D: MOVLW 30
3025 0106: MOVWF 27 3016 027E: MOVWF 27
3026 .................... odp[0]=odp[0] - '0'; 3017 .................... odp[0]=odp[0] - '0';
3027 0107: MOVLW 30 3018 027F: MOVLW 30
3028 0108: SUBWF 26,F 3019 0280: SUBWF 26,F
3029 .................... odp[1]=odp[1] - '0'; 3020 .................... odp[1]=odp[1] - '0';
3030 0109: SUBWF 27,F 3021 0281: SUBWF 27,F
3031 .................... if(odp[0]>9) odp[0]=odp[0]-7; 3022 .................... if(odp[0]>9) odp[0]=odp[0]-7;
3032 010A: MOVF 26,W 3023 0282: MOVF 26,W
3033 010B: SUBLW 09 3024 0283: SUBLW 09
3034 010C: BTFSC 03.0 3025 0284: BTFSC 03.0
3035 010D: GOTO 110 3026 0285: GOTO 288
3036 010E: MOVLW 07 3027 0286: MOVLW 07
3037 010F: SUBWF 26,F 3028 0287: SUBWF 26,F
3038 .................... if(odp[1]>9) odp[1]=odp[1]-7; 3029 .................... if(odp[1]>9) odp[1]=odp[1]-7;
3039 0110: MOVF 27,W 3030 0288: MOVF 27,W
3040 0111: SUBLW 09 3031 0289: SUBLW 09
3041 0112: BTFSC 03.0 3032 028A: BTFSC 03.0
3042 0113: GOTO 116 3033 028B: GOTO 28E
3043 0114: MOVLW 07 3034 028C: MOVLW 07
3044 0115: SUBWF 27,F 3035 028D: SUBWF 27,F
3045 .................... odp[0]=odp[0] << 4; 3036 .................... odp[0]=odp[0] << 4;
3046 0116: SWAPF 26,F 3037 028E: SWAPF 26,F
3047 0117: MOVLW F0 3038 028F: MOVLW F0
3048 0118: ANDWF 26,F 3039 0290: ANDWF 26,F
3049 .................... odp[0] |= odp[1]; 3040 .................... odp[0] |= odp[1];
3050 0119: MOVF 27,W 3041 0291: MOVF 27,W
3051 011A: IORWF 26,F 3042 0292: IORWF 26,F
3052 .................... 3043 ....................
3053 .................... if(odp[2]==0) odp[3]='0'; 3044 .................... if(odp[2]==0) odp[3]='0';
3054 011B: MOVF 28,F 3045 0293: MOVF 28,F
3055 011C: BTFSS 03.2 3046 0294: BTFSS 03.2
3056 011D: GOTO 120 3047 0295: GOTO 298
3057 011E: MOVLW 30 3048 0296: MOVLW 30
3058 011F: MOVWF 29 3049 0297: MOVWF 29
3059 .................... odp[2]=odp[2] - '0'; 3050 .................... odp[2]=odp[2] - '0';
3060 0120: MOVLW 30 3051 0298: MOVLW 30
3061 0121: SUBWF 28,F 3052 0299: SUBWF 28,F
3062 .................... odp[3]=odp[3] - '0'; 3053 .................... odp[3]=odp[3] - '0';
3063 0122: SUBWF 29,F 3054 029A: SUBWF 29,F
3064 .................... if(odp[2]>9) odp[2]=odp[2]-7; 3055 .................... if(odp[2]>9) odp[2]=odp[2]-7;
3065 0123: MOVF 28,W 3056 029B: MOVF 28,W
3066 0124: SUBLW 09 3057 029C: SUBLW 09
3067 0125: BTFSC 03.0 3058 029D: BTFSC 03.0
3068 0126: GOTO 129 3059 029E: GOTO 2A1
3069 0127: MOVLW 07 3060 029F: MOVLW 07
3070 0128: SUBWF 28,F 3061 02A0: SUBWF 28,F
3071 .................... if(odp[3]>9) odp[3]=odp[3]-7; 3062 .................... if(odp[3]>9) odp[3]=odp[3]-7;
3072 0129: MOVF 29,W 3063 02A1: MOVF 29,W
3073 012A: SUBLW 09 3064 02A2: SUBLW 09
3074 012B: BTFSC 03.0 3065 02A3: BTFSC 03.0
3075 012C: GOTO 12F 3066 02A4: GOTO 2A7
3076 012D: MOVLW 07 3067 02A5: MOVLW 07
3077 012E: SUBWF 29,F 3068 02A6: SUBWF 29,F
3078 .................... odp[2]=odp[2] << 4; 3069 .................... odp[2]=odp[2] << 4;
3079 012F: SWAPF 28,F 3070 02A7: SWAPF 28,F
3080 0130: MOVLW F0 3071 02A8: MOVLW F0
3081 0131: ANDWF 28,F 3072 02A9: ANDWF 28,F
3082 .................... odp[2] |= odp[3]; 3073 .................... odp[2] |= odp[3];
3083 0132: MOVF 29,W 3074 02AA: MOVF 29,W
3084 0133: IORWF 28,F 3075 02AB: IORWF 28,F
3085 .................... 3076 ....................
3086 .................... if(odp[4]==0) odp[5]='0'; 3077 .................... if(odp[4]==0) odp[5]='0';
3087 0134: MOVF 2A,F 3078 02AC: MOVF 2A,F
3088 0135: BTFSS 03.2 3079 02AD: BTFSS 03.2
3089 0136: GOTO 139 3080 02AE: GOTO 2B1
3090 0137: MOVLW 30 3081 02AF: MOVLW 30
3091 0138: MOVWF 2B 3082 02B0: MOVWF 2B
3092 .................... odp[4]=odp[4] - '0'; 3083 .................... odp[4]=odp[4] - '0';
3093 0139: MOVLW 30 3084 02B1: MOVLW 30
3094 013A: SUBWF 2A,F 3085 02B2: SUBWF 2A,F
3095 .................... odp[5]=odp[5] - '0'; 3086 .................... odp[5]=odp[5] - '0';
3096 013B: SUBWF 2B,F 3087 02B3: SUBWF 2B,F
3097 .................... if(odp[4]>9) odp[4]=odp[4]-7; 3088 .................... if(odp[4]>9) odp[4]=odp[4]-7;
3098 013C: MOVF 2A,W 3089 02B4: MOVF 2A,W
3099 013D: SUBLW 09 3090 02B5: SUBLW 09
3100 013E: BTFSC 03.0 3091 02B6: BTFSC 03.0
3101 013F: GOTO 142 3092 02B7: GOTO 2BA
3102 0140: MOVLW 07 3093 02B8: MOVLW 07
3103 0141: SUBWF 2A,F 3094 02B9: SUBWF 2A,F
3104 .................... if(odp[5]>9) odp[5]=odp[5]-7; 3095 .................... if(odp[5]>9) odp[5]=odp[5]-7;
3105 0142: MOVF 2B,W 3096 02BA: MOVF 2B,W
3106 0143: SUBLW 09 3097 02BB: SUBLW 09
3107 0144: BTFSC 03.0 3098 02BC: BTFSC 03.0
3108 0145: GOTO 148 3099 02BD: GOTO 2C0
3109 0146: MOVLW 07 3100 02BE: MOVLW 07
3110 0147: SUBWF 2B,F 3101 02BF: SUBWF 2B,F
3111 .................... odp[4]=odp[4] << 4; 3102 .................... odp[4]=odp[4] << 4;
3112 0148: SWAPF 2A,F 3103 02C0: SWAPF 2A,F
3113 0149: MOVLW F0 3104 02C1: MOVLW F0
3114 014A: ANDWF 2A,F 3105 02C2: ANDWF 2A,F
3115 .................... odp[4] |= odp[5]; 3106 .................... odp[4] |= odp[5];
3116 014B: MOVF 2B,W 3107 02C3: MOVF 2B,W
3117 014C: IORWF 2A,F 3108 02C4: IORWF 2A,F
3118 .................... 3109 ....................
3119 .................... if(odp[6]==0) odp[7]='0'; 3110 .................... if(odp[6]==0) odp[7]='0';
3120 014D: MOVF 2C,F 3111 02C5: MOVF 2C,F
3121 014E: BTFSS 03.2 3112 02C6: BTFSS 03.2
3122 014F: GOTO 152 3113 02C7: GOTO 2CA
3123 0150: MOVLW 30 3114 02C8: MOVLW 30
3124 0151: MOVWF 2D 3115 02C9: MOVWF 2D
3125 .................... odp[6]=odp[6] - '0'; 3116 .................... odp[6]=odp[6] - '0';
3126 0152: MOVLW 30 3117 02CA: MOVLW 30
3127 0153: SUBWF 2C,F 3118 02CB: SUBWF 2C,F
3128 .................... odp[7]=odp[7] - '0'; 3119 .................... odp[7]=odp[7] - '0';
3129 0154: SUBWF 2D,F 3120 02CC: SUBWF 2D,F
3130 .................... if(odp[6]>9) odp[6]=odp[6]-7; 3121 .................... if(odp[6]>9) odp[6]=odp[6]-7;
3131 0155: MOVF 2C,W 3122 02CD: MOVF 2C,W
3132 0156: SUBLW 09 3123 02CE: SUBLW 09
3133 0157: BTFSC 03.0 3124 02CF: BTFSC 03.0
3134 0158: GOTO 15B 3125 02D0: GOTO 2D3
3135 0159: MOVLW 07 3126 02D1: MOVLW 07
3136 015A: SUBWF 2C,F 3127 02D2: SUBWF 2C,F
3137 .................... if(odp[7]>9) odp[7]=odp[7]-7; 3128 .................... if(odp[7]>9) odp[7]=odp[7]-7;
3138 015B: MOVF 2D,W 3129 02D3: MOVF 2D,W
3139 015C: SUBLW 09 3130 02D4: SUBLW 09
3140 015D: BTFSC 03.0 3131 02D5: BTFSC 03.0
3141 015E: GOTO 161 3132 02D6: GOTO 2D9
3142 015F: MOVLW 07 3133 02D7: MOVLW 07
3143 0160: SUBWF 2D,F 3134 02D8: SUBWF 2D,F
3144 .................... odp[6]=odp[6] << 4; 3135 .................... odp[6]=odp[6] << 4;
3145 0161: SWAPF 2C,F 3136 02D9: SWAPF 2C,F
3146 0162: MOVLW F0 3137 02DA: MOVLW F0
3147 0163: ANDWF 2C,F 3138 02DB: ANDWF 2C,F
3148 .................... odp[6] |= odp[7]; 3139 .................... odp[6] |= odp[7];
3149 0164: MOVF 2D,W 3140 02DC: MOVF 2D,W
3150 0165: IORWF 2C,F 3141 02DD: IORWF 2C,F
3151 .................... 3142 ....................
3152 .................... odp[1]=odp[2]; 3143 .................... odp[1]=odp[2];
3153 0166: MOVF 28,W 3144 02DE: MOVF 28,W
3154 0167: MOVWF 27 3145 02DF: MOVWF 27
3155 .................... odp[2]=odp[4]; 3146 .................... odp[2]=odp[4];
3156 0168: MOVF 2A,W 3147 02E0: MOVF 2A,W
3157 0169: MOVWF 28 3148 02E1: MOVWF 28
3158 .................... odp[3]=odp[6]; 3149 .................... odp[3]=odp[6];
3159 016A: MOVF 2C,W 3150 02E2: MOVF 2C,W
3160 016B: MOVWF 29 3151 02E3: MOVWF 29
3161 .................... odp[4]=odp[5]=odp[6]=0; 3152 .................... odp[4]=odp[5]=odp[6]=0;
3162 016C: CLRF 2C 3153 02E4: CLRF 2C
3163 016D: MOVF 2C,W 3154 02E5: MOVF 2C,W
3164 016E: MOVWF 2B 3155 02E6: MOVWF 2B
3165 016F: MOVWF 2A 3156 02E7: MOVWF 2A
3166 .................... 3157 ....................
3167 .................... /*lcd_gotoxy(1,2); 3158 .................... /*lcd_gotoxy(1,2);
3168 .................... printf(lcd_putc,"%u %u %u %u",odp[0],odp[1],odp[2]odp[3]); */ 3159 .................... printf(lcd_putc,"%u %u %u %u",odp[0],odp[1],odp[2]odp[3]); */
3169 .................... 3160 ....................
3170 .................... pom3=0; 3161 .................... pom3=0;
3171 0170: CLRF 53 3162 02E8: CLRF 53
3172 .................... for (pom = 0; pom < 4;pom++) 3163 .................... for (pom = 0; pom < 4;pom++)
3173 0171: CLRF 51 3164 02E9: CLRF 51
3174 0172: MOVF 51,W 3165 02EA: MOVF 51,W
3175 0173: SUBLW 03 3166 02EB: SUBLW 03
3176 0174: BTFSS 03.0 3167 02EC: BTFSS 03.0
3177 0175: GOTO 1C9 3168 02ED: GOTO 341
3178 .................... { 3169 .................... {
3179 .................... maskovadlo = maskovadlo >> 1; //rotace promene urcene pro maskovani 3170 .................... maskovadlo = maskovadlo >> 1; //rotace promene urcene pro maskovani
3180 0176: BCF 03.0 3171 02EE: BCF 03.0
3181 0177: RRF 56,F 3172 02EF: RRF 56,F
3182 .................... maskovadlo = maskovadlo | 0x80; 3173 .................... maskovadlo = maskovadlo | 0x80;
3183 0178: BSF 56.7 3174 02F0: BSF 56.7
3184 .................... odkl = odp[pom] & maskovadlo; //odlozeni "prenosu" do odkl pomoci maskovadla 3175 .................... odkl = odp[pom] & maskovadlo; //odlozeni "prenosu" do odkl pomoci maskovadla
3185 0179: MOVLW 26 3176 02F1: MOVLW 26
3186 017A: ADDWF 51,W 3177 02F2: ADDWF 51,W
3187 017B: MOVWF 04 3178 02F3: MOVWF 04
3188 017C: MOVF 00,W 3179 02F4: MOVF 00,W
3189 017D: ANDWF 56,W 3180 02F5: ANDWF 56,W
3190 017E: MOVWF 54 3181 02F6: MOVWF 54
3191 .................... odp[pom] = odp[pom] << pom3; //rotace znaku 3182 .................... odp[pom] = odp[pom] << pom3; //rotace znaku
3192 017F: MOVLW 26 3183 02F7: MOVLW 26
3193 0180: ADDWF 51,W 3184 02F8: ADDWF 51,W
3194 0181: MOVWF 57 3185 02F9: MOVWF 57
3195 0182: MOVLW 26 3186 02FA: MOVLW 26
3196 0183: ADDWF 51,W 3187 02FB: ADDWF 51,W
3197 0184: MOVWF 04 3188 02FC: MOVWF 04
3198 0185: MOVF 00,W 3189 02FD: MOVF 00,W
3199 0186: MOVWF 77 3190 02FE: MOVWF 77
3200 0187: MOVF 53,W 3191 02FF: MOVF 53,W
3201 0188: MOVWF 78 3192 0300: MOVWF 78
3202 0189: BTFSC 03.2 3193 0301: BTFSC 03.2
3203 018A: GOTO 18F 3194 0302: GOTO 307
3204 018B: BCF 03.0 3195 0303: BCF 03.0
3205 018C: RLF 77,F 3196 0304: RLF 77,F
3206 018D: DECFSZ 78,F 3197 0305: DECFSZ 78,F
3207 018E: GOTO 18B 3198 0306: GOTO 303
3208 018F: MOVF 57,W 3199 0307: MOVF 57,W
3209 0190: MOVWF 04 3200 0308: MOVWF 04
3210 0191: MOVF 77,W 3201 0309: MOVF 77,W
3211 0192: MOVWF 00 3202 030A: MOVWF 00
3212 .................... for (pom2 = 0; pom2 < (8-pom3);pom2++) //rotace odkl2 3203 .................... for (pom2 = 0; pom2 < (8-pom3);pom2++) //rotace odkl2
3213 0193: CLRF 52 3204 030B: CLRF 52
3214 0194: MOVF 53,W 3205 030C: MOVF 53,W
3215 0195: SUBLW 08 3206 030D: SUBLW 08
3216 0196: SUBWF 52,W 3207 030E: SUBWF 52,W
3217 0197: BTFSC 03.0 3208 030F: BTFSC 03.0
3218 0198: GOTO 19E 3209 0310: GOTO 316
3219 .................... { 3210 .................... {
3220 .................... odkl2 = odkl2 >> 1; 3211 .................... odkl2 = odkl2 >> 1;
3221 0199: BCF 03.0 3212 0311: BCF 03.0
3222 019A: RRF 55,F 3213 0312: RRF 55,F
3223 .................... odkl2 = odkl2 & 127; 3214 .................... odkl2 = odkl2 & 127;
3224 019B: BCF 55.7 3215 0313: BCF 55.7
3225 .................... } 3216 .................... }
3226 019C: INCF 52,F 3217 0314: INCF 52,F
3227 019D: GOTO 194 3218 0315: GOTO 30C
3228 .................... odp[pom] = odp[pom] | odkl2; //pridani odkl2 ke znaku 3219 .................... odp[pom] = odp[pom] | odkl2; //pridani odkl2 ke znaku
3229 019E: MOVLW 26 3220 0316: MOVLW 26
3230 019F: ADDWF 51,W 3221 0317: ADDWF 51,W
3231 01A0: MOVWF 57 3222 0318: MOVWF 57
3232 01A1: MOVLW 26 3223 0319: MOVLW 26
3233 01A2: ADDWF 51,W 3224 031A: ADDWF 51,W
3234 01A3: MOVWF 04 3225 031B: MOVWF 04
3235 01A4: MOVF 00,W 3226 031C: MOVF 00,W
3236 01A5: IORWF 55,W 3227 031D: IORWF 55,W
3237 01A6: MOVWF 59 3228 031E: MOVWF 59
3238 01A7: MOVF 57,W 3229 031F: MOVF 57,W
3239 01A8: MOVWF 04 3230 0320: MOVWF 04
3240 01A9: MOVF 59,W 3231 0321: MOVF 59,W
3241 01AA: MOVWF 00 3232 0322: MOVWF 00
3242 .................... odp[pom] = odp[pom] & 127; //smazani nejvysiho bitu 3233 .................... odp[pom] = odp[pom] & 127; //smazani nejvysiho bitu
3243 01AB: MOVLW 26 3234 0323: MOVLW 26
3244 01AC: ADDWF 51,W 3235 0324: ADDWF 51,W
3245 01AD: MOVWF 57 3236 0325: MOVWF 57
3246 01AE: MOVLW 26 3237 0326: MOVLW 26
3247 01AF: ADDWF 51,W 3238 0327: ADDWF 51,W
3248 01B0: MOVWF 04 3239 0328: MOVWF 04
3249 01B1: MOVF 00,W 3240 0329: MOVF 00,W
3250 01B2: ANDLW 7F 3241 032A: ANDLW 7F
3251 01B3: MOVWF 59 3242 032B: MOVWF 59
3252 01B4: MOVF 57,W 3243 032C: MOVF 57,W
3253 01B5: MOVWF 04 3244 032D: MOVWF 04
3254 01B6: MOVF 59,W 3245 032E: MOVF 59,W
3255 01B7: MOVWF 00 3246 032F: MOVWF 00
3256 .................... odkl2 = odkl; //ulozeni odlk na dalsi pruchod 3247 .................... odkl2 = odkl; //ulozeni odlk na dalsi pruchod
3257 01B8: MOVF 54,W 3248 0330: MOVF 54,W
3258 01B9: MOVWF 55 3249 0331: MOVWF 55
3259 .................... pom3++; //inkrementace citace rotace 3250 .................... pom3++; //inkrementace citace rotace
3260 01BA: INCF 53,F 3251 0332: INCF 53,F
3261 .................... if (pom3 == 8) //kazdy 8my znak 3252 .................... if (pom3 == 8) //kazdy 8my znak
3262 01BB: MOVF 53,W 3253 0333: MOVF 53,W
3263 01BC: SUBLW 08 3254 0334: SUBLW 08
3264 01BD: BTFSS 03.2 3255 0335: BTFSS 03.2
3265 01BE: GOTO 1C7 3256 0336: GOTO 33F
3266 .................... { 3257 .................... {
3267 .................... pom3 = 0; //smaz citac 3258 .................... pom3 = 0; //smaz citac
3268 01BF: CLRF 53 3259 0337: CLRF 53
3269 .................... odp[pom+1] = odkl2; //uloz 8my znak vznikly z "prenosu" 3260 .................... odp[pom+1] = odkl2; //uloz 8my znak vznikly z "prenosu"
3270 01C0: MOVLW 01 3261 0338: MOVLW 01
3271 01C1: ADDWF 51,W 3262 0339: ADDWF 51,W
3272 01C2: ADDLW 26 3263 033A: ADDLW 26
3273 01C3: MOVWF 04 3264 033B: MOVWF 04
3274 01C4: MOVF 55,W 3265 033C: MOVF 55,W
3275 01C5: MOVWF 00 3266 033D: MOVWF 00
3276 .................... maskovadlo = 0; //smaz maskovadlo 3267 .................... maskovadlo = 0; //smaz maskovadlo
3277 01C6: CLRF 56 3268 033E: CLRF 56
3278 .................... } 3269 .................... }
3279 .................... } 3270 .................... }
3280 01C7: INCF 51,F 3271 033F: INCF 51,F
3281 01C8: GOTO 172 3272 0340: GOTO 2EA
3282 .................... odp[pom]='\0'; 3273 .................... odp[pom]='\0';
3283 01C9: MOVLW 26 3274 0341: MOVLW 26
3284 01CA: ADDWF 51,W 3275 0342: ADDWF 51,W
3285 01CB: MOVWF 04 3276 0343: MOVWF 04
3286 01CC: CLRF 00 3277 0344: CLRF 00
3287 .................... } 3278 .................... }
3288 01CD: BCF 0A.3 3279 0345: BSF 0A.3
3289 01CE: BCF 0A.4 3280 0346: BCF 0A.4
3290 01CF: GOTO 47A (RETURN) 3281 0347: GOTO 0B1 (RETURN)
3291 .................... 3282 ....................
3292 .................... void read_time() 3283 .................... void read_time()
3293 .................... { 3284 .................... {
3294 .................... unsigned int8 n; 3285 .................... unsigned int8 n;
3295 .................... 3286 ....................
3296 .................... 3287 ....................
3297 .................... fprintf(MOBIL,"AT+CCLK?\r"); 3288 .................... fprintf(MOBIL,"AT+CCLK?\r");
3298 * 3289 *
3299 01FC: CLRF 52 3290 037F: CLRF 52
3300 01FD: MOVF 52,W 3291 0380: MOVF 52,W
3301 01FE: CALL 013 3292 0381: CALL 013
3302 01FF: IORLW 00 3293 0382: IORLW 00
3303 0200: BTFSC 03.2 3294 0383: BTFSC 03.2
3304 0201: GOTO 206 3295 0384: GOTO 389
3305 0202: INCF 52,F 3296 0385: INCF 52,F
3306 0203: MOVWF 53 3297 0386: MOVWF 53
3307 0204: CALL 064 3298 0387: CALL 1DE
3308 0205: GOTO 1FD 3299 0388: GOTO 380
3309 .................... while(fgetc(MOBIL)!='"'); 3300 .................... while(fgetc(MOBIL)!='"');
3310 0206: CALL 08C 3301 0389: CALL 206
3311 0207: MOVF 78,W 3302 038A: MOVF 78,W
3312 0208: SUBLW 22 3303 038B: SUBLW 22
3313 0209: BTFSS 03.2 3304 038C: BTFSS 03.2
3314 020A: GOTO 206 3305 038D: GOTO 389
3315 .................... for(n=0;n<12;n++) //preskoc nedulezite informace 3306 .................... for(n=0;n<12;n++) //preskoc nedulezite informace
3316 020B: CLRF 51 3307 038E: CLRF 51
3317 020C: MOVF 51,W 3308 038F: MOVF 51,W
3318 020D: SUBLW 0B 3309 0390: SUBLW 0B
3319 020E: BTFSS 03.0 3310 0391: BTFSS 03.0
3320 020F: GOTO 213 3311 0392: GOTO 396
3321 .................... { 3312 .................... {
3322 .................... fgetc(MOBIL); 3313 .................... fgetc(MOBIL);
3323 0210: CALL 08C 3314 0393: CALL 206
3324 .................... } 3315 .................... }
3325 0211: INCF 51,F 3316 0394: INCF 51,F
3326 0212: GOTO 20C 3317 0395: GOTO 38F
3327 .................... odp[0]=fgetc(MOBIL); 3318 .................... odp[0]=fgetc(MOBIL);
3328 0213: CALL 08C 3319 0396: CALL 206
3329 0214: MOVF 78,W 3320 0397: MOVF 78,W
3330 0215: MOVWF 26 3321 0398: MOVWF 26
3331 .................... odp[1]=fgetc(MOBIL); 3322 .................... odp[1]=fgetc(MOBIL);
3332 0216: CALL 08C 3323 0399: CALL 206
3333 0217: MOVF 78,W 3324 039A: MOVF 78,W
3334 0218: MOVWF 27 3325 039B: MOVWF 27
3335 .................... odp[2]=0; 3326 .................... odp[2]=0;
3336 0219: CLRF 28 3327 039C: CLRF 28
3337 .................... } 3328 .................... }
3338 021A: BCF 0A.3 3329 039D: BSF 0A.3
3339 021B: BCF 0A.4 3330 039E: BCF 0A.4
3340 021C: GOTO 4F8 (RETURN) 3331 039F: GOTO 4FA (RETURN)
3341 .................... 3332 ....................
3342 .................... void del_sms() 3333 .................... void del_sms()
3343 .................... { 3334 .................... {
3344 .................... fprintf(MOBIL,"AT+CMGD=1\r"); //smaz prijatou SMSku 3335 .................... fprintf(MOBIL,"AT+CMGD=1\r"); //smaz prijatou SMSku
-   3336 *
-   3337 0374: CLRF 51
-   3338 0375: MOVF 51,W
-   3339 0376: CALL 021
-   3340 0377: IORLW 00
-   3341 0378: BTFSC 03.2
-   3342 0379: GOTO 37E
-   3343 037A: INCF 51,F
-   3344 037B: MOVWF 53
-   3345 037C: CALL 1DE
-   3346 037D: GOTO 375
3345 .................... } 3347 .................... }
-   3348 037E: RETLW 00
3346 .................... 3349 ....................
3347 .................... void main() 3350 .................... void main()
3348 .................... { 3351 .................... {
3349 * 3352 *
3350 03D5: CLRF 04 3353 0800: CLRF 04
3351 03D6: MOVLW 1F 3354 0801: MOVLW 1F
3352 03D7: ANDWF 03,F 3355 0802: ANDWF 03,F
3353 03D8: BCF 20.6 3356 0803: BCF 20.6
3354 03D9: MOVF 20,W 3357 0804: MOVF 20,W
3355 03DA: BSF 03.5 3358 0805: BSF 03.5
3356 03DB: MOVWF 07 3359 0806: MOVWF 07
3357 03DC: BCF 03.5 3360 0807: BCF 03.5
3358 03DD: BSF 07.6 3361 0808: BSF 07.6
3359 03DE: BSF 03.5 3362 0809: BSF 03.5
3360 03DF: BCF 06.2 3363 080A: BCF 06.2
3361 03E0: BCF 03.5 3364 080B: BCF 03.5
3362 03E1: BSF 06.2 3365 080C: BSF 06.2
3363 03E2: BSF 03.5 3366 080D: BSF 03.5
3364 03E3: BSF 1F.0 3367 080E: BSF 1F.0
3365 03E4: BSF 1F.1 3368 080F: BSF 1F.1
3366 03E5: BSF 1F.2 3369 0810: BSF 1F.2
3367 03E6: BCF 1F.3 3370 0811: BCF 1F.3
3368 03E7: MOVLW 07 3371 0812: MOVLW 07
3369 03E8: MOVWF 1C 3372 0813: MOVWF 1C
3370 .................... setup_adc_ports(NO_ANALOGS); 3373 .................... setup_adc_ports(NO_ANALOGS);
3371 * 3374 *
3372 03F2: BSF 03.5 3375 081D: BSF 03.5
3373 03F3: BSF 1F.0 3376 081E: BSF 1F.0
3374 03F4: BSF 1F.1 3377 081F: BSF 1F.1
3375 03F5: BSF 1F.2 3378 0820: BSF 1F.2
3376 03F6: BCF 1F.3 3379 0821: BCF 1F.3
3377 .................... setup_adc(ADC_OFF); 3380 .................... setup_adc(ADC_OFF);
3378 03F7: BCF 03.5 3381 0822: BCF 03.5
3379 03F8: BCF 1F.0 3382 0823: BCF 1F.0
3380 .................... setup_spi(SPI_SS_DISABLED); 3383 .................... setup_spi(SPI_SS_DISABLED);
3381 03F9: BCF 14.5 3384 0824: BCF 14.5
3382 03FA: BCF 20.5 3385 0825: BCF 20.5
3383 03FB: MOVF 20,W 3386 0826: MOVF 20,W
3384 03FC: BSF 03.5 3387 0827: BSF 03.5
3385 03FD: MOVWF 07 3388 0828: MOVWF 07
3386 03FE: BCF 03.5 3389 0829: BCF 03.5
3387 03FF: BSF 20.4 3390 082A: BSF 20.4
3388 0400: MOVF 20,W 3391 082B: MOVF 20,W
3389 0401: BSF 03.5 3392 082C: BSF 03.5
3390 0402: MOVWF 07 3393 082D: MOVWF 07
3391 0403: BCF 03.5 3394 082E: BCF 03.5
3392 0404: BCF 20.3 3395 082F: BCF 20.3
3393 0405: MOVF 20,W 3396 0830: MOVF 20,W
3394 0406: BSF 03.5 3397 0831: BSF 03.5
3395 0407: MOVWF 07 3398 0832: MOVWF 07
3396 0408: MOVLW 01 3399 0833: MOVLW 01
3397 0409: BCF 03.5 3400 0834: BCF 03.5
3398 040A: MOVWF 14 3401 0835: MOVWF 14
3399 040B: MOVLW 00 3402 0836: MOVLW 00
3400 040C: BSF 03.5 3403 0837: BSF 03.5
3401 040D: MOVWF 14 3404 0838: MOVWF 14
3402 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1); 3405 .................... setup_timer_0(RTCC_INTERNAL|RTCC_DIV_1);
3403 040E: MOVF 01,W 3406 0839: MOVF 01,W
3404 040F: ANDLW C7 3407 083A: ANDLW C7
3405 0410: IORLW 08 3408 083B: IORLW 08
3406 0411: MOVWF 01 3409 083C: MOVWF 01
3407 .................... setup_timer_1(T1_DISABLED); 3410 .................... setup_timer_1(T1_DISABLED);
3408 0412: BCF 03.5 3411 083D: BCF 03.5
3409 0413: CLRF 10 3412 083E: CLRF 10
3410 .................... setup_timer_2(T2_DIV_BY_4,255,1); 3413 .................... setup_timer_2(T2_DIV_BY_4,255,1);
3411 0414: MOVLW 00 3414 083F: MOVLW 00
3412 0415: MOVWF 78 3415 0840: MOVWF 78
3413 0416: IORLW 05 3416 0841: IORLW 05
3414 0417: MOVWF 12 3417 0842: MOVWF 12
3415 0418: MOVLW FF 3418 0843: MOVLW FF
3416 0419: BSF 03.5 3419 0844: BSF 03.5
3417 041A: MOVWF 12 3420 0845: MOVWF 12
3418 .................... setup_ccp1(CCP_PWM); 3421 .................... setup_ccp1(CCP_PWM);
3419 041B: BCF 03.5 3422 0846: BCF 03.5
3420 041C: BCF 20.2 3423 0847: BCF 20.2
3421 041D: MOVF 20,W 3424 0848: MOVF 20,W
3422 041E: BSF 03.5 3425 0849: BSF 03.5
3423 041F: MOVWF 07 3426 084A: MOVWF 07
3424 0420: BCF 03.5 3427 084B: BCF 03.5
3425 0421: BCF 07.2 3428 084C: BCF 07.2
3426 0422: MOVLW 0C 3429 084D: MOVLW 0C
3427 0423: MOVWF 17 3430 084E: MOVWF 17
3428 .................... setup_ccp2(CCP_PWM); 3431 .................... setup_ccp2(CCP_PWM);
3429 0424: BCF 20.1 3432 084F: BCF 20.1
3430 0425: MOVF 20,W 3433 0850: MOVF 20,W
3431 0426: BSF 03.5 3434 0851: BSF 03.5
3432 0427: MOVWF 07 3435 0852: MOVWF 07
3433 0428: BCF 03.5 3436 0853: BCF 03.5
3434 0429: BCF 07.1 3437 0854: BCF 07.1
3435 042A: MOVLW 0C 3438 0855: MOVLW 0C
3436 042B: MOVWF 1D 3439 0856: MOVWF 1D
3437 .................... setup_comparator(NC_NC_NC_NC); 3440 .................... setup_comparator(NC_NC_NC_NC);
3438 042C: MOVLW 07 3441 0857: MOVLW 07
3439 042D: BSF 03.5 3442 0858: BSF 03.5
3440 042E: MOVWF 1C 3443 0859: MOVWF 1C
3441 042F: MOVF 05,W 3444 085A: MOVF 05,W
3442 0430: CLRWDT 3445 085B: CLRWDT
3443 0431: MOVLW 0E 3446 085C: MOVLW 0E
3444 0432: MOVWF 77 3447 085D: MOVWF 77
3445 0433: DECFSZ 77,F 3448 085E: DECFSZ 77,F
3446 0434: GOTO 433 3449 085F: GOTO 05E
3447 0435: NOP 3450 0860: NOP
3448 0436: NOP 3451 0861: NOP
3449 0437: MOVF 1C,W 3452 0862: MOVF 1C,W
3450 0438: BCF 03.5 3453 0863: BCF 03.5
3451 0439: BCF 0D.6 3454 0864: BCF 0D.6
3452 .................... setup_vref(FALSE); 3455 .................... setup_vref(FALSE);
3453 043A: BSF 03.5 3456 0865: BSF 03.5
3454 043B: CLRF 1D 3457 0866: CLRF 1D
3455 .................... setup_wdt(WDT_2304MS); 3458 .................... setup_wdt(WDT_2304MS);
3456 043C: MOVLW 0F 3459 0867: MOVLW 0F
3457 043D: MOVWF 77 3460 0868: MOVWF 77
3458 043E: MOVLW 07 3461 0869: MOVLW 07
3459 043F: BCF 03.5 3462 086A: BCF 03.5
3460 0440: CLRF 01 3463 086B: CLRF 01
3461 0441: MOVLW 81 3464 086C: MOVLW 81
3462 0442: MOVWF 04 3465 086D: MOVWF 04
3463 0443: MOVF 00,W 3466 086E: MOVF 00,W
3464 0444: ANDLW F0 3467 086F: ANDLW F0
3465 0445: IORLW 07 3468 0870: IORLW 07
3466 0446: MOVWF 00 3469 0871: MOVWF 00
3467 0447: CLRWDT 3470 0872: CLRWDT
3468 0448: MOVF 00,W 3471 0873: MOVF 00,W
3469 0449: ANDLW F7 3472 0874: ANDLW F7
3470 044A: BTFSC 77.3 3473 0875: BTFSC 77.3
3471 044B: ANDLW F0 3474 0876: ANDLW F0
3472 044C: IORWF 77,W 3475 0877: IORWF 77,W
3473 044D: MOVWF 00 3476 0878: MOVWF 00
3474 .................... 3477 ....................
3475 .................... set_pwm1_duty(0); 3478 .................... set_pwm1_duty(0);
3476 044E: CLRF 15 3479 0879: CLRF 15
3477 .................... set_pwm2_duty(0); 3480 .................... set_pwm2_duty(0);
3478 044F: CLRF 1B 3481 087A: CLRF 1B
3479 .................... 3482 ....................
3480 .................... while(TRUE) 3483 .................... while(TRUE)
3481 .................... { 3484 .................... {
3482 .................... int status; 3485 .................... unsigned int8 n;
3483 .................... char *ptr; 3486 .................... char *ptr;
3484 .................... int time; 3487 .................... int time;
3485 .................... 3488 ....................
3486 .................... restart_wdt(); -  
3487 0450: CLRWDT -  
3488 .................... -  
3489 .................... output_low(PIN_A4) ; 3489 .................... output_low(PIN_A4) ;
3490 0451: BSF 03.5 3490 087B: BSF 03.5
3491 0452: BCF 05.4 3491 087C: BCF 05.4
3492 0453: BCF 03.5 3492 087D: BCF 03.5
3493 0454: BCF 05.4 3493 087E: BCF 05.4
3494 .................... delay_ms(150); 3494 .................... delay_ms(150);
3495 0455: MOVLW 96 3495 087F: MOVLW 96
3496 0456: MOVWF 52 3496 0880: MOVWF 52
-   3497 0881: BCF 0A.3
3497 0457: CALL 04E 3498 0882: CALL 1C8
-   3499 0883: BSF 0A.3
3498 .................... output_high(PIN_A4); 3500 .................... output_high(PIN_A4);
3499 0458: BSF 03.5 3501 0884: BSF 03.5
3500 0459: BCF 05.4 3502 0885: BCF 05.4
3501 045A: BCF 03.5 3503 0886: BCF 03.5
3502 045B: BSF 05.4 3504 0887: BSF 05.4
3503 .................... delay_ms(150); 3505 .................... delay_ms(150);
3504 045C: MOVLW 96 3506 0888: MOVLW 96
3505 045D: MOVWF 52 3507 0889: MOVWF 52
-   3508 088A: BCF 0A.3
3506 045E: CALL 04E 3509 088B: CALL 1C8
-   3510 088C: BSF 0A.3
3507 .................... output_low(PIN_A4) ; 3511 .................... output_low(PIN_A4) ;
3508 045F: BSF 03.5 3512 088D: BSF 03.5
3509 0460: BCF 05.4 3513 088E: BCF 05.4
3510 0461: BCF 03.5 3514 088F: BCF 03.5
3511 0462: BCF 05.4 3515 0890: BCF 05.4
3512 .................... delay_ms(150); 3516 .................... delay_ms(150);
3513 0463: MOVLW 96 3517 0891: MOVLW 96
3514 0464: MOVWF 52 3518 0892: MOVWF 52
-   3519 0893: BCF 0A.3
3515 0465: CALL 04E 3520 0894: CALL 1C8
-   3521 0895: BSF 0A.3
3516 .................... output_high(PIN_A4); 3522 .................... output_high(PIN_A4);
3517 0466: BSF 03.5 3523 0896: BSF 03.5
3518 0467: BCF 05.4 3524 0897: BCF 05.4
3519 0468: BCF 03.5 3525 0898: BCF 03.5
3520 0469: BSF 05.4 3526 0899: BSF 05.4
3521 .................... delay_ms(150); 3527 .................... delay_ms(150);
3522 046A: MOVLW 96 3528 089A: MOVLW 96
3523 046B: MOVWF 52 3529 089B: MOVWF 52
-   3530 089C: BCF 0A.3
3524 046C: CALL 04E 3531 089D: CALL 1C8
-   3532 089E: BSF 0A.3
3525 .................... 3533 ....................
3526 .................... 3534 ....................
3527 .................... if(check_new_sms()) // Je odpoved "OK"? 3535 .................... if(check_new_sms()) // Je odpoved "OK"?
-   3536 089F: BCF 0A.3
3528 046D: GOTO 0B6 3537 08A0: GOTO 22E
-   3538 08A1: BSF 0A.3
3529 046E: MOVF 78,F 3539 08A2: MOVF 78,F
3530 046F: BTFSC 03.2 3540 08A3: BTFSC 03.2
3531 0470: GOTO 479 3541 08A4: GOTO 0AF
3532 .................... { 3542 .................... {
3533 .................... // printf(lcd_putc,"736 655 250"); 3543 .................... // printf(lcd_putc,"736 655 250");
3534 .................... delay_ms(1000); 3544 .................... delay_ms(5000);
3535 0471: MOVLW 04 3545 08A5: MOVLW 14
3536 0472: MOVWF 51 3546 08A6: MOVWF 51
3537 0473: MOVLW FA 3547 08A7: MOVLW FA
3538 0474: MOVWF 52 3548 08A8: MOVWF 52
-   3549 08A9: BCF 0A.3
3539 0475: CALL 04E 3550 08AA: CALL 1C8
-   3551 08AB: BSF 0A.3
3540 0476: DECFSZ 51,F 3552 08AC: DECFSZ 51,F
3541 0477: GOTO 473 3553 08AD: GOTO 0A7
3542 .................... } 3554 .................... }
3543 .................... else 3555 .................... else
3544 0478: GOTO 4F7 3556 08AE: GOTO 4F8
3545 .................... { 3557 .................... {
3546 .................... read_sms(); 3558 .................... read_sms();
-   3559 08AF: BCF 0A.3
-   3560 08B0: GOTO 25A
-   3561 08B1: BSF 0A.3
-   3562 ....................
-   3563 .................... if (toupper(odp[0]) == 'A')
-   3564 08B2: MOVF 26,W
-   3565 08B3: SUBLW 60
-   3566 08B4: BTFSC 03.0
-   3567 08B5: GOTO 0BD
-   3568 08B6: MOVF 26,W
-   3569 08B7: SUBLW 7A
-   3570 08B8: BTFSS 03.0
-   3571 08B9: GOTO 0BD
-   3572 08BA: MOVF 26,W
-   3573 08BB: ANDLW DF
-   3574 08BC: GOTO 0BE
-   3575 08BD: MOVF 26,W
-   3576 08BE: SUBLW 41
-   3577 08BF: BTFSS 03.2
-   3578 08C0: GOTO 101
-   3579 .................... {
-   3580 .................... set_pwm1_duty(VYKON);
-   3581 08C1: MOVLW 64
-   3582 08C2: MOVWF 15
-   3583 .................... set_pwm2_duty(VYKON);
-   3584 08C3: MOVWF 1B
-   3585 .................... Delay_ms(10000);
-   3586 08C4: MOVLW 28
-   3587 08C5: MOVWF 51
-   3588 08C6: MOVLW FA
-   3589 08C7: MOVWF 52
-   3590 08C8: BCF 0A.3
-   3591 08C9: CALL 1C8
-   3592 08CA: BSF 0A.3
-   3593 08CB: DECFSZ 51,F
-   3594 08CC: GOTO 0C6
-   3595 .................... fprintf(VRTULE,"JACK[BARmk"); // "JACK BAR :)"
-   3596 08CD: CLRF 51
-   3597 08CE: MOVF 51,W
-   3598 08CF: BCF 0A.3
-   3599 08D0: CALL 030
-   3600 08D1: BSF 0A.3
-   3601 08D2: IORLW 00
-   3602 08D3: BTFSC 03.2
-   3603 08D4: GOTO 0DB
-   3604 08D5: INCF 51,F
-   3605 08D6: MOVWF 52
-   3606 08D7: BCF 0A.3
-   3607 08D8: CALL 348
-   3608 08D9: BSF 0A.3
-   3609 08DA: GOTO 0CE
-   3610 .................... Delay_ms(2000);
-   3611 08DB: MOVLW 08
-   3612 08DC: MOVWF 51
-   3613 08DD: MOVLW FA
-   3614 08DE: MOVWF 52
-   3615 08DF: BCF 0A.3
-   3616 08E0: CALL 1C8
-   3617 08E1: BSF 0A.3
-   3618 08E2: DECFSZ 51,F
-   3619 08E3: GOTO 0DD
-   3620 .................... fprintf(VRTULE,"JACK[BARmk"); // "JACK BAR :)"
-   3621 08E4: CLRF 51
-   3622 08E5: MOVF 51,W
-   3623 08E6: BCF 0A.3
-   3624 08E7: CALL 030
-   3625 08E8: BSF 0A.3
-   3626 08E9: IORLW 00
-   3627 08EA: BTFSC 03.2
-   3628 08EB: GOTO 0F2
-   3629 08EC: INCF 51,F
-   3630 08ED: MOVWF 52
-   3631 08EE: BCF 0A.3
-   3632 08EF: CALL 348
-   3633 08F0: BSF 0A.3
3547 0479: GOTO 0E2 3634 08F1: GOTO 0E5
-   3635 .................... Delay_ms(5000);
-   3636 08F2: MOVLW 14
-   3637 08F3: MOVWF 51
-   3638 08F4: MOVLW FA
-   3639 08F5: MOVWF 52
-   3640 08F6: BCF 0A.3
-   3641 08F7: CALL 1C8
-   3642 08F8: BSF 0A.3
-   3643 08F9: DECFSZ 51,F
-   3644 08FA: GOTO 0F4
-   3645 .................... set_pwm1_duty(0);
-   3646 08FB: CLRF 15
-   3647 .................... set_pwm2_duty(0);
-   3648 08FC: CLRF 1B
-   3649 .................... del_sms();
-   3650 08FD: BCF 0A.3
-   3651 08FE: CALL 374
-   3652 08FF: BSF 0A.3
-   3653 .................... break;
-   3654 0900: GOTO 532
-   3655 .................... }
3548 .................... 3656 ....................
3549 .................... /* if (odp[0] == 'A' || odp[0] == 'a') 3657 .................... if (toupper(odp[0]) == 'B')
-   3658 0901: MOVF 26,W
-   3659 0902: SUBLW 60
-   3660 0903: BTFSC 03.0
-   3661 0904: GOTO 10C
-   3662 0905: MOVF 26,W
-   3663 0906: SUBLW 7A
-   3664 0907: BTFSS 03.0
-   3665 0908: GOTO 10C
-   3666 0909: MOVF 26,W
-   3667 090A: ANDLW DF
-   3668 090B: GOTO 10D
-   3669 090C: MOVF 26,W
-   3670 090D: SUBLW 42
-   3671 090E: BTFSS 03.2
-   3672 090F: GOTO 160
3550 .................... { 3673 .................... {
3551 .................... set_pwm1_duty(500); 3674 .................... set_pwm1_duty(VYKON);
-   3675 0910: MOVLW 64
-   3676 0911: MOVWF 15
3552 .................... set_pwm2_duty(500); 3677 .................... set_pwm2_duty(VYKON);
-   3678 0912: MOVWF 1B
3553 .................... Delay_ms(10000); 3679 .................... Delay_ms(10000);
-   3680 0913: MOVLW 28
-   3681 0914: MOVWF 51
-   3682 0915: MOVLW FA
-   3683 0916: MOVWF 52
-   3684 0917: BCF 0A.3
-   3685 0918: CALL 1C8
-   3686 0919: BSF 0A.3
-   3687 091A: DECFSZ 51,F
-   3688 091B: GOTO 115
-   3689 .................... for(n=0;n<=1;n++)
-   3690 091C: CLRF 4E
-   3691 091D: MOVF 4E,W
-   3692 091E: SUBLW 01
-   3693 091F: BTFSS 03.0
-   3694 0920: GOTO 151
-   3695 .................... {
3554 .................... fprintf(VRTULE,"JACK[BARmk"); // "JACK BAR :)" 3696 .................... fprintf(VRTULE,"[ERROR[d[["); // " ERROR 3 "
-   3697 0921: CLRF 51
-   3698 0922: MOVF 51,W
-   3699 0923: BCF 0A.3
-   3700 0924: CALL 03F
-   3701 0925: BSF 0A.3
-   3702 0926: IORLW 00
-   3703 0927: BTFSC 03.2
-   3704 0928: GOTO 12F
-   3705 0929: INCF 51,F
-   3706 092A: MOVWF 52
-   3707 092B: BCF 0A.3
-   3708 092C: CALL 348
-   3709 092D: BSF 0A.3
-   3710 092E: GOTO 122
3555 .................... Delay_ms(2000); 3711 .................... Delay_ms(2000);
-   3712 092F: MOVLW 08
-   3713 0930: MOVWF 51
-   3714 0931: MOVLW FA
-   3715 0932: MOVWF 52
-   3716 0933: BCF 0A.3
-   3717 0934: CALL 1C8
-   3718 0935: BSF 0A.3
-   3719 0936: DECFSZ 51,F
-   3720 0937: GOTO 131
3556 .................... fprintf(VRTULE,"JACK[BARmk"); // "JACK BAR :)" 3721 .................... fprintf(VRTULE,"[OVERFLOW["); // " OVERFLOW "
-   3722 0938: CLRF 51
-   3723 0939: MOVF 51,W
-   3724 093A: BCF 0A.3
-   3725 093B: CALL 04E
-   3726 093C: BSF 0A.3
-   3727 093D: IORLW 00
-   3728 093E: BTFSC 03.2
-   3729 093F: GOTO 146
-   3730 0940: INCF 51,F
-   3731 0941: MOVWF 52
-   3732 0942: BCF 0A.3
-   3733 0943: CALL 348
-   3734 0944: BSF 0A.3
-   3735 0945: GOTO 139
-   3736 .................... Delay_ms(2000);
-   3737 0946: MOVLW 08
-   3738 0947: MOVWF 51
-   3739 0948: MOVLW FA
-   3740 0949: MOVWF 52
-   3741 094A: BCF 0A.3
-   3742 094B: CALL 1C8
-   3743 094C: BSF 0A.3
-   3744 094D: DECFSZ 51,F
-   3745 094E: GOTO 148
-   3746 .................... }
-   3747 094F: INCF 4E,F
-   3748 0950: GOTO 11D
3557 .................... Delay_ms(5000); 3749 .................... Delay_ms(5000);
-   3750 0951: MOVLW 14
-   3751 0952: MOVWF 51
-   3752 0953: MOVLW FA
-   3753 0954: MOVWF 52
-   3754 0955: BCF 0A.3
-   3755 0956: CALL 1C8
-   3756 0957: BSF 0A.3
-   3757 0958: DECFSZ 51,F
-   3758 0959: GOTO 153
3558 .................... set_pwm1_duty(0); 3759 .................... set_pwm1_duty(0);
-   3760 095A: CLRF 15
3559 .................... set_pwm2_duty(0); 3761 .................... set_pwm2_duty(0);
-   3762 095B: CLRF 1B
-   3763 .................... del_sms();
-   3764 095C: BCF 0A.3
-   3765 095D: CALL 374
-   3766 095E: BSF 0A.3
-   3767 .................... break;
-   3768 095F: GOTO 532
3560 .................... }*/ 3769 .................... }
3561 .................... 3770 ....................
3562 .................... /* if (odp[1] == 'h') 3771 .................... if (toupper(odp[0]) == 'C')
-   3772 0960: MOVF 26,W
-   3773 0961: SUBLW 60
-   3774 0962: BTFSC 03.0
-   3775 0963: GOTO 16B
-   3776 0964: MOVF 26,W
-   3777 0965: SUBLW 7A
-   3778 0966: BTFSS 03.0
-   3779 0967: GOTO 16B
-   3780 0968: MOVF 26,W
-   3781 0969: ANDLW DF
-   3782 096A: GOTO 16C
-   3783 096B: MOVF 26,W
-   3784 096C: SUBLW 43
-   3785 096D: BTFSS 03.2
-   3786 096E: GOTO 1D6
3563 .................... { 3787 .................... {
3564 .................... set_pwm1_duty(500); 3788 .................... set_pwm1_duty(VYKON);
-   3789 096F: MOVLW 64
-   3790 0970: MOVWF 15
3565 .................... set_pwm2_duty(500); 3791 .................... set_pwm2_duty(VYKON);
-   3792 0971: MOVWF 1B
3566 .................... Delay_ms(10000); 3793 .................... Delay_ms(10000);
-   3794 0972: MOVLW 28
-   3795 0973: MOVWF 51
-   3796 0974: MOVLW FA
-   3797 0975: MOVWF 52
-   3798 0976: BCF 0A.3
-   3799 0977: CALL 1C8
-   3800 0978: BSF 0A.3
-   3801 0979: DECFSZ 51,F
-   3802 097A: GOTO 174
-   3803 .................... for(n=0;n<=1;n++)
-   3804 097B: CLRF 4E
-   3805 097C: MOVF 4E,W
-   3806 097D: SUBLW 01
-   3807 097E: BTFSS 03.0
-   3808 097F: GOTO 1C7
-   3809 .................... {
3567 .................... fprintf(VRTULE,"[ERROR[d[["); // " ERROR 3 " 3810 .................... fprintf(VRTULE,"[ERROR[e[["); // " ERROR 4 "
-   3811 0980: CLRF 51
-   3812 0981: MOVF 51,W
-   3813 0982: BCF 0A.3
-   3814 0983: CALL 05D
-   3815 0984: BSF 0A.3
-   3816 0985: IORLW 00
-   3817 0986: BTFSC 03.2
-   3818 0987: GOTO 18E
-   3819 0988: INCF 51,F
-   3820 0989: MOVWF 52
-   3821 098A: BCF 0A.3
-   3822 098B: CALL 348
-   3823 098C: BSF 0A.3
-   3824 098D: GOTO 181
-   3825 .................... Delay_ms(2000);
-   3826 098E: MOVLW 08
-   3827 098F: MOVWF 51
-   3828 0990: MOVLW FA
-   3829 0991: MOVWF 52
-   3830 0992: BCF 0A.3
-   3831 0993: CALL 1C8
-   3832 0994: BSF 0A.3
-   3833 0995: DECFSZ 51,F
-   3834 0996: GOTO 190
-   3835 .................... fprintf(VRTULE,"[OPAKUJTE["); // " OPAKUJTE "
-   3836 0997: CLRF 51
-   3837 0998: MOVF 51,W
-   3838 0999: BCF 0A.3
-   3839 099A: CALL 06C
-   3840 099B: BSF 0A.3
-   3841 099C: IORLW 00
-   3842 099D: BTFSC 03.2
-   3843 099E: GOTO 1A5
-   3844 099F: INCF 51,F
-   3845 09A0: MOVWF 52
-   3846 09A1: BCF 0A.3
-   3847 09A2: CALL 348
-   3848 09A3: BSF 0A.3
-   3849 09A4: GOTO 198
3568 .................... Delay_ms(2000); 3850 .................... Delay_ms(2000);
-   3851 09A5: MOVLW 08
-   3852 09A6: MOVWF 51
-   3853 09A7: MOVLW FA
-   3854 09A8: MOVWF 52
-   3855 09A9: BCF 0A.3
-   3856 09AA: CALL 1C8
-   3857 09AB: BSF 0A.3
-   3858 09AC: DECFSZ 51,F
-   3859 09AD: GOTO 1A7
3569 .................... fprintf(VRTULE,"[ERROR[d[["); // " ERROR 3 " 3860 .................... fprintf(VRTULE,"[[VOLBU[[["); // " VOLBU "
-   3861 09AE: CLRF 51
-   3862 09AF: MOVF 51,W
-   3863 09B0: BCF 0A.3
-   3864 09B1: CALL 07B
-   3865 09B2: BSF 0A.3
-   3866 09B3: IORLW 00
-   3867 09B4: BTFSC 03.2
-   3868 09B5: GOTO 1BC
-   3869 09B6: INCF 51,F
-   3870 09B7: MOVWF 52
-   3871 09B8: BCF 0A.3
-   3872 09B9: CALL 348
-   3873 09BA: BSF 0A.3
-   3874 09BB: GOTO 1AF
-   3875 .................... Delay_ms(2000);
-   3876 09BC: MOVLW 08
-   3877 09BD: MOVWF 51
-   3878 09BE: MOVLW FA
-   3879 09BF: MOVWF 52
-   3880 09C0: BCF 0A.3
-   3881 09C1: CALL 1C8
-   3882 09C2: BSF 0A.3
-   3883 09C3: DECFSZ 51,F
-   3884 09C4: GOTO 1BE
-   3885 .................... }
-   3886 09C5: INCF 4E,F
-   3887 09C6: GOTO 17C
3570 .................... Delay_ms(2000); 3888 .................... Delay_ms(3000);
-   3889 09C7: MOVLW 0C
-   3890 09C8: MOVWF 51
-   3891 09C9: MOVLW FA
-   3892 09CA: MOVWF 52
-   3893 09CB: BCF 0A.3
-   3894 09CC: CALL 1C8
-   3895 09CD: BSF 0A.3
-   3896 09CE: DECFSZ 51,F
-   3897 09CF: GOTO 1C9
-   3898 .................... set_pwm1_duty(0);
-   3899 09D0: CLRF 15
-   3900 .................... set_pwm2_duty(0);
-   3901 09D1: CLRF 1B
-   3902 .................... del_sms();
-   3903 09D2: BCF 0A.3
-   3904 09D3: CALL 374
-   3905 09D4: BSF 0A.3
-   3906 .................... break;
-   3907 09D5: GOTO 532
-   3908 .................... }
-   3909 ....................
-   3910 .................... if (toupper(odp[0]) == 'D')
-   3911 09D6: MOVF 26,W
-   3912 09D7: SUBLW 60
-   3913 09D8: BTFSC 03.0
-   3914 09D9: GOTO 1E1
-   3915 09DA: MOVF 26,W
-   3916 09DB: SUBLW 7A
-   3917 09DC: BTFSS 03.0
-   3918 09DD: GOTO 1E1
-   3919 09DE: MOVF 26,W
-   3920 09DF: ANDLW DF
-   3921 09E0: GOTO 1E2
-   3922 09E1: MOVF 26,W
-   3923 09E2: SUBLW 44
-   3924 09E3: BTFSS 03.2
-   3925 09E4: GOTO 225
-   3926 .................... {
-   3927 .................... set_pwm1_duty(VYKON);
-   3928 09E5: MOVLW 64
-   3929 09E6: MOVWF 15
-   3930 .................... set_pwm2_duty(VYKON);
-   3931 09E7: MOVWF 1B
-   3932 .................... Delay_ms(10000);
-   3933 09E8: MOVLW 28
-   3934 09E9: MOVWF 51
-   3935 09EA: MOVLW FA
-   3936 09EB: MOVWF 52
-   3937 09EC: BCF 0A.3
-   3938 09ED: CALL 1C8
-   3939 09EE: BSF 0A.3
-   3940 09EF: DECFSZ 51,F
-   3941 09F0: GOTO 1EA
3571 .................... fprintf(VRTULE,"[OVERFLOW["); // " OVERFLOW " 3942 .................... fprintf(VRTULE,"[[PEACE[[["); // " PEACE "
-   3943 09F1: CLRF 51
-   3944 09F2: MOVF 51,W
-   3945 09F3: BCF 0A.3
-   3946 09F4: CALL 08A
-   3947 09F5: BSF 0A.3
-   3948 09F6: IORLW 00
-   3949 09F7: BTFSC 03.2
-   3950 09F8: GOTO 1FF
-   3951 09F9: INCF 51,F
-   3952 09FA: MOVWF 52
-   3953 09FB: BCF 0A.3
-   3954 09FC: CALL 348
-   3955 09FD: BSF 0A.3
-   3956 09FE: GOTO 1F2
3572 .................... Delay_ms(2000); 3957 .................... Delay_ms(2000);
-   3958 09FF: MOVLW 08
-   3959 0A00: MOVWF 51
-   3960 0A01: MOVLW FA
-   3961 0A02: MOVWF 52
-   3962 0A03: BCF 0A.3
-   3963 0A04: CALL 1C8
-   3964 0A05: BSF 0A.3
-   3965 0A06: DECFSZ 51,F
-   3966 0A07: GOTO 201
3573 .................... fprintf(VRTULE,"[OVERFLOW["); 3967 .................... fprintf(VRTULE,"[[PEACE[[[");
-   3968 0A08: CLRF 51
-   3969 0A09: MOVF 51,W
-   3970 0A0A: BCF 0A.3
-   3971 0A0B: CALL 08A
-   3972 0A0C: BSF 0A.3
-   3973 0A0D: IORLW 00
-   3974 0A0E: BTFSC 03.2
-   3975 0A0F: GOTO 216
-   3976 0A10: INCF 51,F
-   3977 0A11: MOVWF 52
-   3978 0A12: BCF 0A.3
-   3979 0A13: CALL 348
-   3980 0A14: BSF 0A.3
-   3981 0A15: GOTO 209
-   3982 .................... Delay_ms(3000);
-   3983 0A16: MOVLW 0C
-   3984 0A17: MOVWF 51
-   3985 0A18: MOVLW FA
-   3986 0A19: MOVWF 52
-   3987 0A1A: BCF 0A.3
-   3988 0A1B: CALL 1C8
-   3989 0A1C: BSF 0A.3
-   3990 0A1D: DECFSZ 51,F
-   3991 0A1E: GOTO 218
-   3992 .................... set_pwm1_duty(0);
-   3993 0A1F: CLRF 15
-   3994 .................... set_pwm2_duty(0);
-   3995 0A20: CLRF 1B
-   3996 .................... del_sms();
-   3997 0A21: BCF 0A.3
-   3998 0A22: CALL 374
-   3999 0A23: BSF 0A.3
-   4000 .................... break;
-   4001 0A24: GOTO 532
-   4002 .................... }
-   4003 ....................
-   4004 .................... if (toupper(odp[0]) == 'E')
-   4005 0A25: MOVF 26,W
-   4006 0A26: SUBLW 60
-   4007 0A27: BTFSC 03.0
-   4008 0A28: GOTO 230
-   4009 0A29: MOVF 26,W
-   4010 0A2A: SUBLW 7A
-   4011 0A2B: BTFSS 03.0
-   4012 0A2C: GOTO 230
-   4013 0A2D: MOVF 26,W
-   4014 0A2E: ANDLW DF
-   4015 0A2F: GOTO 231
-   4016 0A30: MOVF 26,W
-   4017 0A31: SUBLW 45
-   4018 0A32: BTFSS 03.2
-   4019 0A33: GOTO 284
-   4020 .................... {
-   4021 .................... set_pwm1_duty(VYKON);
-   4022 0A34: MOVLW 64
-   4023 0A35: MOVWF 15
-   4024 .................... set_pwm2_duty(VYKON);
-   4025 0A36: MOVWF 1B
-   4026 .................... Delay_ms(10000);
-   4027 0A37: MOVLW 28
-   4028 0A38: MOVWF 51
-   4029 0A39: MOVLW FA
-   4030 0A3A: MOVWF 52
-   4031 0A3B: BCF 0A.3
-   4032 0A3C: CALL 1C8
-   4033 0A3D: BSF 0A.3
-   4034 0A3E: DECFSZ 51,F
-   4035 0A3F: GOTO 239
-   4036 .................... for(n=0;n<=1;n++)
-   4037 0A40: CLRF 4E
-   4038 0A41: MOVF 4E,W
-   4039 0A42: SUBLW 01
-   4040 0A43: BTFSS 03.0
-   4041 0A44: GOTO 275
-   4042 .................... {
-   4043 .................... fprintf(VRTULE,"[[[MORE[[["); // " MORE "
-   4044 0A45: CLRF 51
-   4045 0A46: MOVF 51,W
-   4046 0A47: BCF 0A.3
-   4047 0A48: CALL 099
-   4048 0A49: BSF 0A.3
-   4049 0A4A: IORLW 00
-   4050 0A4B: BTFSC 03.2
-   4051 0A4C: GOTO 253
-   4052 0A4D: INCF 51,F
-   4053 0A4E: MOVWF 52
-   4054 0A4F: BCF 0A.3
-   4055 0A50: CALL 348
-   4056 0A51: BSF 0A.3
-   4057 0A52: GOTO 246
-   4058 .................... Delay_ms(2000);
-   4059 0A53: MOVLW 08
-   4060 0A54: MOVWF 51
-   4061 0A55: MOVLW FA
-   4062 0A56: MOVWF 52
-   4063 0A57: BCF 0A.3
-   4064 0A58: CALL 1C8
-   4065 0A59: BSF 0A.3
-   4066 0A5A: DECFSZ 51,F
-   4067 0A5B: GOTO 255
-   4068 .................... fprintf(VRTULE,"[[ZE[JO[[["); // " ZE JO "
-   4069 0A5C: CLRF 51
-   4070 0A5D: MOVF 51,W
-   4071 0A5E: BCF 0A.3
-   4072 0A5F: CALL 0A8
-   4073 0A60: BSF 0A.3
-   4074 0A61: IORLW 00
-   4075 0A62: BTFSC 03.2
-   4076 0A63: GOTO 26A
-   4077 0A64: INCF 51,F
-   4078 0A65: MOVWF 52
-   4079 0A66: BCF 0A.3
-   4080 0A67: CALL 348
-   4081 0A68: BSF 0A.3
-   4082 0A69: GOTO 25D
-   4083 .................... Delay_ms(2000);
-   4084 0A6A: MOVLW 08
-   4085 0A6B: MOVWF 51
-   4086 0A6C: MOVLW FA
-   4087 0A6D: MOVWF 52
-   4088 0A6E: BCF 0A.3
-   4089 0A6F: CALL 1C8
-   4090 0A70: BSF 0A.3
-   4091 0A71: DECFSZ 51,F
-   4092 0A72: GOTO 26C
-   4093 .................... }
-   4094 0A73: INCF 4E,F
-   4095 0A74: GOTO 241
3574 .................... Delay_ms(5000); 4096 .................... Delay_ms(5000);
-   4097 0A75: MOVLW 14
-   4098 0A76: MOVWF 51
-   4099 0A77: MOVLW FA
-   4100 0A78: MOVWF 52
-   4101 0A79: BCF 0A.3
-   4102 0A7A: CALL 1C8
-   4103 0A7B: BSF 0A.3
-   4104 0A7C: DECFSZ 51,F
-   4105 0A7D: GOTO 277
3575 .................... set_pwm1_duty(0); 4106 .................... set_pwm1_duty(0);
-   4107 0A7E: CLRF 15
3576 .................... set_pwm2_duty(0); 4108 .................... set_pwm2_duty(0);
-   4109 0A7F: CLRF 1B
-   4110 .................... del_sms();
-   4111 0A80: BCF 0A.3
-   4112 0A81: CALL 374
-   4113 0A82: BSF 0A.3
-   4114 .................... break;
-   4115 0A83: GOTO 532
3577 .................... }*/ 4116 .................... }
3578 .................... 4117 ....................
3579 .................... if (odp[2] == 'o') 4118 .................... if (toupper(odp[0]) == 'F')
3580 047A: MOVF 28,W 4119 0A84: MOVF 26,W
3581 047B: SUBLW 6F 4120 0A85: SUBLW 60
3582 047C: BTFSS 03.2 4121 0A86: BTFSC 03.0
3583 047D: GOTO 4F7 4122 0A87: GOTO 28F
3584 .................... { 4123 0A88: MOVF 26,W
3585 .................... set_pwm1_duty(500); 4124 0A89: SUBLW 7A
3586 047E: MOVLW 7D 4125 0A8A: BTFSS 03.0
3587 047F: MOVWF 15 4126 0A8B: GOTO 28F
3588 0480: MOVF 17,W 4127 0A8C: MOVF 26,W
3589 0481: ANDLW CF 4128 0A8D: ANDLW DF
3590 0482: MOVWF 17 4129 0A8E: GOTO 290
3591 .................... set_pwm2_duty(500); 4130 0A8F: MOVF 26,W
3592 0483: MOVLW 7D 4131 0A90: SUBLW 46
-   4132 0A91: BTFSS 03.2
3593 0484: MOVWF 1B 4133 0A92: GOTO 2E3
-   4134 .................... {
-   4135 .................... set_pwm1_duty(VYKON);
3594 0485: MOVF 1D,W 4136 0A93: MOVLW 64
3595 0486: ANDLW CF 4137 0A94: MOVWF 15
-   4138 .................... set_pwm2_duty(VYKON);
3596 0487: MOVWF 1D 4139 0A95: MOVWF 1B
3597 .................... Delay_ms(10000); 4140 .................... Delay_ms(10000);
3598 0488: MOVLW 28 4141 0A96: MOVLW 28
3599 0489: MOVWF 51 4142 0A97: MOVWF 51
3600 048A: MOVLW FA 4143 0A98: MOVLW FA
3601 048B: MOVWF 52 4144 0A99: MOVWF 52
3602 048C: CALL 04E 4145 0A9A: BCF 0A.3
3603 048D: DECFSZ 51,F 4146 0A9B: CALL 1C8
3604 048E: GOTO 48A 4147 0A9C: BSF 0A.3
3605 .................... fprintf(VRTULE,"[ERROR[e[["); // " ERROR 4 " 4148 0A9D: DECFSZ 51,F
3606 048F: CLRF 51 4149 0A9E: GOTO 298
3607 0490: MOVF 51,W 4150 .................... for(n=0;n<=1;n++)
3608 0491: CALL 021 4151 0A9F: CLRF 4E
3609 0492: IORLW 00 4152 0AA0: MOVF 4E,W
3610 0493: BTFSC 03.2 4153 0AA1: SUBLW 01
3611 0494: GOTO 499 4154 0AA2: BTFSS 03.0
3612 0495: INCF 51,F 4155 0AA3: GOTO 2D4
3613 0496: MOVWF 52 4156 .................... {
3614 0497: CALL 1D0 4157 .................... fprintf(VRTULE,"[ROZBITY[["); // " ROZBITY "
3615 0498: GOTO 490 4158 0AA4: CLRF 51
3616 .................... Delay_ms(2000); 4159 0AA5: MOVF 51,W
3617 0499: MOVLW 08 4160 0AA6: BCF 0A.3
3618 049A: MOVWF 51 4161 0AA7: CALL 0B7
3619 049B: MOVLW FA 4162 0AA8: BSF 0A.3
3620 049C: MOVWF 52 4163 0AA9: IORLW 00
3621 049D: CALL 04E 4164 0AAA: BTFSC 03.2
3622 049E: DECFSZ 51,F 4165 0AAB: GOTO 2B2
3623 049F: GOTO 49B 4166 0AAC: INCF 51,F
3624 .................... fprintf(VRTULE,"[ERROR[e[["); // " ERROR 4 " 4167 0AAD: MOVWF 52
3625 04A0: CLRF 51 4168 0AAE: BCF 0A.3
3626 04A1: MOVF 51,W 4169 0AAF: CALL 348
3627 04A2: CALL 021 4170 0AB0: BSF 0A.3
3628 04A3: IORLW 00 4171 0AB1: GOTO 2A5
3629 04A4: BTFSC 03.2 4172 .................... Delay_ms(2000);
3630 04A5: GOTO 4AA 4173 0AB2: MOVLW 08
3631 04A6: INCF 51,F 4174 0AB3: MOVWF 51
3632 04A7: MOVWF 52 4175 0AB4: MOVLW FA
3633 04A8: CALL 1D0 4176 0AB5: MOVWF 52
3634 04A9: GOTO 4A1 4177 0AB6: BCF 0A.3
3635 .................... Delay_ms(2000); 4178 0AB7: CALL 1C8
3636 04AA: MOVLW 08 4179 0AB8: BSF 0A.3
3637 04AB: MOVWF 51 4180 0AB9: DECFSZ 51,F
3638 04AC: MOVLW FA 4181 0ABA: GOTO 2B4
3639 04AD: MOVWF 52 4182 .................... fprintf(VRTULE,"[[BUDIK[[["); // " BUDIK "
3640 04AE: CALL 04E 4183 0ABB: CLRF 51
3641 04AF: DECFSZ 51,F 4184 0ABC: MOVF 51,W
3642 04B0: GOTO 4AC 4185 0ABD: BCF 0A.3
3643 .................... fprintf(VRTULE,"[OPAKUJTE["); // " OPAKUJTE " 4186 0ABE: CALL 0C6
3644 04B1: CLRF 51 4187 0ABF: BSF 0A.3
3645 04B2: MOVF 51,W 4188 0AC0: IORLW 00
3646 04B3: CALL 030 4189 0AC1: BTFSC 03.2
3647 04B4: IORLW 00 4190 0AC2: GOTO 2C9
3648 04B5: BTFSC 03.2 4191 0AC3: INCF 51,F
3649 04B6: GOTO 4BB 4192 0AC4: MOVWF 52
3650 04B7: INCF 51,F 4193 0AC5: BCF 0A.3
3651 04B8: MOVWF 52 4194 0AC6: CALL 348
3652 04B9: CALL 1D0 4195 0AC7: BSF 0A.3
3653 04BA: GOTO 4B2 4196 0AC8: GOTO 2BC
3654 .................... Delay_ms(2000); 4197 .................... Delay_ms(2000);
3655 04BB: MOVLW 08 4198 0AC9: MOVLW 08
3656 04BC: MOVWF 51 4199 0ACA: MOVWF 51
3657 04BD: MOVLW FA 4200 0ACB: MOVLW FA
3658 04BE: MOVWF 52 4201 0ACC: MOVWF 52
3659 04BF: CALL 04E 4202 0ACD: BCF 0A.3
3660 04C0: DECFSZ 51,F 4203 0ACE: CALL 1C8
3661 04C1: GOTO 4BD 4204 0ACF: BSF 0A.3
3662 .................... fprintf(VRTULE,"[OPAKUJTE["); 4205 0AD0: DECFSZ 51,F
3663 04C2: CLRF 51 4206 0AD1: GOTO 2CB
3664 04C3: MOVF 51,W 4207 .................... }
3665 04C4: CALL 030 4208 0AD2: INCF 4E,F
3666 04C5: IORLW 00 4209 0AD3: GOTO 2A0
3667 04C6: BTFSC 03.2 4210 .................... Delay_ms(5000);
3668 04C7: GOTO 4CC 4211 0AD4: MOVLW 14
3669 04C8: INCF 51,F 4212 0AD5: MOVWF 51
3670 04C9: MOVWF 52 4213 0AD6: MOVLW FA
3671 04CA: CALL 1D0 4214 0AD7: MOVWF 52
3672 04CB: GOTO 4C3 4215 0AD8: BCF 0A.3
-   4216 0AD9: CALL 1C8
-   4217 0ADA: BSF 0A.3
-   4218 0ADB: DECFSZ 51,F
-   4219 0ADC: GOTO 2D6
-   4220 .................... set_pwm1_duty(0);
-   4221 0ADD: CLRF 15
-   4222 .................... set_pwm2_duty(0);
-   4223 0ADE: CLRF 1B
-   4224 .................... del_sms();
-   4225 0ADF: BCF 0A.3
-   4226 0AE0: CALL 374
-   4227 0AE1: BSF 0A.3
-   4228 .................... break;
-   4229 0AE2: GOTO 532
-   4230 .................... }
-   4231 ....................
-   4232 .................... if (toupper(odp[0]) == 'G')
-   4233 0AE3: MOVF 26,W
-   4234 0AE4: SUBLW 60
-   4235 0AE5: BTFSC 03.0
-   4236 0AE6: GOTO 2EE
-   4237 0AE7: MOVF 26,W
-   4238 0AE8: SUBLW 7A
-   4239 0AE9: BTFSS 03.0
-   4240 0AEA: GOTO 2EE
-   4241 0AEB: MOVF 26,W
-   4242 0AEC: ANDLW DF
-   4243 0AED: GOTO 2EF
-   4244 0AEE: MOVF 26,W
-   4245 0AEF: SUBLW 47
-   4246 0AF0: BTFSS 03.2
-   4247 0AF1: GOTO 342
-   4248 .................... {
-   4249 .................... set_pwm1_duty(VYKON);
-   4250 0AF2: MOVLW 64
-   4251 0AF3: MOVWF 15
-   4252 .................... set_pwm2_duty(VYKON);
-   4253 0AF4: MOVWF 1B
-   4254 .................... Delay_ms(10000);
-   4255 0AF5: MOVLW 28
-   4256 0AF6: MOVWF 51
-   4257 0AF7: MOVLW FA
-   4258 0AF8: MOVWF 52
-   4259 0AF9: BCF 0A.3
-   4260 0AFA: CALL 1C8
-   4261 0AFB: BSF 0A.3
-   4262 0AFC: DECFSZ 51,F
-   4263 0AFD: GOTO 2F7
-   4264 .................... for(n=0;n<=1;n++)
-   4265 0AFE: CLRF 4E
-   4266 0AFF: MOVF 4E,W
-   4267 0B00: SUBLW 01
-   4268 0B01: BTFSS 03.0
-   4269 0B02: GOTO 333
-   4270 .................... {
-   4271 .................... fprintf(VRTULE,"[ZAPOJIT[["); // " ZAPOJIT "
-   4272 0B03: CLRF 51
-   4273 0B04: MOVF 51,W
-   4274 0B05: BCF 0A.3
-   4275 0B06: CALL 0D5
-   4276 0B07: BSF 0A.3
-   4277 0B08: IORLW 00
-   4278 0B09: BTFSC 03.2
-   4279 0B0A: GOTO 311
-   4280 0B0B: INCF 51,F
-   4281 0B0C: MOVWF 52
-   4282 0B0D: BCF 0A.3
-   4283 0B0E: CALL 348
-   4284 0B0F: BSF 0A.3
-   4285 0B10: GOTO 304
-   4286 .................... Delay_ms(2000);
-   4287 0B11: MOVLW 08
-   4288 0B12: MOVWF 51
-   4289 0B13: MOVLW FA
-   4290 0B14: MOVWF 52
-   4291 0B15: BCF 0A.3
-   4292 0B16: CALL 1C8
-   4293 0B17: BSF 0A.3
-   4294 0B18: DECFSZ 51,F
-   4295 0B19: GOTO 313
-   4296 .................... fprintf(VRTULE,"[ZASUVKU[["); // " ZASUVKU "
-   4297 0B1A: CLRF 51
-   4298 0B1B: MOVF 51,W
-   4299 0B1C: BCF 0A.3
-   4300 0B1D: CALL 0E4
-   4301 0B1E: BSF 0A.3
-   4302 0B1F: IORLW 00
-   4303 0B20: BTFSC 03.2
-   4304 0B21: GOTO 328
-   4305 0B22: INCF 51,F
-   4306 0B23: MOVWF 52
-   4307 0B24: BCF 0A.3
-   4308 0B25: CALL 348
-   4309 0B26: BSF 0A.3
-   4310 0B27: GOTO 31B
-   4311 .................... Delay_ms(2000);
-   4312 0B28: MOVLW 08
-   4313 0B29: MOVWF 51
-   4314 0B2A: MOVLW FA
-   4315 0B2B: MOVWF 52
-   4316 0B2C: BCF 0A.3
-   4317 0B2D: CALL 1C8
-   4318 0B2E: BSF 0A.3
-   4319 0B2F: DECFSZ 51,F
-   4320 0B30: GOTO 32A
-   4321 .................... }
-   4322 0B31: INCF 4E,F
-   4323 0B32: GOTO 2FF
-   4324 .................... Delay_ms(5000);
-   4325 0B33: MOVLW 14
-   4326 0B34: MOVWF 51
-   4327 0B35: MOVLW FA
-   4328 0B36: MOVWF 52
-   4329 0B37: BCF 0A.3
-   4330 0B38: CALL 1C8
-   4331 0B39: BSF 0A.3
-   4332 0B3A: DECFSZ 51,F
-   4333 0B3B: GOTO 335
-   4334 .................... set_pwm1_duty(0);
-   4335 0B3C: CLRF 15
-   4336 .................... set_pwm2_duty(0);
-   4337 0B3D: CLRF 1B
-   4338 .................... del_sms();
-   4339 0B3E: BCF 0A.3
-   4340 0B3F: CALL 374
-   4341 0B40: BSF 0A.3
-   4342 .................... break;
-   4343 0B41: GOTO 532
-   4344 .................... }
-   4345 ....................
-   4346 .................... if (toupper(odp[0]) == 'H')
-   4347 0B42: MOVF 26,W
-   4348 0B43: SUBLW 60
-   4349 0B44: BTFSC 03.0
-   4350 0B45: GOTO 34D
-   4351 0B46: MOVF 26,W
-   4352 0B47: SUBLW 7A
-   4353 0B48: BTFSS 03.0
-   4354 0B49: GOTO 34D
-   4355 0B4A: MOVF 26,W
-   4356 0B4B: ANDLW DF
-   4357 0B4C: GOTO 34E
-   4358 0B4D: MOVF 26,W
-   4359 0B4E: SUBLW 48
-   4360 0B4F: BTFSS 03.2
-   4361 0B50: GOTO 3FD
-   4362 .................... {
-   4363 .................... set_pwm1_duty(VYKON);
-   4364 0B51: MOVLW 64
-   4365 0B52: MOVWF 15
-   4366 .................... set_pwm2_duty(VYKON);
-   4367 0B53: MOVWF 1B
-   4368 .................... Delay_ms(10000);
-   4369 0B54: MOVLW 28
-   4370 0B55: MOVWF 51
-   4371 0B56: MOVLW FA
-   4372 0B57: MOVWF 52
-   4373 0B58: BCF 0A.3
-   4374 0B59: CALL 1C8
-   4375 0B5A: BSF 0A.3
-   4376 0B5B: DECFSZ 51,F
-   4377 0B5C: GOTO 356
-   4378 .................... for(n=0;n<=1;n++)
-   4379 0B5D: CLRF 4E
-   4380 0B5E: MOVF 4E,W
-   4381 0B5F: SUBLW 01
-   4382 0B60: BTFSS 03.0
-   4383 0B61: GOTO 3EE
-   4384 .................... {
-   4385 .................... fprintf(VRTULE,"[[MARTIN[["); // " MARTIN "
-   4386 0B62: CLRF 51
-   4387 0B63: MOVF 51,W
-   4388 0B64: BCF 0A.3
-   4389 0B65: CALL 0F3
-   4390 0B66: BSF 0A.3
-   4391 0B67: IORLW 00
-   4392 0B68: BTFSC 03.2
-   4393 0B69: GOTO 370
-   4394 0B6A: INCF 51,F
-   4395 0B6B: MOVWF 52
-   4396 0B6C: BCF 0A.3
-   4397 0B6D: CALL 348
-   4398 0B6E: BSF 0A.3
-   4399 0B6F: GOTO 363
-   4400 .................... Delay_ms(2000);
-   4401 0B70: MOVLW 08
-   4402 0B71: MOVWF 51
-   4403 0B72: MOVLW FA
-   4404 0B73: MOVWF 52
-   4405 0B74: BCF 0A.3
-   4406 0B75: CALL 1C8
-   4407 0B76: BSF 0A.3
-   4408 0B77: DECFSZ 51,F
-   4409 0B78: GOTO 372
-   4410 .................... fprintf(VRTULE,"[[SVEJDA[["); // " SVEJDA "
-   4411 0B79: CLRF 51
-   4412 0B7A: MOVF 51,W
-   4413 0B7B: BCF 0A.3
-   4414 0B7C: CALL 105
-   4415 0B7D: BSF 0A.3
-   4416 0B7E: IORLW 00
-   4417 0B7F: BTFSC 03.2
-   4418 0B80: GOTO 387
-   4419 0B81: INCF 51,F
-   4420 0B82: MOVWF 52
-   4421 0B83: BCF 0A.3
-   4422 0B84: CALL 348
-   4423 0B85: BSF 0A.3
-   4424 0B86: GOTO 37A
-   4425 .................... Delay_ms(2000);
-   4426 0B87: MOVLW 08
-   4427 0B88: MOVWF 51
-   4428 0B89: MOVLW FA
-   4429 0B8A: MOVWF 52
-   4430 0B8B: BCF 0A.3
-   4431 0B8C: CALL 1C8
-   4432 0B8D: BSF 0A.3
-   4433 0B8E: DECFSZ 51,F
-   4434 0B8F: GOTO 389
-   4435 .................... fprintf(VRTULE,"[[TOMAS[[["); // " TOMAS "
-   4436 0B90: CLRF 51
-   4437 0B91: MOVF 51,W
-   4438 0B92: BCF 0A.3
-   4439 0B93: CALL 114
-   4440 0B94: BSF 0A.3
-   4441 0B95: IORLW 00
-   4442 0B96: BTFSC 03.2
-   4443 0B97: GOTO 39E
-   4444 0B98: INCF 51,F
-   4445 0B99: MOVWF 52
-   4446 0B9A: BCF 0A.3
-   4447 0B9B: CALL 348
-   4448 0B9C: BSF 0A.3
-   4449 0B9D: GOTO 391
-   4450 .................... Delay_ms(2000);
-   4451 0B9E: MOVLW 08
-   4452 0B9F: MOVWF 51
-   4453 0BA0: MOVLW FA
-   4454 0BA1: MOVWF 52
-   4455 0BA2: BCF 0A.3
-   4456 0BA3: CALL 1C8
-   4457 0BA4: BSF 0A.3
-   4458 0BA5: DECFSZ 51,F
-   4459 0BA6: GOTO 3A0
-   4460 .................... fprintf(VRTULE,"[[[KAPL[[["); // "KAPL"
-   4461 0BA7: CLRF 51
-   4462 0BA8: MOVF 51,W
-   4463 0BA9: BCF 0A.3
-   4464 0BAA: CALL 123
-   4465 0BAB: BSF 0A.3
-   4466 0BAC: IORLW 00
-   4467 0BAD: BTFSC 03.2
-   4468 0BAE: GOTO 3B5
-   4469 0BAF: INCF 51,F
-   4470 0BB0: MOVWF 52
-   4471 0BB1: BCF 0A.3
-   4472 0BB2: CALL 348
-   4473 0BB3: BSF 0A.3
-   4474 0BB4: GOTO 3A8
-   4475 .................... Delay_ms(2000);
-   4476 0BB5: MOVLW 08
-   4477 0BB6: MOVWF 51
-   4478 0BB7: MOVLW FA
-   4479 0BB8: MOVWF 52
-   4480 0BB9: BCF 0A.3
-   4481 0BBA: CALL 1C8
-   4482 0BBB: BSF 0A.3
-   4483 0BBC: DECFSZ 51,F
-   4484 0BBD: GOTO 3B7
-   4485 .................... fprintf(VRTULE,"[[JAKUB[[["); // " JAKUB "
-   4486 0BBE: CLRF 51
-   4487 0BBF: MOVF 51,W
-   4488 0BC0: BCF 0A.3
-   4489 0BC1: CALL 132
-   4490 0BC2: BSF 0A.3
-   4491 0BC3: IORLW 00
-   4492 0BC4: BTFSC 03.2
-   4493 0BC5: GOTO 3CC
-   4494 0BC6: INCF 51,F
-   4495 0BC7: MOVWF 52
-   4496 0BC8: BCF 0A.3
-   4497 0BC9: CALL 348
-   4498 0BCA: BSF 0A.3
-   4499 0BCB: GOTO 3BF
-   4500 .................... Delay_ms(2000);
-   4501 0BCC: MOVLW 08
-   4502 0BCD: MOVWF 51
-   4503 0BCE: MOVLW FA
-   4504 0BCF: MOVWF 52
-   4505 0BD0: BCF 0A.3
-   4506 0BD1: CALL 1C8
-   4507 0BD2: BSF 0A.3
-   4508 0BD3: DECFSZ 51,F
-   4509 0BD4: GOTO 3CE
-   4510 .................... fprintf(VRTULE,"[[KAKONA[["); // "KAKONA"
-   4511 0BD5: CLRF 51
-   4512 0BD6: MOVF 51,W
-   4513 0BD7: BCF 0A.3
-   4514 0BD8: CALL 141
-   4515 0BD9: BSF 0A.3
-   4516 0BDA: IORLW 00
-   4517 0BDB: BTFSC 03.2
-   4518 0BDC: GOTO 3E3
-   4519 0BDD: INCF 51,F
-   4520 0BDE: MOVWF 52
-   4521 0BDF: BCF 0A.3
-   4522 0BE0: CALL 348
-   4523 0BE1: BSF 0A.3
-   4524 0BE2: GOTO 3D6
-   4525 .................... Delay_ms(2000);
-   4526 0BE3: MOVLW 08
-   4527 0BE4: MOVWF 51
-   4528 0BE5: MOVLW FA
-   4529 0BE6: MOVWF 52
-   4530 0BE7: BCF 0A.3
-   4531 0BE8: CALL 1C8
-   4532 0BE9: BSF 0A.3
-   4533 0BEA: DECFSZ 51,F
-   4534 0BEB: GOTO 3E5
-   4535 .................... }
-   4536 0BEC: INCF 4E,F
-   4537 0BED: GOTO 35E
-   4538 .................... Delay_ms(3000);
-   4539 0BEE: MOVLW 0C
-   4540 0BEF: MOVWF 51
-   4541 0BF0: MOVLW FA
-   4542 0BF1: MOVWF 52
-   4543 0BF2: BCF 0A.3
-   4544 0BF3: CALL 1C8
-   4545 0BF4: BSF 0A.3
-   4546 0BF5: DECFSZ 51,F
-   4547 0BF6: GOTO 3F0
-   4548 .................... set_pwm1_duty(0);
-   4549 0BF7: CLRF 15
-   4550 .................... set_pwm2_duty(0);
-   4551 0BF8: CLRF 1B
-   4552 .................... del_sms();
-   4553 0BF9: BCF 0A.3
-   4554 0BFA: CALL 374
-   4555 0BFB: BSF 0A.3
-   4556 .................... break;
-   4557 0BFC: GOTO 532
-   4558 .................... }
-   4559 ....................
-   4560 .................... if (toupper(odp[0]) == 'I')
-   4561 0BFD: MOVF 26,W
-   4562 0BFE: SUBLW 60
-   4563 0BFF: BTFSC 03.0
-   4564 0C00: GOTO 408
-   4565 0C01: MOVF 26,W
-   4566 0C02: SUBLW 7A
-   4567 0C03: BTFSS 03.0
-   4568 0C04: GOTO 408
-   4569 0C05: MOVF 26,W
-   4570 0C06: ANDLW DF
-   4571 0C07: GOTO 409
-   4572 0C08: MOVF 26,W
-   4573 0C09: SUBLW 49
-   4574 0C0A: BTFSS 03.2
-   4575 0C0B: GOTO 4A2
-   4576 .................... {
-   4577 .................... set_pwm1_duty(VYKON);
-   4578 0C0C: MOVLW 64
-   4579 0C0D: MOVWF 15
-   4580 .................... set_pwm2_duty(VYKON);
-   4581 0C0E: MOVWF 1B
-   4582 .................... Delay_ms(10000);
-   4583 0C0F: MOVLW 28
-   4584 0C10: MOVWF 51
-   4585 0C11: MOVLW FA
-   4586 0C12: MOVWF 52
-   4587 0C13: BCF 0A.3
-   4588 0C14: CALL 1C8
-   4589 0C15: BSF 0A.3
-   4590 0C16: DECFSZ 51,F
-   4591 0C17: GOTO 411
-   4592 .................... for(n=0;n<=1;n++)
-   4593 0C18: CLRF 4E
-   4594 0C19: MOVF 4E,W
-   4595 0C1A: SUBLW 01
-   4596 0C1B: BTFSS 03.0
-   4597 0C1C: GOTO 492
-   4598 .................... {
-   4599 .................... fprintf(VRTULE,"ODPOVED[NA"); // "ODPOVED NA"
-   4600 0C1D: CLRF 51
-   4601 0C1E: MOVF 51,W
-   4602 0C1F: BCF 0A.3
-   4603 0C20: CALL 150
-   4604 0C21: BSF 0A.3
-   4605 0C22: IORLW 00
-   4606 0C23: BTFSC 03.2
-   4607 0C24: GOTO 42B
-   4608 0C25: INCF 51,F
-   4609 0C26: MOVWF 52
-   4610 0C27: BCF 0A.3
-   4611 0C28: CALL 348
-   4612 0C29: BSF 0A.3
-   4613 0C2A: GOTO 41E
-   4614 .................... Delay_ms(2000);
-   4615 0C2B: MOVLW 08
-   4616 0C2C: MOVWF 51
-   4617 0C2D: MOVLW FA
-   4618 0C2E: MOVWF 52
-   4619 0C2F: BCF 0A.3
-   4620 0C30: CALL 1C8
-   4621 0C31: BSF 0A.3
-   4622 0C32: DECFSZ 51,F
-   4623 0C33: GOTO 42D
-   4624 .................... fprintf(VRTULE,"[[VASI[[[["); // " VASI "
-   4625 0C34: CLRF 51
-   4626 0C35: MOVF 51,W
-   4627 0C36: BCF 0A.3
-   4628 0C37: CALL 15F
-   4629 0C38: BSF 0A.3
-   4630 0C39: IORLW 00
-   4631 0C3A: BTFSC 03.2
-   4632 0C3B: GOTO 442
-   4633 0C3C: INCF 51,F
-   4634 0C3D: MOVWF 52
-   4635 0C3E: BCF 0A.3
-   4636 0C3F: CALL 348
-   4637 0C40: BSF 0A.3
-   4638 0C41: GOTO 435
-   4639 .................... Delay_ms(2000);
-   4640 0C42: MOVLW 08
-   4641 0C43: MOVWF 51
-   4642 0C44: MOVLW FA
-   4643 0C45: MOVWF 52
-   4644 0C46: BCF 0A.3
-   4645 0C47: CALL 1C8
-   4646 0C48: BSF 0A.3
-   4647 0C49: DECFSZ 51,F
-   4648 0C4A: GOTO 444
-   4649 .................... fprintf(VRTULE,"[[OTAZKU[["); // " OTAZKU "
-   4650 0C4B: CLRF 51
-   4651 0C4C: MOVF 51,W
-   4652 0C4D: BCF 0A.3
-   4653 0C4E: CALL 16E
-   4654 0C4F: BSF 0A.3
-   4655 0C50: IORLW 00
-   4656 0C51: BTFSC 03.2
-   4657 0C52: GOTO 459
-   4658 0C53: INCF 51,F
-   4659 0C54: MOVWF 52
-   4660 0C55: BCF 0A.3
-   4661 0C56: CALL 348
-   4662 0C57: BSF 0A.3
-   4663 0C58: GOTO 44C
-   4664 .................... Delay_ms(2000);
-   4665 0C59: MOVLW 08
-   4666 0C5A: MOVWF 51
-   4667 0C5B: MOVLW FA
-   4668 0C5C: MOVWF 52
-   4669 0C5D: BCF 0A.3
-   4670 0C5E: CALL 1C8
-   4671 0C5F: BSF 0A.3
-   4672 0C60: DECFSZ 51,F
-   4673 0C61: GOTO 45B
-   4674 .................... fprintf(VRTULE,"[[[[JE[[[["); // "JE"
-   4675 0C62: CLRF 51
-   4676 0C63: MOVF 51,W
-   4677 0C64: BCF 0A.3
-   4678 0C65: CALL 17D
-   4679 0C66: BSF 0A.3
-   4680 0C67: IORLW 00
-   4681 0C68: BTFSC 03.2
-   4682 0C69: GOTO 470
-   4683 0C6A: INCF 51,F
-   4684 0C6B: MOVWF 52
-   4685 0C6C: BCF 0A.3
-   4686 0C6D: CALL 348
-   4687 0C6E: BSF 0A.3
-   4688 0C6F: GOTO 463
-   4689 .................... Delay_ms(2000);
-   4690 0C70: MOVLW 08
-   4691 0C71: MOVWF 51
-   4692 0C72: MOVLW FA
-   4693 0C73: MOVWF 52
-   4694 0C74: BCF 0A.3
-   4695 0C75: CALL 1C8
-   4696 0C76: BSF 0A.3
-   4697 0C77: DECFSZ 51,F
-   4698 0C78: GOTO 472
-   4699 .................... fprintf(VRTULE,"[[[[ec[[[["); // " 42 "
-   4700 0C79: CLRF 51
-   4701 0C7A: MOVF 51,W
-   4702 0C7B: BCF 0A.3
-   4703 0C7C: CALL 18C
-   4704 0C7D: BSF 0A.3
-   4705 0C7E: IORLW 00
-   4706 0C7F: BTFSC 03.2
-   4707 0C80: GOTO 487
-   4708 0C81: INCF 51,F
-   4709 0C82: MOVWF 52
-   4710 0C83: BCF 0A.3
-   4711 0C84: CALL 348
-   4712 0C85: BSF 0A.3
-   4713 0C86: GOTO 47A
-   4714 .................... Delay_ms(2000);
-   4715 0C87: MOVLW 08
-   4716 0C88: MOVWF 51
-   4717 0C89: MOVLW FA
-   4718 0C8A: MOVWF 52
-   4719 0C8B: BCF 0A.3
-   4720 0C8C: CALL 1C8
-   4721 0C8D: BSF 0A.3
-   4722 0C8E: DECFSZ 51,F
-   4723 0C8F: GOTO 489
-   4724 .................... }
-   4725 0C90: INCF 4E,F
-   4726 0C91: GOTO 419
-   4727 .................... Delay_ms(3000);
-   4728 0C92: MOVLW 0C
-   4729 0C93: MOVWF 51
-   4730 0C94: MOVLW FA
-   4731 0C95: MOVWF 52
-   4732 0C96: BCF 0A.3
-   4733 0C97: CALL 1C8
-   4734 0C98: BSF 0A.3
-   4735 0C99: DECFSZ 51,F
-   4736 0C9A: GOTO 494
-   4737 .................... set_pwm1_duty(0);
-   4738 0C9B: CLRF 15
-   4739 .................... set_pwm2_duty(0);
-   4740 0C9C: CLRF 1B
-   4741 .................... del_sms();
-   4742 0C9D: BCF 0A.3
-   4743 0C9E: CALL 374
-   4744 0C9F: BSF 0A.3
-   4745 .................... break;
-   4746 0CA0: GOTO 532
-   4747 .................... }
-   4748 .................... else
-   4749 0CA1: GOTO 4F8
-   4750 .................... {
-   4751 .................... set_pwm1_duty(VYKON);
-   4752 0CA2: MOVLW 64
-   4753 0CA3: MOVWF 15
-   4754 .................... set_pwm2_duty(VYKON);
-   4755 0CA4: MOVWF 1B
-   4756 .................... Delay_ms(10000);
-   4757 0CA5: MOVLW 28
-   4758 0CA6: MOVWF 51
-   4759 0CA7: MOVLW FA
-   4760 0CA8: MOVWF 52
-   4761 0CA9: BCF 0A.3
-   4762 0CAA: CALL 1C8
-   4763 0CAB: BSF 0A.3
-   4764 0CAC: DECFSZ 51,F
-   4765 0CAD: GOTO 4A7
-   4766 .................... fprintf(VRTULE,"[[NEUMIS[["); // "NEUMIS"
-   4767 0CAE: CLRF 51
-   4768 0CAF: MOVF 51,W
-   4769 0CB0: BCF 0A.3
-   4770 0CB1: CALL 19B
-   4771 0CB2: BSF 0A.3
-   4772 0CB3: IORLW 00
-   4773 0CB4: BTFSC 03.2
-   4774 0CB5: GOTO 4BC
-   4775 0CB6: INCF 51,F
-   4776 0CB7: MOVWF 52
-   4777 0CB8: BCF 0A.3
-   4778 0CB9: CALL 348
-   4779 0CBA: BSF 0A.3
-   4780 0CBB: GOTO 4AF
3673 .................... Delay_ms(2000); 4781 .................... Delay_ms(2000);
3674 04CC: MOVLW 08 4782 0CBC: MOVLW 08
3675 04CD: MOVWF 51 4783 0CBD: MOVWF 51
3676 04CE: MOVLW FA 4784 0CBE: MOVLW FA
3677 04CF: MOVWF 52 4785 0CBF: MOVWF 52
-   4786 0CC0: BCF 0A.3
3678 04D0: CALL 04E 4787 0CC1: CALL 1C8
-   4788 0CC2: BSF 0A.3
3679 04D1: DECFSZ 51,F 4789 0CC3: DECFSZ 51,F
3680 04D2: GOTO 4CE 4790 0CC4: GOTO 4BE
3681 .................... fprintf(VRTULE,"[[VOLBU[[["); // " VOLBU " 4791 .................... fprintf(VRTULE,"[[[PSAT[[["); // " PSAT "
3682 04D3: CLRF 51 4792 0CC5: CLRF 51
3683 04D4: MOVF 51,W 4793 0CC6: MOVF 51,W
-   4794 0CC7: BCF 0A.3
3684 04D5: CALL 03F 4795 0CC8: CALL 1AA
-   4796 0CC9: BSF 0A.3
3685 04D6: IORLW 00 4797 0CCA: IORLW 00
3686 04D7: BTFSC 03.2 4798 0CCB: BTFSC 03.2
3687 04D8: GOTO 4DD 4799 0CCC: GOTO 4D3
3688 04D9: INCF 51,F 4800 0CCD: INCF 51,F
3689 04DA: MOVWF 52 4801 0CCE: MOVWF 52
-   4802 0CCF: BCF 0A.3
3690 04DB: CALL 1D0 4803 0CD0: CALL 348
-   4804 0CD1: BSF 0A.3
3691 04DC: GOTO 4D4 4805 0CD2: GOTO 4C6
3692 .................... Delay_ms(2000); 4806 .................... Delay_ms(2000);
3693 04DD: MOVLW 08 4807 0CD3: MOVLW 08
3694 04DE: MOVWF 51 4808 0CD4: MOVWF 51
3695 04DF: MOVLW FA 4809 0CD5: MOVLW FA
3696 04E0: MOVWF 52 4810 0CD6: MOVWF 52
-   4811 0CD7: BCF 0A.3
3697 04E1: CALL 04E 4812 0CD8: CALL 1C8
-   4813 0CD9: BSF 0A.3
3698 04E2: DECFSZ 51,F 4814 0CDA: DECFSZ 51,F
3699 04E3: GOTO 4DF 4815 0CDB: GOTO 4D5
3700 .................... fprintf(VRTULE,"[[VOLBU[[["); 4816 .................... fprintf(VRTULE,"[[TRUBKO[["); // " TRUBKO "
3701 04E4: CLRF 51 4817 0CDC: CLRF 51
3702 04E5: MOVF 51,W 4818 0CDD: MOVF 51,W
-   4819 0CDE: BCF 0A.3
3703 04E6: CALL 03F 4820 0CDF: CALL 1B9
-   4821 0CE0: BSF 0A.3
3704 04E7: IORLW 00 4822 0CE1: IORLW 00
3705 04E8: BTFSC 03.2 4823 0CE2: BTFSC 03.2
3706 04E9: GOTO 4EE 4824 0CE3: GOTO 4EA
3707 04EA: INCF 51,F 4825 0CE4: INCF 51,F
3708 04EB: MOVWF 52 4826 0CE5: MOVWF 52
-   4827 0CE6: BCF 0A.3
3709 04EC: CALL 1D0 4828 0CE7: CALL 348
-   4829 0CE8: BSF 0A.3
3710 04ED: GOTO 4E5 4830 0CE9: GOTO 4DD
3711 .................... Delay_ms(3000); 4831 .................... Delay_ms(3000);
3712 04EE: MOVLW 0C 4832 0CEA: MOVLW 0C
3713 04EF: MOVWF 51 4833 0CEB: MOVWF 51
3714 04F0: MOVLW FA 4834 0CEC: MOVLW FA
3715 04F1: MOVWF 52 4835 0CED: MOVWF 52
-   4836 0CEE: BCF 0A.3
3716 04F2: CALL 04E 4837 0CEF: CALL 1C8
-   4838 0CF0: BSF 0A.3
3717 04F3: DECFSZ 51,F 4839 0CF1: DECFSZ 51,F
3718 04F4: GOTO 4F0 4840 0CF2: GOTO 4EC
3719 .................... set_pwm1_duty(0); 4841 .................... set_pwm1_duty(0);
3720 04F5: CLRF 15 4842 0CF3: CLRF 15
3721 .................... set_pwm2_duty(0); 4843 .................... set_pwm2_duty(0);
3722 04F6: CLRF 1B 4844 0CF4: CLRF 1B
-   4845 .................... del_sms();
-   4846 0CF5: BCF 0A.3
-   4847 0CF6: CALL 374
-   4848 0CF7: BSF 0A.3
3723 .................... } 4849 .................... }
3724 .................... } 4850 .................... }
3725 .................... read_time(); 4851 .................... read_time();
-   4852 0CF8: BCF 0A.3
3726 04F7: GOTO 1FC 4853 0CF9: GOTO 37F
-   4854 0CFA: BSF 0A.3
3727 .................... time=strtoul(odp,&ptr,10); 4855 .................... time=strtoul(odp,&ptr,10);
3728 04F8: MOVLW 26 4856 0CFB: MOVLW 26
3729 04F9: MOVWF 51 4857 0CFC: MOVWF 51
3730 04FA: MOVLW 4F 4858 0CFD: MOVLW 4F
3731 04FB: MOVWF 52 4859 0CFE: MOVWF 52
3732 04FC: MOVLW 0A 4860 0CFF: MOVLW 0A
3733 04FD: MOVWF 53 4861 0D00: MOVWF 53
-   4862 0D01: BCF 0A.3
3734 04FE: GOTO 24F 4863 0D02: GOTO 3D2
-   4864 0D03: BSF 0A.3
3735 04FF: MOVF 78,W 4865 0D04: MOVF 78,W
3736 0500: MOVWF 50 4866 0D05: MOVWF 50
3737 .................... if((time >= 30 && time <= 35) || (time >= 0 && time <= 5)) 4867 .................... if((time >= 30 && time <= 32) || (time >= 0 && time <= 2) || (time >= 45 && time <= 47) || (time >= 15 && time <= 17))
3738 0501: MOVF 50,W 4868 0D06: MOVF 50,W
3739 0502: SUBLW 1D 4869 0D07: SUBLW 1D
3740 0503: BTFSC 03.0 4870 0D08: BTFSC 03.0
3741 0504: GOTO 509 4871 0D09: GOTO 50E
3742 0505: MOVF 50,W 4872 0D0A: MOVF 50,W
3743 0506: SUBLW 23 4873 0D0B: SUBLW 20
3744 0507: BTFSC 03.0 4874 0D0C: BTFSC 03.0
3745 0508: GOTO 50D 4875 0D0D: GOTO 522
3746 0509: MOVF 50,W 4876 0D0E: MOVF 50,W
3747 050A: SUBLW 05 4877 0D0F: SUBLW 02
3748 050B: BTFSS 03.0 4878 0D10: BTFSC 03.0
3749 050C: GOTO 518 4879 0D11: GOTO 522
3750 .................... { 4880 0D12: MOVF 50,W
3751 .................... set_pwm1_duty(500); 4881 0D13: SUBLW 2C
3752 050D: MOVLW 7D 4882 0D14: BTFSC 03.0
3753 050E: MOVWF 15 4883 0D15: GOTO 51A
3754 050F: MOVF 17,W 4884 0D16: MOVF 50,W
3755 0510: ANDLW CF 4885 0D17: SUBLW 2F
-   4886 0D18: BTFSC 03.0
3756 0511: MOVWF 17 4887 0D19: GOTO 522
3757 .................... set_pwm2_duty(500); 4888 0D1A: MOVF 50,W
3758 0512: MOVLW 7D 4889 0D1B: SUBLW 0E
-   4890 0D1C: BTFSC 03.0
3759 0513: MOVWF 1B 4891 0D1D: GOTO 526
3760 0514: MOVF 1D,W 4892 0D1E: MOVF 50,W
3761 0515: ANDLW CF 4893 0D1F: SUBLW 11
-   4894 0D20: BTFSS 03.0
-   4895 0D21: GOTO 526
-   4896 .................... {
-   4897 .................... set_pwm1_duty(VYKON);
-   4898 0D22: MOVLW 64
-   4899 0D23: MOVWF 15
-   4900 .................... set_pwm2_duty(VYKON);
3762 0516: MOVWF 1D 4901 0D24: MOVWF 1B
3763 .................... } 4902 .................... }
3764 .................... else 4903 .................... else
3765 0517: GOTO 51A 4904 0D25: GOTO 528
3766 .................... { 4905 .................... {
3767 .................... set_pwm1_duty(0); 4906 .................... set_pwm1_duty(0);
3768 0518: CLRF 15 4907 0D26: CLRF 15
3769 .................... set_pwm2_duty(0); 4908 .................... set_pwm2_duty(0);
3770 0519: CLRF 1B 4909 0D27: CLRF 1B
3771 .................... } 4910 .................... }
3772 .................... 4911 ....................
3773 .................... delay_ms(1000); 4912 .................... delay_ms(1000);
3774 051A: MOVLW 04 4913 0D28: MOVLW 04
3775 051B: MOVWF 51 4914 0D29: MOVWF 51
3776 051C: MOVLW FA 4915 0D2A: MOVLW FA
3777 051D: MOVWF 52 4916 0D2B: MOVWF 52
-   4917 0D2C: BCF 0A.3
3778 051E: CALL 04E 4918 0D2D: CALL 1C8
-   4919 0D2E: BSF 0A.3
3779 051F: DECFSZ 51,F 4920 0D2F: DECFSZ 51,F
3780 0520: GOTO 51C 4921 0D30: GOTO 52A
3781 .................... } 4922 .................... }
3782 0521: GOTO 450 4923 0D31: GOTO 07B
3783 .................... } 4924 .................... }
3784 0522: SLEEP 4925 0D32: SLEEP
3785   4926  
3786 Configuration Fuses: 4927 Configuration Fuses:
3787 Word 1: 3F3A HS NOWDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT 4928 Word 1: 3F3E HS WDT NOPUT NODEBUG NOPROTECT NOBROWNOUT NOLVP NOCPD NOWRT