?? 16f684.lst
字號(hào):
HI-TECH Software PICC Macro Assembler V9.60
Mon Aug 25 00:23:38 2008
1 processor 16F684
2 opt pw 79
3 psect text0,local,class=CODE,delta=2
4 psect config,global,class=CONFIG,delta=2
5 psect rdata_0,global,class=BANK0,space=1,delta
+ =1
6 psect idata_0,global,class=CODE,delta=2
7 psect text1,local,class=CODE,delta=2
8 psect text2,local,class=CODE,delta=2
9 psect intcode,global,class=CODE,delta=2
10 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
11 psect intret,global,class=CODE,delta=2
12 psect intentry,global,class=CODE,delta=2
13 psect intsave,global,class=BANK0,space=1,delta
+ =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 text0
28 01C4 _main
29 ;16f684.c: 11: void main()
30 01C4 21E2 call _portinit
31 ;16f684.c: 16: (GIE = 1);
32 01C5 178B bsf 11,7
33 ;16f684.c: 18: RC4= 0;
34 01C6 1207 bcf 7,4
35 01C7 l4
36 ;16f684.c: 19: while(1)
37 ;16f684.c: 20: {
38 01C7 0824 movf _sum+1,w
39 01C8 3A80 xorlw 128
40 01C9 00F4 movwf btemp
41 01CA 3080 movlw 128
42 01CB 0274 subwf btemp,w
43 01CC 301A movlw 26
44 ;set bank bits for (((_sum)))
45 01CD 1903 btfsc 3,2
46 01CE 0223 subwf _sum,w
47 01CF 1C03 btfss 3,0
48 01D0 29D3 goto l6
49 ;16f684.c: 22: RC4 = 1;
50 01D1 1607 bsf 7,4
51 01D2 29D4 goto l7
52 01D3 l6
53 ;16f684.c: 23: else RC4 = 0;
54 01D3 1207 bcf 7,4
55 01D4 l7
56 ;16f684.c: 24: if(sum[1]>25)
57 01D4 0826 movf _sum+3,w
58 01D5 3A80 xorlw 128
59 01D6 00F4 movwf btemp
60 01D7 3080 movlw 128
61 01D8 0274 subwf btemp,w
62 01D9 301A movlw 26
63 ;set bank bits for ((0+(_sum+2)))
64 01DA 1903 btfsc 3,2
65 01DB 0225 subwf _sum+2,w
66 01DC 1C03 btfss 3,0
67 01DD 29E0 goto l8
68 ;16f684.c: 25: RC5 = 1;
69 01DE 1687 bsf 7,5
70 01DF 29C7 goto l4
71 01E0 l8
72 ;16f684.c: 26: else RC5 = 0;
73 01E0 1287 bcf 7,5
74 01E1 29C7 goto l4
75
76 psect config
77 2007 3FD4 dw 16340 ;#
78
79 psect rdata_0
80 0023 _sum
_sum
81 0023 ds 2
ds 2
82 0025 ds 2
83
84 psect idata_0
85 00A0 3400 retlw 0
86 00A1 3400 retlw 0
87 00A2 3400 retlw 0
88 00A3 3400 retlw 0
89
90 psect text1
91 01E2 _portinit
92 ;16f684.c: 32: void portinit( void )
93 01E2 3007 movlw 7
94 01E3 1683 bsf 3,5
95 01E4 008F movwf 15 ;volatile
96 ;16f684.c: 36: CMCON0 = 0X07;
97 01E5 1283 bcf 3,5
98 01E6 0099 movwf 25 ;volatile
99 ;16f684.c: 37: ANSEL = 0X03;
100 01E7 3003 movlw 3
101 01E8 1683 bsf 3,5
102 01E9 0091 movwf 17
103 ;16f684.c: 38: TRISA = 0X03;
104 01EA 0085 movwf 5 ;volatile
105 ;16f684.c: 39: TRISC = 0X0F;
106 01EB 300F movlw 15
107 01EC 0087 movwf 7 ;volatile
108 ;16f684.c: 40: ADCON0 = 0X81;
109 01ED 3081 movlw -127
110 01EE 1283 bcf 3,5
111 01EF 009F movwf 31 ;volatile
112 ;16f684.c: 41: ADCON1 = 0X60;
113 01F0 3060 movlw 96
114 01F1 1683 bsf 3,5
115 01F2 009F movwf 31
116 ;16f684.c: 42: PIE1 = 0X00;
117 01F3 018C clrf 12
118 ;16f684.c: 44: ADIE = 1;
119 01F4 170C bsf 12,6
120 ;16f684.c: 45: PEIE = 1;
121 01F5 170B bsf 11,6
122 ;16f684.c: 46: GODONE = 1;
123 01F6 1283 bcf 3,5
124 01F7 149F bsf 31,1
125 ;16f684.c: 47: }
126 01F8 0008 return ;W free
127
128 psect intcode
129 001C _adint
130 001C int_func
131 ;16f684.c: 59: void interrupt adint( void )
132 001C 1283 bcf 3,5
133 001D 130C bcf 12,6
134 ;16f684.c: 63: adresult.adre[0]=ADRESL;
135 001E 1683 bsf 3,5
136 001F 081E movf 30,w ;volatile
137 0020 1283 bcf 3,5
138 0021 00A1 movwf _adresult
139 ;16f684.c: 64: adresult.adre[1]=ADRESH;
140 0022 081E movf 30,w ;volatile
141 0023 00A2 movwf _adresult+1
142 ;16f684.c: 66: if(CH == 0)
143 0024 08A0 movf _CH
144 0025 1D03 btfss 3,2
145 0026 2843 goto l12
146 ;16f684.c: 67: {
147 0027 0822 movf _adresult+1,w
148 0028 00F5 movwf btemp+1
149 0029 0821 movf _adresult,w
150 002A 00F4 movwf btemp
151 002B 21AF call awtoft
152 002C 01F7 clrf btemp+3
153 002D 3048 movlw 72
154 002E 00F8 movwf btemp+4
155 002F 3042 movlw 66
156 0030 00F9 movwf btemp+5
157 0031 2138 call ftmul
158 0032 01F7 clrf btemp+3
159 0033 3080 movlw 128
160 0034 00F8 movwf btemp+4
161 0035 3044 movlw 68
162 0036 00F9 movwf btemp+5
163 0037 2100 call ftdiv
164 0038 2179 call fttol
165 0039 0874 movf btemp,w
166 003A 00A3 movwf _sum
167 003B 0875 movf btemp+1,w
168 003C 00A4 movwf _sum+1
169 ;16f684.c: 69: CHS2 = 0;
170 003D 121F bcf 31,4
171 ;16f684.c: 70: CHS1 = 0;
172 003E 119F bcf 31,3
173 ;16f684.c: 71: CHS0 = 1;
174 003F 151F bsf 31,2
175 ;16f684.c: 72: CH = 1;
176 0040 01A0 clrf _CH
177 0041 0AA0 incf _CH
178 ;16f684.c: 73: }
179 0042 285D goto l13
180 0043 l12
181 ;16f684.c: 74: else
182 0043 0822 movf _adresult+1,w
183 0044 00F5 movwf btemp+1
184 0045 0821 movf _adresult,w
185 0046 00F4 movwf btemp
186 0047 21AF call awtoft
187 0048 01F7 clrf btemp+3
188 0049 3048 movlw 72
189 004A 00F8 movwf btemp+4
190 004B 3042 movlw 66
191 004C 00F9 movwf btemp+5
192 004D 2138 call ftmul
193 004E 01F7 clrf btemp+3
194 004F 3080 movlw 128
195 0050 00F8 movwf btemp+4
196 0051 3044 movlw 68
197 0052 00F9 movwf btemp+5
198 0053 2100 call ftdiv
199 0054 2179 call fttol
200 0055 0874 movf btemp,w
201 0056 00A5 movwf _sum+2
202 0057 0875 movf btemp+1,w
203 0058 00A6 movwf _sum+3
204 ;16f684.c: 77: CHS2 = 0;
205 0059 121F bcf 31,4
206 ;16f684.c: 78: CHS1 = 0;
207 005A 119F bcf 31,3
208 ;16f684.c: 79: CHS0 = 0;
209 005B 111F bcf 31,2
210 ;16f684.c: 80: CH = 0;
211 005C 01A0 clrf _CH
212 005D l13
213 ;16f684.c: 81: }
214 005D 149F bsf 31,1
215 ;16f684.c: 84: }
216 005E 1283 bcf 3,5
217
218 psect intsave_0
219 0073 saved_w
saved_w
220 0073 ds 1
221
222 psect intret
223 0071 082A movf saved_fsr,w
224 0072 0084 movwf 4 ;restore FSR
225 0073 int_restore
226 0073 0829 movf saved_status,w
227 0074 0083 movwf 3
228 0075 0EF3 swapf saved_w
229 0076 0E73 swapf saved_w,w
230 0077 0009 retfie
231
232 psect intentry
233 0004 int_entry
234 0004 00F3 movwf saved_w
235 0005 0803 movf 3,w
236 0006 0183 clrf 3
237 0007 00A9 movwf saved_status
238 0008 0804 movf 4,w
239 0009 00AA movwf saved_fsr
240 0000
?? 快捷鍵說明
復(fù)制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號(hào)
Ctrl + =
減小字號(hào)
Ctrl + -