📄 motor_side.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Sun Aug 6 15:26:08 2006
1 processor 16F877A
2 opt pw 79
3 psect __Z49231UD_,global,delta=1
4 psect rdata_0,global,class=BANK0,space=1,delta
+ =1
5 psect idata_0,global,class=CODE,delta=2
6 psect strings,global,class=STRING,delta=2
7 psect const1,local,class=CONST,delta=2
8 psect text3,local,class=CODE,delta=2
9 psect text7,local,class=CODE,delta=2
10 psect text11,local,class=CODE,delta=2
11 psect intcode,global,class=CODE,delta=2
12 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
13 psect intret,global,class=CODE,delta=2
14 psect intentry,global,class=CODE,delta=2
15 psect intsave,global,class=BANK0,space=1,delta
+ =1
16 psect text13,local,class=CODE,delta=2
17 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
18 psect rbss_1,global,class=BANK1,space=1,delta=
+ 1
19 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26 0000
27 0000
28 0000
29 0000
30
31 psect rdata_0
32 0050 _send_data
33 0050 ds 1
34 0051 ds 1
35 0052 ds 1
36 0053 ds 1
37 0054 ds 1
38 0055 ds 2
39
40 psect idata_0
41 07F9 342A retlw 42
42 07FA 3402 retlw 2
43 07FB 3403 retlw 3
44 07FC 3404 retlw 4
45 07FD 3405 retlw 5
46 07FE 3400 retlw 0
47 07FF 3400 retlw 0
48
49 psect const1
50 006C 0782 addwf 2
51 006D _ASCII
52 006D 3430 retlw 48
53 006E 3431 retlw 49
54 006F 3432 retlw 50
55 0070 3433 retlw 51
56 0071 3434 retlw 52
57 0072 3435 retlw 53
58 0073 3436 retlw 54
59 0074 3437 retlw 55
60 0075 3438 retlw 56
61 0076 3439 retlw 57
62 0077 342D retlw 45
63 0078 342B retlw 43
64 0000 _delay$i set ?_delay
65 0000 _delay$j set ?_delay+2
66
67 psect text3
68 ;motor_side.c: 89: unsigned short ad_adverage(u
+ nsigned char channel)
69 ;motor_side.c: 90: {
70 041E _ad_adverage
71 ; _channel assigned to ?a_ad_adverage+0
72 0000 _ad_adverage$channel set ?a_ad_adverage
73 ; _i assigned to ?a_ad_adverage+1
74 0000 _ad_adverage$i set ?a_ad_adverage+1
75 ; _Summation assigned to ?a_ad_adverage+3
76 0000 _ad_adverage$Summation set ?a_ad_adverage+3
77 ;_channel stored from w
78 041E 0183 clrf 3 ;select bank 0
79 041F 00BC movwf ?a_ad_adverage
80 ;motor_side.c: 91: unsigned long Summation = 0;
81 0420 01BF clrf ?a_ad_adverage+3
82 0421 01C0 clrf ?a_ad_adverage+4
83 0422 01C1 clrf ?a_ad_adverage+5
84 0423 01C2 clrf ?a_ad_adverage+6
85 ;motor_side.c: 92: unsigned short i;
86 0424 01BD clrf ?a_ad_adverage+1
87 0425 01BE clrf ?a_ad_adverage+2
88 0426 l21
89 ;motor_side.c: 95: Summation += adc_read(channe
+ l);
90 0426 083C movf ?a_ad_adverage,w
91 0427 2540 fcall _adc_read
92 0428 01F2 clrf btemp+2
93 0429 01F3 clrf btemp+3
94 042A 0870 movf btemp,w
95 042B 07BF addwf ?a_ad_adverage+3
96 042C 0871 movf btemp+1,w
97 042D 1803 btfsc 3,0
98 042E 0F71 incfsz btemp+1,w
99 042F 07C0 addwf ?a_ad_adverage+4
100 0430 0872 movf btemp+2,w
101 0431 1803 btfsc 3,0
102 0432 0F72 incfsz btemp+2,w
103 0433 07C1 addwf ?a_ad_adverage+5
104 0434 0873 movf btemp+3,w
105 0435 1803 btfsc 3,0
106 0436 0A73 incf btemp+3,w
107 0437 07C2 addwf ?a_ad_adverage+6
108 ;motor_side.c: 96: }
109 0438 0ABD incf ?a_ad_adverage+1
110 0439 1903 btfsc 3,2
111 043A 0ABE incf ?a_ad_adverage+2
112 043B 3010 movlw 16
113 043C 023E subwf ?a_ad_adverage+2,w
114 043D 3000 movlw 0
115 043E 1903 btfsc 3,2
116 043F 023D subwf ?a_ad_adverage+1,w
117 0440 1C03 btfss 3,0
118 0441 2C26 goto l21
119 ;motor_side.c: 97: return (unsigned short)(Summ
+ ation >> 12);
120 0442 083F movf ?a_ad_adverage+3,w
121 0443 00F0 movwf btemp
122 0444 0840 movf ?a_ad_adverage+4,w
123 0445 00F1 movwf btemp+1
124 0446 0841 movf ?a_ad_adverage+5,w
125 0447 00F2 movwf btemp+2
126 0448 0842 movf ?a_ad_adverage+6,w
127 0449 00F3 movwf btemp+3
128 044A 300C movlw 12
129 044B 120A 118A 20D7 fcall llslr
+ 120A 118A
130 0450 0870 movf btemp,w
131 0451 00C3 movwf ?a_ad_adverage+7
132 0452 0871 movf btemp+1,w
133 0453 00C4 movwf ?a_ad_adverage+8
134 0454 0872 movf btemp+2,w
135 0455 00C5 movwf ?a_ad_adverage+9
136 0456 0873 movf btemp+3,w
137 0457 00C6 movwf ?a_ad_adverage+10
138 0458 0844 movf ?a_ad_adverage+8,w
139 0459 00F1 movwf btemp+1
140 045A 0843 movf ?a_ad_adverage+7,w
141 045B 00F0 movwf btemp
142 ;motor_side.c: 98: }
143 045C 0008 return
144 ;motor_side.c: 169: void clear_zer0()
145 ;motor_side.c: 170: {
146 045D _clear_zer0
147 ; _value_of_ad assigned to ?a_clear_zer0+0
148 0000 _clear_zer0$value_of_ad set ?a_clear_zer0
149 ; _i assigned to ?a_clear_zer0+1
150 0000 _clear_zer0$i set ?a_clear_zer0+1
151 ; _change_result assigned to ?a_clear_zer0+2
152 0000 _clear_zer0$change_result set ?a_clear_zer0+2
153 ;motor_side.c: 171: short change_result;
154 045D 2563 fcall _key_release
155 ;motor_side.c: 175: change_result = ad_adverage
+ (1);
156 045E 3001 movlw 1
157 045F 241E 120A 118A fcall _ad_adverage
158 0462 0870 movf btemp,w
159 0463 00A6 movwf ?a_clear_zer0+2
160 0464 0871 movf btemp+1,w
161 0465 00A7 movwf ?a_clear_zer0+3
162 ;motor_side.c: 176: change_result -= dema_value
+ [0];
163 0466 1683 bsf 3,5
164 0467 0820 movf _dema_value^(0+128),w
165 0468 1283 bcf 3,5
166 0469 02A6 subwf ?a_clear_zer0+2
167 046A 1C03 btfss 3,0
168 046B 03A7 decf ?a_clear_zer0+3
169 046C 1683 bsf 3,5
170 046D 0821 movf (_dema_value+1)^(0+128),w
171 046E 1283 bcf 3,5
172 046F 02A7 subwf ?a_clear_zer0+3
173 ;motor_side.c: 177: for(i = 0; i < 3; i++){
174 0470 01A5 clrf ?a_clear_zer0+1
175 0471 l46
176 ;motor_side.c: 178: dema_value[i] += change_res
+ ult;
177 0471 0825 movf ?a_clear_zer0+1,w
178 0472 0725 addwf ?a_clear_zer0+1,w
179 0473 3EA0 addlw _dema_value
180 0474 0084 movwf 4
181 0475 1383 bcf 3,7
182 0476 0826 movf ?a_clear_zer0+2,w
183 0477 0780 addwf 0
184 0478 0A84 incf 4
185 0479 1803 btfsc 3,0
186 047A 0A80 incf 0
187 047B 0827 movf ?a_clear_zer0+3,w
188 047C 0780 addwf 0
189 047D 0384 decf 4
190 ;motor_side.c: 179: }
191 047E 0AA5 incf ?a_clear_zer0+1
192 047F 3003 movlw 3
193 0480 0225 subwf ?a_clear_zer0+1,w
194 0481 1C03 btfss 3,0
195 0482 2C71 goto l46
196 ;motor_side.c: 180: for(i = 0; i < 3; i++){
197 0483 01A5 clrf ?a_clear_zer0+1
198 0484 l49
199 ;motor_side.c: 181: value_of_ad = (dema_value[i
+ ] >> 8) & 0xff;
200 0484 0825 movf ?a_clear_zer0+1,w
201 0485 0725 addwf ?a_clear_zer0+1,w
202 0486 3EA0 addlw _dema_value
203 0487 0084 movwf 4
204 0488 1383 bcf 3,7
205 0489 0800 movf 0,w
206 048A 00F0 movwf btemp
207 048B 0A84 incf 4
208 048C 0800 movf 0,w
209 048D 00F1 movwf btemp+1
210 048E 00A4 movwf ?a_clear_zer0
211 ;motor_side.c: 182: eeprom_write(i * 2,value_of
+ _ad);
212 048F 00BC movwf ?_eeprom_write
213 0490 0825 movf ?a_clear_zer0+1,w
214 0491 0725 addwf ?a_clear_zer0+1,w
215 0492 120A 118A 20E2 fcall _eeprom_write
+ 120A 118A
216 ;motor_side.c: 183: delay(8,250);
217 0497 3008 movlw 8
218 0498 00CA movwf ?_delay
219 0499 01CB clrf ?_delay+1
220 049A 30FA movlw 250
221 049B 00CC movwf ?_delay+2
222 049C 01CD clrf ?_delay+3
223 049D 2521 fcall _delay
224 ;motor_side.c: 184: value_of_ad = dema_value[i]
+ & 0xff;
225 049E 0825 movf ?a_clear_zer0+1,w
226 049F 0725 addwf ?a_clear_zer0+1,w
227 04A0 3EA0 addlw _dema_value
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -