📄 adc.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-04158 Mon Mar 12 10:00:49 2007
Licensed to: ONE
1 processor 16F877A
2 opt pw 79
3 psect __Z04158RS_,global,delta=1
4 psect config,global,class=CONFIG,delta=2
5 psect strings,global,class=STRING,delta=2
6 psect const1,local,class=CONST,delta=2
7 psect text3,local,class=CODE,delta=2
8 psect text4,local,class=CODE,delta=2
9 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20
21 psect __Z04158RS_
22 0190
23 0190 ;#
24
25 psect config
26 2007 1832 dw 6194 ;#
27
28 psect const1
29 0008 0782 addwf 2
30 0009 _TABLE
31 0009 34C0 retlw -64
32 000A 34F9 retlw -7
33 000B 34A4 retlw -92
34 000C 34B0 retlw -80
35 000D 3499 retlw -103
36 000E 3492 retlw -110
37 000F 3482 retlw -126
38 0010 34F8 retlw -8
39 0011 3480 retlw -128
40 0012 3490 retlw -112
41
42 psect text3
43 ;adc.c: 71: void DELAY()
44 ;adc.c: 72: {
45 06FF _DELAY
46 ; _i assigned to ?a_DELAY+0
47 0000 _DELAY$i set ?a_DELAY
48 ;adc.c: 73: int i;
49 06FF 0183 clrf 3 ;select bank 0
50 0700 01AE clrf ?a_DELAY
51 0701 3001 movlw 1
52 0702 00AF movwf ?a_DELAY+1
53 0703 l17
54 0703 082E movf ?a_DELAY,w
55 0704 1903 btfsc 3,2
56 0705 03AF decf ?a_DELAY+1
57 0706 03AE decf ?a_DELAY
58 0707 0A2E incf ?a_DELAY,w
59 0708 1903 btfsc 3,2
60 0709 0A2F incf ?a_DELAY+1,w
61 070A 1903 btfsc 3,2
62 070B 0008 return
63 070C 2F03 goto l17
64 ;adc.c: 39: void init()
65 ;adc.c: 40: {
66 070D _init
67 ;adc.c: 41: PORTA=0XFF;
68 070D 30FF movlw -1
69 070E 0183 clrf 3 ;select bank 0
70 070F 0085 movwf 5 ;volatile
71 ;adc.c: 42: PORTD=0XFF;
72 0710 0088 movwf 8 ;volatile
73 ;adc.c: 43: TRISA=0X1;
74 0711 3001 movlw 1
75 0712 1683 bsf 3,5
76 0713 0085 movwf 5 ;volatile
77 ;adc.c: 44: TRISD=0X00;
78 0714 0188 clrf 8 ;volatile
79 ;adc.c: 45: ADCON1=0X8E;
80 0715 308E movlw -114
81 0716 009F movwf 31 ;volatile
82 ;adc.c: 46: ADCON0=0X41;
83 0717 3041 movlw 65
84 0718 1283 bcf 3,5
85 0719 009F movwf 31 ;volatile
86 ;adc.c: 47: DELAY();
87 071A 2EFF ljmp _DELAY
88 071B _main
89 ; _result assigned to ?a_main+0
90 0000 _main$result set ?a_main
91 ; _i assigned to ?a_main+2
92 0000 _main$i set ?a_main+2
93 ;adc.c: 21: int result=0x00;
94 071B 1283 bcf 3,5
95 071C 1303 bcf 3,6 ;carry unused
96 071D 01A0 clrf ?a_main
97 071E 01A1 clrf ?a_main+1
98 071F l3
99 ;adc.c: 22: while(1)
100 ;adc.c: 23: {
101 071F 01A0 clrf ?a_main
102 0720 01A1 clrf ?a_main+1
103 ;adc.c: 26: for(i=5;i>0;i--)
104 0721 3005 movlw 5
105 0722 00A2 movwf ?a_main+2
106 0723 01A3 clrf ?a_main+3
107 0724 l5
108 ;adc.c: 27: {
109 ;adc.c: 28: init();
110 0724 270D 120A 118A fcall _init
111 ;adc.c: 29: ADGO=0X1;
112 0727 151F bsf 31,2
113 ;adc.c: 30: while(ADGO);
114 0728 l8
115 0728 191F btfsc 31,2
116 0729 2F28 goto l8
117 ;adc.c: 31: result=result+ADRESL;
118 072A 1683 bsf 3,5
119 072B 081E movf 30,w ;volatile
120 072C 1283 bcf 3,5
121 072D 07A0 addwf ?a_main
122 072E 1803 btfsc 3,0
123 072F 0AA1 incf ?a_main+1
124 ;adc.c: 32: }
125 0730 08A2 movf ?a_main+2
126 0731 1903 btfsc 3,2
127 0732 03A3 decf ?a_main+3
128 0733 03A2 decf ?a_main+2
129 0734 0823 movf ?a_main+3,w
130 0735 3A80 xorlw 128
131 0736 00F0 movwf btemp
132 0737 3080 movlw 128
133 0738 0270 subwf btemp,w
134 0739 3001 movlw 1
135 ;set bank bits (((?a_main+2)))
136 073A 1903 btfsc 3,2
137 073B 0222 subwf ?a_main+2,w
138 073C 1803 btfsc 3,0
139 073D 2F24 goto l5
140 ;adc.c: 33: result=result/5;
141 073E 3005 movlw 5
142 073F 00F2 movwf btemp+2
143 0740 01F3 clrf btemp+3
144 0741 0820 movf ?a_main,w
145 0742 00F0 movwf btemp
146 0743 0821 movf ?a_main+1,w
147 0744 00F1 movwf btemp+1
148 0745 120A 118A 27B1 fcall awdiv
+ 120A 118A
149 074A 0874 movf btemp+4,w
150 074B 00A0 movwf ?a_main
151 074C 0875 movf btemp+5,w
152 074D 00A1 movwf ?a_main+1
153 ;adc.c: 34: display(result);
154 074E 0820 movf ?a_main,w
155 074F 00A4 movwf ?_display
156 0750 0821 movf ?a_main+1,w
157 0751 00A5 movwf ?_display+1
158 0752 2756 120A 118A fcall _display
159 ;adc.c: 35: }
160 0755 2F1F goto l3
161 0756 _display
162 ; _bai assigned to ?a_display+0
163 0000 _display$bai set ?a_display
164 ; _ge assigned to ?a_display+2
165 0000 _display$ge set ?a_display+2
166 ; _shi assigned to ?a_display+4
167 0000 _display$shi set ?a_display+4
168 ; _temp assigned to ?a_display+6
169 0000 _display$temp set ?a_display+6
170 ;adc.c: 53: int bai,shi,ge,temp;
171 0756 0183 clrf 3 ;select bank 0
172 0757 0824 movf ?_display,w
173 0758 00AC movwf ?a_display+6
174 0759 0825 movf ?_display+1,w
175 075A 00AD movwf ?a_display+7
176 ;adc.c: 55: bai=temp/0x64;
177 075B 3064 movlw 100
178 075C 00F2 movwf btemp+2
179 075D 01F3 clrf btemp+3
180 075E 082D movf ?a_display+7,w
181 075F 00F1 movwf btemp+1
182 0760 082C movf ?a_display+6,w
183 0761 00F0 movwf btemp
184 0762 120A 118A 27B1 fcall awdiv
185 0765 0874 movf btemp+4,w
186 0766 00A6 movwf ?a_display
187 0767 0875 movf btemp+5,w
188 0768 00A7 movwf ?a_display+1
189 ;adc.c: 56: shi=(temp%0x64)/0xa;
190 0769 3064 movlw 100
191 076A 00F2 movwf btemp+2
192 076B 01F3 clrf btemp+3
193 076C 082D movf ?a_display+7,w
194 076D 00F1 movwf btemp+1
195 076E 082C movf ?a_display+6,w
196 076F 00F0 movwf btemp
197 0770 120A 118A 27B1 fcall awmod
198 0773 300A movlw 10
199 0774 00F2 movwf btemp+2
200 0775 3000 movlw 0
201 0776 01F3 clrf btemp+3
202 0777 120A 118A 27B1 fcall awdiv
203 077A 0874 movf btemp+4,w
204 077B 00AA movwf ?a_display+4
205 077C 0875 movf btemp+5,w
206 077D 00AB movwf ?a_display+5
207 ;adc.c: 57: ge=(temp%0x64)%0xa;
208 077E 3064 movlw 100
209 077F 00F2 movwf btemp+2
210 0780 01F3 clrf btemp+3
211 0781 082D movf ?a_display+7,w
212 0782 00F1 movwf btemp+1
213 0783 082C movf ?a_display+6,w
214 0784 00F0 movwf btemp
215 0785 120A 118A 27B1 fcall awmod
216 0788 300A movlw 10
217 0789 00F2 movwf btemp+2
218 078A 3000 movlw 0
219 078B 01F3 clrf btemp+3
220 078C 120A 118A 27B1 fcall awmod
221 078F 0870 movf btemp,w
222 0790 00A8 movwf ?a_display+2
223 0791 0871 movf btemp+1,w
224 0792 00A9 movwf ?a_display+3
225 ;adc.c: 58: PORTD=TABLE[bai];
226 0793 3000 movlw _TABLE shr (0+8)
227 0794 008A movwf 10
228 0795 0826 movf ?a_display,w
229 0796 2008 call ((_TABLE+-1)& (0+2047))| (($)& (0+-2048))
230 0797 0088 movwf 8 ;volatile
231 ;adc.c: 59: PORTA=0x37;
232 0798 3037 movlw 55
233 0799 0085 movwf 5 ;volatile
234 ;adc.c: 60: DELAY();
235 079A 120A 118A 26FF fcall _DELAY
236 ;adc.c: 61: PORTD=TABLE[shi];
237 079D 3000 movlw _TABLE shr (0+8)
238 079E 008A movwf 10
239 079F 082A movf ?a_display+4,w
240 07A0 2008 call ((_TABLE+-1)& (0+2047))| (($)& (0+-2048))
241 07A1 0088 movwf 8 ;volatile
242 ;adc.c: 62: PORTA=0x2F;
243 07A2 302F movlw 47
244 07A3 0085 movwf 5 ;volatile
245 ;adc.c: 63: DELAY();
246 07A4 120A 118A 26FF fcall _DELAY
247 ;adc.c: 64: PORTD=TABLE[ge];
248 07A7 3000 movlw _TABLE shr (0+8)
249 07A8 008A movwf 10
250 07A9 0828 movf ?a_display+2,w
251 07AA 2008 call ((_TABLE+-1)& (0+2047))| (($)& (0+-2048))
252 07AB 0088 movwf 8 ;volatile
253 ;adc.c: 65: PORTA=0x1F;
254 07AC 301F movlw 31
255 07AD 0085 movwf 5 ;volatile
256 ;adc.c: 66: DELAY();
257 07AE 120A 118A 2EFF ljmp _DELAY
258
259 psect text4
260 0000
261 0000
262 0000
263 0000
264 0000
265 0000
266 0000
267 0000
268 0000
269 0000
270 0000
271 0000
272 0000
273 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -