📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-16790 Sun Apr 26 12:44:14 2009
Licensed to: TWO
1 processor 16F873A
2 opt pw 79
3 psect __Z16790RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect config,global,class=CONFIG,delta=2
6 psect text1,local,class=CODE,delta=2
7 psect intcode,global,class=CODE,delta=2
8 psect intsave_1,global,ovrld,class=BANK1,space
+ =1,delta=1
9 psect intsave_0,global,ovrld,class=BANK0,space
+ =1,delta=1
10 psect intret,global,class=CODE,delta=2
11 psect intentry,global,class=CODE,delta=2
12 psect intsave,global,class=BANK0,space=1,delta
+ =1
13 psect rbit_0,global,bit,class=BANK0,space=1,de
+ lta=1
14 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
15 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26
27 psect __Z16790RS_
28 00E5
29 00E5 ;#
30
31 psect text0
32 016B _main
33 016B 1683 bsf 3,5
34 016C 1303 bcf 3,6 ;carry unused
35 016D 0187 clrf 7 ;volatile
36 ;Main.c: 24: TRISB=0;
37 016E 0186 clrf 6 ;volatile
38 ;Main.c: 25: PORTC=0;
39 016F 1283 bcf 3,5
40 0170 0187 clrf 7 ;volatile
41 ;Main.c: 26: PORTB=0;
42 0171 0186 clrf 6 ;volatile
43 ;Main.c: 29: CPU_INT();
44 0172 118A 230D 118A fcall _CPU_INT
45 ;Main.c: 30: while(1)
46 ;Main.c: 31: {
47 0175 2981 goto l10
48 0176 l11
49 ;Main.c: 33: {
50 ;Main.c: 35: Off_Mode();
51 0176 158A 203C 118A fcall _Off_Mode
52 ;Main.c: 36: break;
53 0179 2981 goto l10
54 017A l12
55 ;Main.c: 37: case 1:
56 ;Main.c: 38: Setting_Mode();
57 017A 158A 22C5 118A fcall _Setting_Mode
58 ;Main.c: 39: break;
59 017D 2981 goto l10
60 017E l13
61 ;Main.c: 40: case 2:
62 ;Main.c: 41: Work_Mode();
63 017E 118A 2424 118A fcall _Work_Mode
64 ;Main.c: 42: break;
65 0181 l10
66 0181 0827 movf _Mode,w
67 0182 1903 btfsc 3,2
68 0183 2976 goto l11
69 0184 3A01 xorlw 1
70 0185 1903 btfsc 3,2
71 0186 297A goto l12
72 0187 3A03 xorlw 3
73 0188 1903 btfsc 3,2
74 0189 297E goto l13
75 018A 2981 goto l10
76
77 psect config
78 2007 3F3A dw 16186 ;#
79
80 psect intcode
81 ;Main.c: 84: void interrupt IRQ(void)
82 ;Main.c: 85: {
83 001F _IRQ
84 001F int_func
85 ;Main.c: 86: unsigned char i;
86 001F 0183 clrf 3 ;select bank 0
87 0020 1C0C btfss 12,0
88 0021 2904 goto l15
89 ;Main.c: 88: {
90 0022 3050 movlw 80
91 0023 008E movwf 14 ;volatile
92 0024 309E movlw 158
93 0025 008F movwf 15 ;volatile
94 ;Main.c: 91: TMR1IF=0;
95 0026 100C bcf 12,0
96 ;Main.c: 92: if(Task.Flag.timer1_Enlable==1)
97 0027 1D28 btfss _Task,2
98 0028 282D goto l16
99 ;Main.c: 93: {
100 0029 08B8 movf _Timer1
101 002A 1903 btfsc 3,2
102 002B 03B9 decf _Timer1+1
103 002C 03B8 decf _Timer1
104 002D l16
105 ;Main.c: 95: }
106 002D 1DA8 btfss _Task,3
107 002E 285F goto l17
108 ;Main.c: 97: {
109 002F 082E movf _Timer2_PreScale_Counter,w
110 0030 3A09 xorlw 9
111 0031 1D03 btfss 3,2
112 0032 283A goto l18
113 ;Main.c: 99: {
114 0033 08BC movf _Timer2
115 0034 1903 btfsc 3,2
116 0035 03BD decf _Timer2+1
117 0036 03BC decf _Timer2
118 ;Main.c: 101: Timer2_PreScale_Counter=0;
119 0037 01AE clrf _Timer2_PreScale_Counter
120 ;Main.c: 102: Timer2_Pross_Counter++;
121 0038 0AAA incf _Timer2_Pross_Counter
122 ;Main.c: 103: }
123 0039 2858 goto l21
124 003A l18
125 ;Main.c: 105: {
126 003A 0AAE incf _Timer2_PreScale_Counter
127 ;Main.c: 107: }
128 ;Main.c: 108: switch(Timer2_Pross)
129 003B 2858 goto l21
130 003C l22
131 ;Main.c: 109: {
132 ;Main.c: 111: {
133 003C 082A movf _Timer2_Pross_Counter,w
134 003D 3A0A xorlw 10
135 003E 1903 btfsc 3,2
136 003F 2846 goto L2
137 ;Main.c: 113: {
138 ;Main.c: 115: Timer2_Pross++;
139 ;Main.c: 116: }
140 ;Main.c: 118: {
141 0040 1207 bcf 7,4
142 0041 2860 goto L1
143 ;Main.c: 120: Timer2_Control2=1;
144 ;Main.c: 121: }
145 ;Main.c: 122: break;
146 0042 l25
147 ;Main.c: 123: }
148 ;Main.c: 125: {
149 0042 082A movf _Timer2_Pross_Counter,w
150 0043 3A0A xorlw 10
151 0044 1D03 btfss 3,2
152 0045 2848 goto l26
153 0046 L2
154 ;Main.c: 127: {
155 0046 01AA clrf _Timer2_Pross_Counter
156 0047 2856 goto l30
157 ;Main.c: 129: Timer2_Pross++;
158 ;Main.c: 130: }
159 0048 l26
160 ;Main.c: 132: {
161 0048 1607 bsf 7,4
162 ;Main.c: 134: Timer2_Control2=0;
163 0049 1287 bcf 7,5
164 ;Main.c: 135: }
165 ;Main.c: 136: break;
166 004A 2861 goto l33
167 004B l28
168 ;Main.c: 137: }
169 ;Main.c: 139: {
170 004B 082A movf _Timer2_Pross_Counter,w
171 004C 3A02 xorlw 2
172 004D 1D03 btfss 3,2
173 004E 285F goto l17
174 ;Main.c: 141: {
175 004F 01AA clrf _Timer2_Pross_Counter
176 ;Main.c: 143: if(Timer2_Pross==3)
177 0050 0829 movf _Timer2_Pross,w
178 0051 3A03 xorlw 3
179 0052 1D03 btfss 3,2
180 0053 2856 goto l30
181 ;Main.c: 144: Timer2_Pross=0;
182 0054 01A9 clrf _Timer2_Pross
183 ;Main.c: 145: else
184 0055 2861 goto l33
185 0056 l30
186 ;Main.c: 146: Timer2_Pross++;
187 0056 0AA9 incf _Timer2_Pross
188 ;Main.c: 147: }
189 0057 2861 goto l33
190 ;Main.c: 149: {
191 ;Main.c: 151: Timer2_Control2=1;
192 ;Main.c: 152: }
193 ;Main.c: 153: }
194 0058 l21
195 0058 0829 movf _Timer2_Pross,w
196 0059 1903 btfsc 3,2
197 005A 283C goto l22
198 005B 3A02 xorlw 2
199 005C 1903 btfsc 3,2
200 005D 2842 goto l25
201 005E 284B goto l28
202 ;Main.c: 155: }
203 005F l17
204 ;Main.c: 157: { Timer2_Control1=1;
205 005F 1607 bsf 7,4
206 0060 L1
207 ;Main.c: 158: Timer2_Control2=1;
208 0060 1687 bsf 7,5
209 0061 l33
210 ;Main.c: 159: }
211 ;Main.c: 160: if(Task.Flag.timer3_Enlable==1)
212 0061 1F28 btfss _Task,6
213 0062 2874 goto l34
214 ;Main.c: 161: {
215 0063 0845 movf _Timer3_PreScale_Counter+1,w
216 0064 3A02 xorlw 2
217 0065 3057 movlw 87
218 0066 1903 btfsc 3,2
219 0067 0644 xorwf _Timer3_PreScale_Counter,w
220 0068 1D03 btfss 3,2
221 0069 2871 goto l35
222 ;Main.c: 163: {
223 006A 08C0 movf _Timer3
224 006B 1903 btfsc 3,2
225 006C 03C1 decf _Timer3+1
226 006D 03C0 decf _Timer3
227 ;Main.c: 165: Timer3_PreScale_Counter=0;
228 006E 01C4 clrf _Timer3_PreScale_Counter
229 006F 01C5 clrf _Timer3_PreScale_Counter+1
230 ;Main.c: 166: }
231 0070 2874 goto l34
232 0071 l35
233 ;Main.c: 168: {
234 0071 0AC4 incf _Timer3_PreScale_Counter
235 0072 1903 btfsc 3,2
236 0073 0AC5 incf _Timer3_PreScale_Counter+1
237 ;Main.c: 170: }
238 0074 l34
239 ;Main.c: 171: }
240 0074 1FA8 btfss _Task,7
241 0075 2881 goto l37
242 ;Main.c: 173: {
243 0076 082F movf _Timer4_PreScale_Counter,w
244 0077 3A09 xorlw 9
245 0078 1D03 btfss 3,2
246 0079 2880 goto l38
247 ;Main.c: 175: {
248 007A 08C6 movf _Timer4
249 007B 1903 btfsc 3,2
250 007C 03C7 decf _Timer4+1
251 007D 03C6 decf _Timer4
252 ;Main.c: 177: Timer4_PreScale_Counter=0;
253 007E 01AF clrf _Timer4_PreScale_Counter
254 ;Main.c: 178: }
255 007F 2881 goto l37
256 0080 l38
257 ;Main.c: 180: {
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -