📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL2
Serial number: HCPIC-00000 Mon Dec 17 19:07:17 2007
Licensed to: MITSOS FOREVER
1 processor 16F877
2 opt pw 79
3 psect __Z00000RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect text2,local,class=CODE,delta=2
6 psect text3,local,class=CODE,delta=2
7 psect strings,global,class=STRING,delta=2
8 psect const1,local,class=CONST,delta=2
9 psect text6,local,class=CODE,delta=2
10 psect text7,local,class=CODE,delta=2
11 psect text13,local,class=CODE,delta=2
12 psect text15,local,class=CODE,delta=2
13 psect text17,local,class=CODE,delta=2
14 psect text20,local,class=CODE,delta=2
15 psect config,global,class=CONFIG,delta=2
16 psect const2,local,class=CONST,delta=2
17 psect intcode,global,class=CODE,delta=2
18 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
19 psect intret,global,class=CODE,delta=2
20 psect intentry,global,class=CODE,delta=2
21 psect intsave,global,class=BANK0,space=1,delta
+ =1
22 psect text24,local,class=CODE,delta=2
23 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
24 psect rbss_1,global,class=BANK1,space=1,delta=
+ 1
25 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
26 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
27 0000
28 0000
29 0000
30 0000
31 0000
32 0000
33 0000
34 0000
35 0000
36 0000
37
38 psect __Z00000RS_
39 0190
40 0190
41 0000 _DelayBigUs$cnt set ?_DelayBigUs
42
43 psect text0
44 02D9 _DelayBigUs
45 ; _i assigned to ?a_DelayBigUs+0
46 0000 _DelayBigUs$i set ?a_DelayBigUs
47 ;delay.c: 10: unsigned char i;
48 02D9 0183 clrf 3 ;select bank 0
49 02DA 0829 movf ?_DelayBigUs+1,w
50 02DB 00A8 movwf ?a_DelayBigUs
51 ;delay.c: 13: while(i>=1)
52 02DC 2AE4 goto l7
53 02DD l8
54 ;delay.c: 14: {
55 02DD 03A8 decf ?a_DelayBigUs
56 ;delay.c: 16: { delayus_variable=(unsigned char
+ )(253/2); asm("nop"); } asm("decfsz _delayus_va
+ riable,f"); asm("goto $ - 2");;
57 02DE 307E movlw 126
58 02DF 00A6 movwf _delayus_variable
59 02E0 0000 nop ;#
60 02E1 0BA6 decfsz _delayus_variable ;#
61 02E2 2AD7 goto ($+-2) ;#
62 ;delay.c: 17: asm("clrwdt");
63 02E3 0064 clrwdt ;#
64 02E4 l7
65 ;delay.c: 18: }
66 02E4 3001 movlw 1
67 02E5 0228 subwf ?a_DelayBigUs,w
68 02E6 1803 btfsc 3,0
69 02E7 2ADD goto l8
70 ;delay.c: 19: { delayus_variable=(unsigned char
+ )((unsigned char)(cnt & 0xFF)/2); asm("nop"); }
+ asm("decfsz _delayus_variable,f"); asm("goto $
+ - 2");;
71 02E8 1003 bcf 3,0
72 02E9 0C28 rrf ?_DelayBigUs,w
73 02EA 00A6 movwf _delayus_variable
74 02EB 0000 nop ;#
75 02EC 0BA6 decfsz _delayus_variable ;#
76 02ED 2AD7 goto ($+-2) ;#
77 ;delay.c: 20: }
78 02EE 0008 return
79
80 psect text2
81 02C5 _DelayBigMs
82 ; _i assigned to ?a_DelayBigMs+0
83 0000 _DelayBigMs$i set ?a_DelayBigMs
84 02C5 l20
85 ;delay.c: 50: unsigned char i;
86 ;delay.c: 52: i = 4;
87 02C5 3004 movlw 4
88 02C6 0183 clrf 3 ;select bank 0
89 02C7 00A8 movwf ?a_DelayBigMs
90 02C8 l23
91 ;delay.c: 53: do {
92 ;delay.c: 54: { delayus_variable=(unsigned char
+ )(250/2); asm("nop"); } asm("decfsz _delayus_va
+ riable,f"); asm("goto $ - 2");;
93 02C8 307D movlw 125
94 02C9 00A6 movwf _delayus_variable
95 02CA 0000 nop ;#
96 02CB 0BA6 decfsz _delayus_variable ;#
97 02CC 2AC3 goto ($+-2) ;#
98 ;delay.c: 55: asm("clrwdt");
99 02CD 0064 clrwdt ;#
100 ;delay.c: 56: } while(--i);
101 02CE 0BA8 decfsz ?a_DelayBigMs
102 02CF 2AC8 goto l23
103 ;delay.c: 57: } while(--cnt);
104 02D0 30FF movlw -1
105 02D1 07A8 addwf ?_DelayBigMs
106 02D2 1C03 btfss 3,0
107 02D3 03A9 decf ?_DelayBigMs+1
108 02D4 0829 movf ?_DelayBigMs+1,w
109 02D5 0428 iorwf ?_DelayBigMs,w
110 02D6 1903 btfsc 3,2
111 02D7 0008 return
112 02D8 2AC5 goto l20
113
114 psect text3
115 ;GPS.C: 16: bank1 unsigned char GpsLock;
116 ;GPS.C: 17: bank1 unsigned char UtcH,UtcM,UtcS;
117 ;GPS.C: 18: bank1 unsigned char IntJDValue[2],F
+ loatJDValue[3];
118 ;GPS.C: 19: bank1 unsigned char IntWDValue;
119 ;GPS.C: 20: bank1 unsigned char FloatWDValue[3]
+ ;
120 ;GPS.C: 21: bit bJD_EW,bWD_NS;
121 ;GPS.C: 24: bank1 unsigned char GpsSeg_count;
122 ;GPS.C: 26: bank1 unsigned char GpsByte_count;
123 ;GPS.C: 27: bank1 unsigned char GpsCmd_number;
124 ;GPS.C: 28: bank1 unsigned char GpsCmd_mode;
125 ;GPS.C: 29: bank1 unsigned char GpsBuf_full;
126 ;GPS.C: 30: bank1 unsigned char GpsCmd[5];
127 ;GPS.C: 33: void GPS_Decode(unsigned char tmp)
128 ;GPS.C: 34: {
129 040B _GPS_Decode
130 ; _tmp assigned to ?a_GPS_Decode+0
131 0000 _GPS_Decode$tmp set ?a_GPS_Decode
132 ;_tmp stored from w
133 040B 0183 clrf 3 ;select bank 0
134 040C 00AF movwf ?a_GPS_Decode
135 ;GPS.C: 35: unsigned char i;
136 040D 2DCF goto l26
137 040E l27
138 ;GPS.C: 37: case '$':
139 ;GPS.C: 38: GpsCmd_number=0;
140 040E 1683 bsf 3,5
141 040F 01A3 clrf _GpsCmd_number^(0+128)
142 ;GPS.C: 39: GpsCmd_mode=1;
143 0410 01A2 clrf _GpsCmd_mode^(0+128)
144 0411 0AA2 incf _GpsCmd_mode^(0+128)
145 0412 2C15 goto L1
146 ;GPS.C: 40: GpsByte_count=0;
147 ;GPS.C: 41: break;
148 0413 l28
149 ;GPS.C: 42: case ',':
150 ;GPS.C: 43: GpsSeg_count++;
151 0413 1683 bsf 3,5
152 0414 0AA5 incf _GpsSeg_count^(0+128)
153 0415 L1
154 ;GPS.C: 44: GpsByte_count=0;
155 0415 01A1 clrf _GpsByte_count^(0+128)
156 ;GPS.C: 45: break;
157 0416 2DDC goto l24
158 ;GPS.C: 46: case '*':
159 ;GPS.C: 47: switch(GpsCmd_number){
160 0417 l32
161 ;GPS.C: 48: case 1:
162 ;GPS.C: 49: GpsBuf_full|=0x01;
163 0417 1420 bsf _GpsBuf_full^(0+128),0
164 ;GPS.C: 50: break;
165 0418 2C2D goto l30
166 0419 l33
167 ;GPS.C: 51: case 2:
168 ;GPS.C: 52: GpsBuf_full|=0x02;
169 0419 14A0 bsf _GpsBuf_full^(0+128),1
170 ;GPS.C: 53: break;
171 041A 2C2D goto l30
172 041B l34
173 ;GPS.C: 54: case 3:
174 ;GPS.C: 55: GpsBuf_full|=0x04;
175 041B 1520 bsf _GpsBuf_full^(0+128),2
176 ;GPS.C: 56: break;
177 041C 2C2D goto l30
178 041D l35
179 ;GPS.C: 57: case 4:
180 ;GPS.C: 58: GpsBuf_full|=0x08;
181 041D 15A0 bsf _GpsBuf_full^(0+128),3
182 ;GPS.C: 59: break;
183 041E 2C2D goto l30
184 041F l31
185 041F 1683 bsf 3,5
186 0420 0823 movf _GpsCmd_number^(0+128),w
187 0421 3A01 xorlw 1
188 0422 1903 btfsc 3,2
189 0423 2C17 goto l32
190 0424 3A03 xorlw 3
191 0425 1903 btfsc 3,2
192 0426 2C19 goto l33
193 0427 3A01 xorlw 1
194 0428 1903 btfsc 3,2
195 0429 2C1B goto l34
196 042A 3A07 xorlw 7
197 042B 1903 btfsc 3,2
198 042C 2C1D goto l35
199 042D l30
200 ;GPS.C: 61: GpsCmd_mode=0;
201 042D 01A2 clrf _GpsCmd_mode^(0+128)
202 ;GPS.C: 62: break;
203 042E 2DDC goto l24
204 042F l36
205 ;GPS.C: 63: default:
206 ;GPS.C: 64: if(GpsCmd_mode==1){
207 042F 1683 bsf 3,5
208 0430 0B22 decfsz _GpsCmd_mode^(0+128),w
209 0431 2C79 goto l37
210 ;GPS.C: 66: GpsCmd[GpsByte_count]=tmp;
211 0432 0821 movf _GpsByte_count^(0+128),w
212 0433 3EB2 addlw _GpsCmd
213 0434 0084 movwf 4
214 0435 1383 bcf 3,7
215 0436 1283 bcf 3,5
216 0437 082F movf ?a_GPS_Decode,w
217 0438 0080 movwf 0
218 ;GPS.C: 67: if(GpsByte_count>=4){
219 0439 3004 movlw 4
220 043A 1683 bsf 3,5
221 043B 0221 subwf _GpsByte_count^(0+128),w
222 043C 1C03 btfss 3,0
223 043D 2DCC goto l53
224 ;GPS.C: 68: if(GpsCmd[0]=='G'){
225 043E 0832 movf _GpsCmd^(0+128),w
226 043F 3A47 xorlw 71
227 0440 1D03 btfss 3,2
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -