📄 i2c24lc.lst
字号:
HI-TECH Software PICC Macro Assembler V9.50PL2
Fri Nov 23 16:28:23 2007
1 processor 16F876A
2 opt pw 79
3 psect rdata_0,global,class=BANK0,space=1,delta
+ =1
4 psect idata_0,global,class=CODE,delta=2
5 psect text11,local,class=CODE,delta=2
6 psect text16,local,class=CODE,delta=2
7 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
8 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19
20 psect rdata_0
21 0035 _write_table
22 0035 ds 1
23 0036 ds 1
24 0037 ds 1
25 0038 ds 1
26 0039 ds 1
27 003A ds 1
28 003B ds 1
29 003C ds 1
30 003D _read_Buff
31 003D ds 1
32 003E ds 7
33 0045 _read_Buff1
34 0045 ds 1
35 0046 ds 1
36 0047 ds 1
37 0048 ds 1
38 0049 ds 1
39 004A ds 1
40 004B ds 1
41 004C ds 1
42
43 psect idata_0
44 07E8 3401 retlw 1
45 07E9 3402 retlw 2
46 07EA 3403 retlw 3
47 07EB 3404 retlw 4
48 07EC 3405 retlw 5
49 07ED 3406 retlw 6
50 07EE 3407 retlw 7
51 07EF 3408 retlw 8
52 07F0 3400 retlw 0
53 07F1 3400 retlw 0
54 07F2 3400 retlw 0
55 07F3 3400 retlw 0
56 07F4 3400 retlw 0
57 07F5 3400 retlw 0
58 07F6 3400 retlw 0
59 07F7 3400 retlw 0
60 07F8 3409 retlw 9
61 07F9 3408 retlw 8
62 07FA 3407 retlw 7
63 07FB 3406 retlw 6
64 07FC 3405 retlw 5
65 07FD 3404 retlw 4
66 07FE 3403 retlw 3
67 07FF 3402 retlw 2
68
69 psect text11
70 05EF _data_check
71 ; _Data_REF assigned to ?a_data_check+0
72 0000 _data_check$Data_REF set ?a_data_check
73 ; _chk assigned to ?a_data_check+1
74 0000 _data_check$chk set ?a_data_check+1
75 ;_Data_REF stored from w
76 05EF 0183 clrf 3 ;select bank 0
77 05F0 00A8 movwf ?a_data_check
78 ;I2C24LC.C: 263: unsigned char data_check(unsig
+ ned char *Data_REF, unsigned char *Data_CHK,
79 05F1 2E09 goto l56
80 05F2 l57
81 ;I2C24LC.C: 267: {
82 05F2 0827 movf ?_data_check+1,w
83 05F3 0726 addwf ?_data_check,w
84 05F4 00F0 movwf btemp
85 05F5 0370 decf btemp,w
86 05F6 0084 movwf 4
87 05F7 1383 bcf 3,7
88 05F8 0800 movf 0,w
89 05F9 00F1 movwf btemp+1
90 05FA 0827 movf ?_data_check+1,w
91 05FB 0728 addwf ?a_data_check,w
92 05FC 00F0 movwf btemp
93 05FD 0370 decf btemp,w
94 05FE 0084 movwf 4
95 05FF 1383 bcf 3,7
96 0600 0800 movf 0,w
97 0601 0671 xorwf btemp+1,w
98 0602 1D03 btfss 3,2
99 0603 2E07 goto l59
100 ;I2C24LC.C: 269: { chk = 0x00;
101 0604 01A9 clrf ?a_data_check+1
102 ;I2C24LC.C: 270: n--;
103 0605 03A7 decf ?_data_check+1
104 ;I2C24LC.C: 271: }
105 0606 2E09 goto l56
106 0607 l59
107 ;I2C24LC.C: 272: else
108 0607 01A9 clrf ?a_data_check+1
109 0608 0AA9 incf ?a_data_check+1
110 ;I2C24LC.C: 274: continue;
111 0609 l56
112 0609 1283 bcf 3,5
113 060A 1303 bcf 3,6 ;carry unused
114 060B 08A7 movf ?_data_check+1
115 060C 1D03 btfss 3,2
116 060D 2DF2 goto l57
117 ;I2C24LC.C: 275: }
118 060E 0829 movf ?a_data_check+1,w
119 ;I2C24LC.C: 278: }
120 060F 0008 return ;uses W
121 0610 _delay
122 ; _k assigned to ?a_delay+0
123 0000 _delay$k set ?a_delay
124 ;I2C24LC.C: 253: void delay(unsigned int n)
125 0610 0183 clrf 3 ;select bank 0
126 0611 01A8 clrf ?a_delay
127 0612 01A9 clrf ?a_delay+1
128 0613 2E17 goto l54
129 0614 l51
130 0614 0AA8 incf ?a_delay
131 0615 1903 btfsc 3,2
132 0616 0AA9 incf ?a_delay+1
133 0617 l54
134 0617 0827 movf ?_delay+1,w
135 0618 0229 subwf ?a_delay+1,w
136 0619 1D03 btfss 3,2
137 061A 2E1D goto u185
138 061B 0826 movf ?_delay,w
139 061C 0228 subwf ?a_delay,w
140 061D u185
141 061D 1803 btfsc 3,0
142 061E 0008 return
143 061F 2E14 goto l51
144 0620 _I2C_WR
145 ; _b assigned to ?a_I2C_WR+0
146 0000 _I2C_WR$b set ?a_I2C_WR
147 ; _a assigned to ?a_I2C_WR+2
148 0000 _I2C_WR$a set ?a_I2C_WR+2
149 ;I2C24LC.C: 306: void I2C_WR(void)
150 0620 0183 clrf 3 ;select bank 0
151 0621 01A8 clrf ?a_I2C_WR+2
152 0622 01A9 clrf ?a_I2C_WR+3
153 0623 l71
154 ;I2C24LC.C: 311: {
155 0623 0829 movf ?a_I2C_WR+3,w
156 0624 00F1 movwf btemp+1
157 0625 0828 movf ?a_I2C_WR+2,w
158 0626 00F0 movwf btemp
159 0627 1003 bcf 3,0
160 0628 0DF0 rlf btemp
161 0629 0DF1 rlf btemp+1
162 062A 1003 bcf 3,0
163 062B 0DF0 rlf btemp
164 062C 0DF1 rlf btemp+1
165 062D 1003 bcf 3,0
166 062E 0DF0 rlf btemp
167 062F 0DF1 rlf btemp+1
168 0630 0870 movf btemp,w
169 0631 00A6 movwf ?a_I2C_WR
170 0632 0871 movf btemp+1,w
171 0633 00A7 movwf ?a_I2C_WR+1
172 ;I2C24LC.C: 314: iic_check=IIC(write_table,8,b,
+ (0xA0|0x00));
173 0634 3008 movlw 8
174 0635 00AA movwf ?_IIC
175 0636 0826 movf ?a_I2C_WR,w
176 0637 00AB movwf ?_IIC+1
177 0638 0827 movf ?a_I2C_WR+1,w
178 0639 00AC movwf ?_IIC+2
179 063A 30A0 movlw -96
180 063B 00AD movwf ?_IIC+3
181 063C 3035 movlw _write_table
182 063D 26E7 120A 118A fcall _IIC
183 0640 00A0 movwf _iic_check
184 0641 0AA8 incf ?a_I2C_WR+2
185 0642 1903 btfsc 3,2
186 0643 0AA9 incf ?a_I2C_WR+3
187 0644 3001 movlw 1
188 0645 0229 subwf ?a_I2C_WR+3,w
189 0646 3096 movlw 150
190 0647 1903 btfsc 3,2
191 0648 0228 subwf ?a_I2C_WR+2,w
192 0649 1803 btfsc 3,0
193 064A 0008 return
194 064B 2E23 goto l71
195 064C _SomeNOP
196 ; _hang assigned to ?a_SomeNOP+0
197 0000 _SomeNOP$hang set ?a_SomeNOP
198 ;I2C24LC.C: 57: SomeNOP()
199 064C 3002 movlw 2
200 064D 0183 clrf 3 ;select bank 0
201 064E 00B4 movwf ?a_SomeNOP
202 ;I2C24LC.C: 59: while(hang--);
203 064F l6
204 064F 03B4 decf ?a_SomeNOP
205 0650 0F34 incfsz ?a_SomeNOP,w
206 0651 2E4F goto l6
207 0652 0008 return
208 0653 _I2CStart
209 ;I2C24LC.C: 65: void I2CStart(void)
210 0653 138B bcf 11,7
211 ;I2C24LC.C: 68: TRISC &= ~0B00001000;
212 0654 1683 bsf 3,5
213 0655 1303 bcf 3,6 ;carry unused
214 0656 1187 bcf 7,3 ;volatile
215 ;I2C24LC.C: 69: TRISC &= ~0B00010000;
216 0657 1207 bcf 7,4 ;volatile
217 ;I2C24LC.C: 70: PORTC=(pc_out|= 0B00010000);
218 0658 1283 bcf 3,5
219 0659 1623 bsf _pc_out,4
220 065A 0823 movf _pc_out,w
221 065B 0087 movwf 7 ;volatile
222 ;I2C24LC.C: 72: PORTC =(pc_out|= 0B00001000);
223 065C 15A3 bsf _pc_out,3
224 065D 0823 movf _pc_out,w
225 065E 0087 movwf 7 ;volatile
226 ;I2C24LC.C: 73: SomeNOP(); SomeNOP();
227 065F 264C fcall _SomeNOP
228 0660 264C fcall _SomeNOP
229 ;I2C24LC.C: 74: PORTC=(pc_out&= ~0B00010000);
230 0661 1223 bcf _pc_out,4
231 0662 0823 movf _pc_out,w
232 0663 0087 movwf 7 ;volatile
233 ;I2C24LC.C: 75: SomeNOP(); SomeNOP();
234 0664 264C fcall _SomeNOP
235 0665 264C fcall _SomeNOP
236 ;I2C24LC.C: 76: PORTC =(pc_out&= ~0B00001000);
237 0666 11A3 bcf _pc_out,3
238 0667 0823 movf _pc_out,w
239 0668 0087 movwf 7 ;volatile
240 ;I2C24LC.C: 77: }
241 0669 0008 return ;W free
242 066A _I2CStop
243 ;I2C24LC.C: 80: void I2CStop(void)
244 066A 0183 clrf 3 ;select bank 0
245 066B 11A3 bcf _pc_out,3
246 066C 0823 movf _pc_out,w
247 066D 0087 movwf 7 ;volatile
248 ;I2C24LC.C: 83: PORTC=(pc_out&= ~0B00010000);
249 066E 1223 bcf _pc_out,4
250 066F 0823 movf _pc_out,w
251 0670 0087 movwf 7 ;volatile
252 ;I2C24LC.C: 84: SomeNOP();
253 0671 264C fcall _SomeNOP
254 ;I2C24LC.C: 85: PORTC =(pc_out|= 0B00001000);
255 0672 15A3 bsf _pc_out,3
256 0673 0823 movf _pc_out,w
257 0674 0087 movwf 7 ;volatile
258 ;I2C24LC.C: 86: SomeNOP();
259 0675 264C fcall _SomeNOP
260 ;I2C24LC.C: 87: PORTC=(pc_out|= 0B00010000);
261 0676 1623 bsf _pc_out,4
262 0677 0823 movf _pc_out,w
263 0678 0087 movwf 7 ;volatile
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -