📄 2402.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-34706 Fri Sep 5 13:19:24 2008
Licensed to: ONE
1 processor 16F72
2 opt pw 79
3 psect __Z34706RS_,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 text0,local,class=CODE,delta=2
7 psect config,global,class=CONFIG,delta=2
8 psect text1,local,class=CODE,delta=2
9 psect text2,local,class=CODE,delta=2
10 psect text3,local,class=CODE,delta=2
11 psect text4,local,class=CODE,delta=2
12 psect text5,local,class=CODE,delta=2
13 psect text6,local,class=CODE,delta=2
14 psect text7,local,class=CODE,delta=2
15 psect text8,local,class=CODE,delta=2
16 psect text9,local,class=CODE,delta=2
17 psect text10,local,class=CODE,delta=2
18 0000
19 0000
20 0000
21 0000
22 0000
23 0000
24 0000
25 0000
26 0000
27 0000
28
29 psect __Z34706RS_
30 00A0
31 00A0
32
33 psect rdata_0
34 0028 _disp
35 0028 ds 1
36 0029 ds 1
37 002A ds 1
38 002B ds 1
39 002C ds 1
40 002D ds 1
41 002E ds 1
42 002F ds 1
43 0030 ds 1
44 0031 ds 1
45 0032 ds 1
46 0033 ds 1
47
48 psect idata_0
49 07F4 34C0 retlw -64
50 07F5 34F9 retlw -7
51 07F6 34A4 retlw -92
52 07F7 34B0 retlw -80
53 07F8 3499 retlw -103
54 07F9 3492 retlw -110
55 07FA 3482 retlw -126
56 07FB 34F8 retlw -8
57 07FC 3480 retlw -128
58 07FD 3490 retlw -112
59 07FE 34FF retlw -1
60 07FF 3400 retlw 0 ;#
61
62 psect text0
63 0740 _delay1
64 ; _x assigned to ?a_delay1+0
65 0000 _delay1$x set ?a_delay1
66 ; _u assigned to ?a_delay1+1
67 0000 _delay1$u set ?a_delay1+1
68 ; _i assigned to ?a_delay1+2
69 0000 _delay1$i set ?a_delay1+2
70 ;_x stored from w
71 0740 0183 clrf 3 ;select bank 0
72 0741 00A5 movwf ?a_delay1
73 ;2402.c: 27: unsigned char i,u;
74 0742 01A7 clrf ?a_delay1+2
75 0743 2F46 goto l5
76 0744 l2
77 ;2402.c: 29: u=~u;
78 0744 09A6 comf ?a_delay1+1
79 0745 0AA7 incf ?a_delay1+2
80 0746 l5
81 0746 0825 movf ?a_delay1,w
82 0747 0227 subwf ?a_delay1+2,w
83 0748 1803 btfsc 3,0
84 0749 0008 return
85 074A 2F44 goto l2
86
87 psect config
88 2007 3FA2 dw 16290 ;#
89
90 psect text1
91 ;2402.c: 33: void x24c02_init()
92 ;2402.c: 34: {
93 0728 _x24c02_init
94 ;2402.c: 35: RC3=1; asm("nop"); RC5=1; asm("nop
+ ");
95 0728 0183 clrf 3 ;select bank 0
96 0729 1587 bsf 7,3
97 072A 0000 nop ;#
98 072B 1687 bsf 7,5
99 072C 0000 nop ;#
100 ;2402.c: 36: }
101 072D 0008 return
102
103 psect text2
104 ;2402.c: 38: void start()
105 ;2402.c: 39: {
106 0736 _start
107 ;2402.c: 40: RC5=1; asm("nop"); RC3=1; asm("nop
+ "); RC5=0; asm("nop"); RC3=0; asm("nop");
108 0736 0183 clrf 3 ;select bank 0
109 0737 1687 bsf 7,5
110 0738 0000 nop ;#
111 0739 1587 bsf 7,3
112 073A 0000 nop ;#
113 073B 1287 bcf 7,5
114 073C 0000 nop ;#
115 073D 1187 bcf 7,3
116 073E 0000 nop ;#
117 ;2402.c: 41: }
118 073F 0008 return
119
120 psect text3
121 ;2402.c: 43: void stop()
122 ;2402.c: 44: {
123 072E _stop
124 ;2402.c: 45: RC5=0; asm("nop"); RC3=1; asm("nop
+ "); RC5=1; asm("nop");
125 072E 0183 clrf 3 ;select bank 0
126 072F 1287 bcf 7,5
127 0730 0000 nop ;#
128 0731 1587 bsf 7,3
129 0732 0000 nop ;#
130 0733 1687 bsf 7,5
131 0734 0000 nop ;#
132 ;2402.c: 46: }
133 0735 0008 return
134
135 psect text4
136 ;2402.c: 48: void writex(unsigned char j)
137 ;2402.c: 49: {
138 0785 _writex
139 ; _j assigned to ?a_writex+0
140 0000 _writex$j set ?a_writex
141 ; _temp assigned to ?a_writex+1
142 0000 _writex$temp set ?a_writex+1
143 ; _i assigned to ?a_writex+2
144 0000 _writex$i set ?a_writex+2
145 ;_j stored from w
146 0785 0183 clrf 3 ;select bank 0
147 0786 00A5 movwf ?a_writex
148 ;2402.c: 50: unsigned char i,temp;
149 0787 00A6 movwf ?a_writex+1
150 ;2402.c: 52: for (i=0;i<8;i++){
151 0788 01A7 clrf ?a_writex+2
152 ;2402.c: 53: temp=temp<<1; RC3=0; asm("nop");
153 0789 1003 bcf 3,0
154 078A L1
155 078A 0DA6 rlf ?a_writex+1
156 078B 1187 bcf 7,3
157 078C 0000 nop ;#
158 ;2402.c: 54: RC5=CARRY;
159 078D 1C03 btfss 3,0
160 078E 2F91 goto u20
161 078F 1687 bsf 7,5
162 0790 2F92 goto u34
163 0791 u20
164 0791 1287 bcf 7,5
165 0792 u34
166 ;2402.c: 55: asm("nop"); RC3=1; asm("nop");
167 0792 0000 nop ;#
168 0793 1283 bcf 3,5
169 0794 1303 bcf 3,6 ;carry unused
170 0795 1587 bsf 7,3
171 0796 0000 nop ;#
172 ;2402.c: 56: }
173 0797 0AA7 incf ?a_writex+2
174 0798 3008 movlw 8
175 0799 0227 subwf ?a_writex+2,w
176 079A 1C03 btfss 3,0
177 079B 2F8A goto L1
178 ;2402.c: 57: RC3=0; asm("nop"); RC5=1; asm("nop
+ ");
179 079C 1187 bcf 7,3
180 079D 0000 nop ;#
181 079E 1687 bsf 7,5
182 079F 0000 nop ;#
183 ;2402.c: 58: }
184 07A0 0008 return
185
186 psect text5
187 ;2402.c: 60: unsigned char readx()
188 ;2402.c: 61: {
189 07A1 _readx
190 ; _j assigned to ?a_readx+0
191 0000 _readx$j set ?a_readx
192 ; _i assigned to ?a_readx+1
193 0000 _readx$i set ?a_readx+1
194 ; _k assigned to ?a_readx+2
195 0000 _readx$k set ?a_readx+2
196 ;2402.c: 62: unsigned char i,j,k=0;
197 07A1 0183 clrf 3 ;select bank 0
198 07A2 01A7 clrf ?a_readx+2
199 ;2402.c: 63: TRISC5=1;asm("nop");RC3=0; asm("no
+ p");
200 07A3 1683 bsf 3,5
201 07A4 1687 bsf 7,5
202 07A5 0000 nop ;#
203 07A6 1283 bcf 3,5
204 07A7 1187 bcf 7,3
205 07A8 0000 nop ;#
206 ;2402.c: 64: for (i=0;i<8;i++){
207 07A9 01A6 clrf ?a_readx+1
208 07AA l14
209 ;2402.c: 65: asm("nop"); RC3=1; asm("nop");
210 07AA 0000 nop ;#
211 07AB 1587 bsf 7,3
212 07AC 0000 nop ;#
213 07AD 01A5 clrf ?a_readx
214 ;2402.c: 66: if (RC5==1) j=1;
215 07AE 1A87 btfsc 7,5
216 07AF 0AA5 incf ?a_readx
217 ;2402.c: 67: else j=0;
218 ;2402.c: 68: k=(k<<1)|j; RC3=0;
219 07B0 0827 movf ?a_readx+2,w
220 07B1 0727 addwf ?a_readx+2,w
221 07B2 0425 iorwf ?a_readx,w
222 07B3 00A7 movwf ?a_readx+2
223 07B4 1187 bcf 7,3
224 ;2402.c: 69: }
225 07B5 0AA6 incf ?a_readx+1
226 07B6 3008 movlw 8
227 07B7 0226 subwf ?a_readx+1,w
228 07B8 1C03 btfss 3,0
229 07B9 2FAA goto l14
230 ;2402.c: 70: TRISC5=0;asm("nop"); return(k);
231 07BA 1683 bsf 3,5
232 07BB 1287 bcf 7,5
233 07BC 0000 nop ;#
234 07BD 1283 bcf 3,5
235 07BE 0827 movf ?a_readx+2,w
236 ;2402.c: 71: }
237 07BF 0008 return
238
239 psect text6
240 ;2402.c: 73: void clock()
241 ;2402.c: 74: {
242 076E _clock
243 ; _i assigned to ?a_clock+0
244 0000 _clock$i set ?a_clock
245 ;2402.c: 75: unsigned char i=0;
246 076E 0183 clrf 3 ;select bank 0
247 076F 01A5 clrf ?a_clock
248 ;2402.c: 76: TRISC5=1;asm("nop");RC3=1; asm("no
+ p");
249 0770 1683 bsf 3,5
250 0771 1687 bsf 7,5
251 0772 0000 nop ;#
252 0773 1283 bcf 3,5
253 0774 1587 bsf 7,3
254 0775 0000 nop ;#
255 ;2402.c: 77: while ((RC5==1)&&(i>250))i++;
256 0776 2F78 goto l20
257 0777 l21
258 0777 0AA5 incf ?a_clock
259 0778 l20
260 0778 1E87 btfss 7,5
261 0779 2F7E goto l22
262 077A 30FB movlw -5
263 077B 0225 subwf ?a_clock,w
264 077C 1803 btfsc 3,0
265 077D 2F77 goto l21
266 077E l22
267 ;2402.c: 78: TRISC5=0;asm("nop");RC3=0; asm("no
+ p");
268 077E 1683 bsf 3,5
269 077F 1287 bcf 7,5
270 0780 0000 nop ;#
271 0781 1283 bcf 3,5
272 0782 1187 bcf 7,3
273 0783 0000 nop ;#
274 ;2402.c: 79: }
275 0784 0008 return
276
277 psect text7
278 ;2402.c: 81: unsigned char x24c02_read(unsigned
+ char address)
279 ;2402.c: 82: {
280 075A _x24c02_read
281 ; _address assigned to ?a_x24c02_read+0
282 0000 _x24c02_read$address set ?a_x24c02_read
283 ; _i assigned to ?a_x24c02_read+1
284 0000 _x24c02_read$i set ?a_x24c02_read+1
285 ;_address stored from w
286 075A 0183 clrf 3 ;select bank 0
287 075B 00A3 movwf ?a_x24c02_read
288 ;2402.c: 83: unsigned char i;
289 075C 2736 call _start
290 075D 30A0 movlw -96
291 075E 2785 call _writex
292 ;2402.c: 85: clock(); writex(address);
293 075F 276E call _clock
294 0760 0823 movf ?a_x24c02_read,w
295 0761 2785 call _writex
296 ;2402.c: 86: clock(); start();
297 0762 276E call _clock
298 0763 2736 call _start
299 ;2402.c: 87: writex(0xa1); clock();
300 0764 30A1 movlw -95
301 0765 2785 call _writex
302 0766 276E call _clock
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -