📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Mon Jan 23 11:53:00 2006
1 processor 16F877A
2 opt pw 79
3 psect __Z49231UD_,global,delta=1
4 psect config,global,class=CONFIG,delta=2
5 psect idloc,global,class=IDLOC,delta=2
6 psect text4,local,class=CODE,delta=2
7 psect text5,local,class=CODE,delta=2
8 psect text6,local,class=CODE,delta=2
9 psect text10,local,class=CODE,delta=2
10 psect intcode,global,class=CODE,delta=2
11 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
12 psect intret,global,class=CODE,delta=2
13 psect intentry,global,class=CODE,delta=2
14 psect intsave,global,class=BANK0,space=1,delta
+ =1
15 psect nvbit_0,global,bit,class=BANK0,space=1,d
+ elta=1
16 psect nvram,global,class=BANK0,space=1,delta=1
17 psect nvram_1,global,class=BANK1,space=1,delta
+ =1
18 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26 0000
27 0000
28 0000 ;#
29
30 psect config
31 2007 3F3A dw 16186 ;#
32
33 psect idloc
34 2000 idloc_word
35 ;#
36 2000 endm 0
37 2000 0000 dw 0 ;#
38 2001 0000 dw 0 ;#
39 2002 0000 dw 0 ;#
40 2003 0007 dw 7 ;#
41 2004 0000 dw 0 ;#
42 2005 0002 dw 2 ;#
43
44 psect text4
45 ;main.c: 121: void self_check(void)
46 ;main.c: 122: {
47 0580 _self_check
48 ;main.c: 123: if(PORTB&0x3f!=0x3b)
49 0580 0183 clrf 3 ;select bank 0
50 0581 1C06 btfss 6,0 ;volatile
51 0582 2D86 goto l25
52 ;main.c: 124: err_code = 0x25;
53 0583 3025 movlw 37
54 0584 1683 bsf 3,5
55 0585 00A0 movwf _err_code^(0+128) ;volatile
56 ;main.c: 126: }
57 0586 l25
58 0586 1283 bcf 3,5
59 0587 0008 return
60 0588 _delay_ms
61 ; _j assigned to ?a_delay_ms+0
62 0000 _delay_ms$j set ?a_delay_ms
63 0588 l21
64 ;main.c: 109: unsigned char j;
65 ;main.c: 111: {
66 0588 30FA movlw -6
67 0589 0183 clrf 3 ;select bank 0
68 058A 00A2 movwf ?a_delay_ms
69 058B l24
70 ;main.c: 113: do
71 ;main.c: 114: {
72 058B 0000 nop ;#
73 058C 0000 nop ;#
74 058D 0000 nop ;#
75 058E 0000 nop ;#
76 ;main.c: 116: } while(--j);
77 058F 0BA2 decfsz ?a_delay_ms
78 0590 2D8B goto l24
79 ;main.c: 117: asm("clrwdt");
80 0591 0064 clrwdt ;#
81 ;main.c: 118: } while(--i);
82 0592 30FF movlw -1
83 0593 07A0 addwf ?_delay_ms
84 0594 1C03 btfss 3,0
85 0595 03A1 decf ?_delay_ms+1
86 0596 0821 movf ?_delay_ms+1,w
87 0597 0420 iorwf ?_delay_ms,w
88 0598 1903 btfsc 3,2
89 0599 0008 return
90 059A 2D88 goto l21
91 ;main.c: 138: void user_mode(void)
92 ;main.c: 139: {
93 059B _user_mode
94 ;main.c: 141: if(RB0)
95 059B 0183 clrf 3 ;select bank 0
96 059C 1C06 btfss 6,0
97 059D 2DA1 goto l30
98 ;main.c: 142: err_code = 9;
99 059E 3009 movlw 9
100 059F 1683 bsf 3,5
101 05A0 00A0 movwf _err_code^(0+128) ;volatile
102 05A1 l30
103 ;main.c: 143: if(RB1)
104 05A1 1283 bcf 3,5
105 05A2 1C86 btfss 6,1
106 05A3 2DA7 goto l31
107 ;main.c: 144: err_code = 0x11;
108 05A4 3011 movlw 17
109 05A5 1683 bsf 3,5
110 05A6 00A0 movwf _err_code^(0+128) ;volatile
111 05A7 l31
112 ;main.c: 145: if(RB2)
113 05A7 1283 bcf 3,5
114 05A8 1D06 btfss 6,2
115 05A9 2DAD goto l32
116 ;main.c: 146: err_code = 5;
117 05AA 3005 movlw 5
118 05AB 1683 bsf 3,5
119 05AC 00A0 movwf _err_code^(0+128) ;volatile
120 05AD l32
121 ;main.c: 147: if(RB3)
122 05AD 1283 bcf 3,5
123 05AE 1D86 btfss 6,3
124 05AF 2DB3 goto l33
125 ;main.c: 148: err_code = 4;
126 05B0 3004 movlw 4
127 05B1 1683 bsf 3,5
128 05B2 00A0 movwf _err_code^(0+128) ;volatile
129 05B3 l33
130 ;main.c: 149: if(RB4)
131 05B3 1283 bcf 3,5
132 05B4 1E06 btfss 6,4
133 05B5 2DB9 goto l34
134 ;main.c: 150: err_code = 0x18;
135 05B6 3018 movlw 24
136 05B7 1683 bsf 3,5
137 05B8 00A0 movwf _err_code^(0+128) ;volatile
138 05B9 l34
139 ;main.c: 153: RD1 = 0;
140 05B9 1283 bcf 3,5
141 05BA 1088 bcf 8,1
142 ;main.c: 154: delay_ms(10000);
143 05BB 3010 movlw 16
144 05BC 00A0 movwf ?_delay_ms
145 05BD 3027 movlw 39
146 05BE 00A1 movwf ?_delay_ms+1
147 05BF 2588 fcall _delay_ms
148 ;main.c: 155: if( PORTB&0x1f != 0x1b)
149 05C0 1C06 btfss 6,0 ;volatile
150 05C1 2DC5 goto l35
151 ;main.c: 156: err_code = 0x24;
152 05C2 3024 movlw 36
153 05C3 1683 bsf 3,5
154 05C4 00A0 movwf _err_code^(0+128) ;volatile
155 05C5 l35
156 ;main.c: 157: self_check();
157 05C5 2D80 ljmp _self_check
158 ;main.c: 163: void cmd_deal(void)
159 ;main.c: 164: {
160 05C6 _cmd_deal
161 ; _buf1 assigned to ?a_cmd_deal+0
162 0000 _cmd_deal$buf1 set ?a_cmd_deal
163 ; _long_buf assigned to ?a_cmd_deal+2
164 0000 _cmd_deal$long_buf set ?a_cmd_deal+2
165 ;main.c: 165: unsigned int buf1;
166 05C6 0183 clrf 3 ;select bank 0
167 05C7 1DB0 btfss _b_rec_ok/(0+8),_b_rec_ok& (0+7)
168 05C8 2EBF goto l36
169 ;main.c: 168: {
170 05C9 11B0 bcf _b_rec_ok/(0+8),_b_rec_ok& (0+7)
171 ;main.c: 170: switch(rec_data[1])
172 05CA 2EAC goto l39
173 05CB l40
174 ;main.c: 171: {
175 ;main.c: 173: ADC.ADCS=rec_data[2];
176 05CB 0827 movf (_rec_data+2)^(0+128),w ;volatile
177 05CC 00F0 movwf btemp
178 05CD 0DF0 rlf btemp
179 05CE 0DF0 rlf btemp
180 05CF 0DF0 rlf btemp
181 05D0 1283 bcf 3,5
182 05D1 081F movf 31,w
183 05D2 0670 xorwf btemp,w
184 05D3 39C7 andlw -57
185 05D4 0670 xorwf btemp,w
186 05D5 009F movwf 31
187 ;main.c: 174: break;
188 05D6 2EBF goto l36
189 05D7 l41
190 ;main.c: 175: case 2:
191 ;main.c: 176: b_pwm_auto_add=1;
192 05D7 1283 bcf 3,5
193 05D8 1530 bsf _b_pwm_auto_add/(0+8),_b_pwm_auto_add& (0+
+ 7)
194 ;main.c: 177: break;
195 05D9 2EBF goto l36
196 05DA l42
197 ;main.c: 178: case 3:
198 ;main.c: 179: b_pwm_auto_add = 0;
199 05DA 1283 bcf 3,5
200 05DB 1130 bcf _b_pwm_auto_add/(0+8),_b_pwm_auto_add& (0+
+ 7)
201 ;main.c: 180: break;
202 05DC 2EBF goto l36
203 05DD l43
204 ;main.c: 181: case 4:
205 ;main.c: 182: pwm_data = rec_data[2]*256+rec_da
+ ta[3];
206 05DD 0827 movf (_rec_data+2)^(0+128),w ;volatile
207 05DE 00A4 movwf (_pwm_data+1)^(0+128) ;volatile
208 05DF 0828 movf (_rec_data+3)^(0+128),w ;volatile
209 05E0 00A3 movwf _pwm_data^(0+128) ;volatile
210 ;main.c: 183: break;
211 05E1 2EBF goto l36
212 ;main.c: 184: case 5:
213 ;main.c: 185: switch(rec_data[2])
214 05E2 l47
215 ;main.c: 186: {
216 ;main.c: 188: CCP2CON=0;
217 05E2 1283 bcf 3,5
218 05E3 019D clrf 29 ;volatile
219 ;main.c: 189: RC1=1;
220 05E4 1487 bsf 7,1
221 ;main.c: 191: break;
222 05E5 2EA4 goto l65
223 05E6 l48
224 ;main.c: 192: case 1:
225 ;main.c: 193: CCP2CON=0;
226 05E6 1283 bcf 3,5
227 05E7 019D clrf 29 ;volatile
228 ;main.c: 194: RC1=0;
229 05E8 1087 bcf 7,1
230 ;main.c: 195: break;
231 ;main.c: 196: case 2:
232 ;main.c: 197: break;
233 05E9 2EA4 goto l65
234 ;main.c: 198: case 3:
235 ;main.c: 199: switch(rec_data[3])
236 05EA l53
237 ;main.c: 200: {
238 ;main.c: 202: buf1=rec_data[4]*128;
239 05EA 0829 movf (_rec_data+4)^(0+128),w ;volatile
240 05EB 00F0 movwf btemp
241 05EC 01F1 clrf btemp+1
242 05ED 3007 movlw 7
243 05EE 00F2 movwf btemp+2
244 05EF u135
245 05EF 1003 bcf 3,0
246 05F0 0DF0 rlf btemp
247 05F1 0DF1 rlf btemp+1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -