📄 led.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-51037 Sun May 25 11:46:46 2008
Licensed to: ONE
1 processor 16F877A
2 opt pw 79
3 psect __Z51037RS_,global,delta=1
4 psect strings,global,class=STRING,delta=2
5 psect const1,local,class=CONST,delta=2
6 psect text2,local,class=CODE,delta=2
7 psect intcode,global,class=CODE,delta=2
8 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
9 psect intret,global,class=CODE,delta=2
10 psect intentry,global,class=CODE,delta=2
11 psect intsave,global,class=BANK0,space=1,delta
+ =1
12 psect text3,local,class=CODE,delta=2
13 psect text6,local,class=CODE,delta=2
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 __Z51037RS_
28 0190
29 0190
30
31 psect const1
32 0038 0782 addwf 2
33 0039 _table
34 0039 343F retlw 63
35 003A 3400 retlw 0
36 003B 3406 retlw 6
37 003C 3400 retlw 0
38 003D 345B retlw 91
39 003E 3400 retlw 0
40 003F 344F retlw 79
41 0040 3400 retlw 0
42 0041 3466 retlw 102
43 0042 3400 retlw 0
44 0043 346D retlw 109
45 0044 3400 retlw 0
46 0045 347D retlw 125
47 0046 3400 retlw 0
48 0047 3407 retlw 7
49 0048 3400 retlw 0
50 0049 347F retlw 127
51 004A 3400 retlw 0
52 004B 346F retlw 111
53 004C 3400 retlw 0
54
55 psect intcode
56 000B _time
57 000B int_func
58 ;led.c: 32: TMR1H=0xfc;
59 000B 30FC movlw -4
60 000C 0183 clrf 3 ;select bank 0
61 000D 008F movwf 15 ;volatile
62 ;led.c: 33: TMR1L=0x18;
63 000E 3018 movlw 24
64 000F 008E movwf 14 ;volatile
65 ;led.c: 34: TMR1IF=0;
66 0010 100C bcf 12,0
67 ;led.c: 35: count++;
68 0011 0AA2 incf _count
69 0012 1903 btfsc 3,2
70 0013 0AA3 incf _count+1
71 ;led.c: 36: if(count>1000)
72 0014 3003 movlw 3
73 0015 0223 subwf _count+1,w
74 0016 30E9 movlw 233
75 0017 1903 btfsc 3,2
76 0018 0222 subwf _count,w
77 0019 1C03 btfss 3,0
78 001A 2822 goto l3
79 ;led.c: 37: {
80 001B 01A2 clrf _count
81 001C 01A3 clrf _count+1
82 ;led.c: 39: i=i+1;
83 001D 0AA1 incf _i
84 ;led.c: 40: if(i>59)i=0;
85 001E 303C movlw 60
86 001F 0221 subwf _i,w
87 0020 1803 btfsc 3,0
88 0021 01A1 clrf _i
89 ;led.c: 41: }
90 ;led.c: 42: }
91 0022 l3
92
93 psect intsave_0
94 0075 saved_w
95 0075 ds 1
96
97 psect intret
98 0022 0827 movf saved_pclath,w
99 0023 008A movwf 10
100 0024 int_restore
101 0024 0826 movf saved_status,w
102 0025 0083 movwf 3
103 0026 0EF5 swapf saved_w
104 0027 0E75 swapf saved_w,w
105 0028 0009 retfie
106
107 psect intentry
108 0004 int_entry
109 0004 00F5 movwf saved_w
110 0005 0803 movf 3,w
111 0006 0183 clrf 3
112 0007 00A6 movwf saved_status
113 0008 080A movf 10,w
114 0009 00A7 movwf saved_pclath
115 000A 018A clrf 10
116 ;led.c: 44: fasong (date)
117 ;led.c: 45: {
118 ; param _date assigned to ?_fasong+0
119 0000 _fasong$date set ?_fasong
120
121 psect intsave
122 0026 saved_status
123 0026 ds 1
124 0027 saved_pclath
125 0027 ds 1
126
127 psect text3
128 0779 _fasong
129 ;led.c: 46: SSPBUF=date;
130 0779 0183 clrf 3 ;select bank 0
131 077A 0824 movf ?_fasong,w
132 077B 0093 movwf 19 ;volatile
133 077C l9
134 ;led.c: 47: do
135 ;led.c: 48: {;}while(SSPIF==0);
136 077C 1D8C btfss 12,3
137 077D 2F7C goto l9
138 ;led.c: 49: SSPIF=0;
139 077E 118C bcf 12,3
140 ;led.c: 50: }
141 077F 0008 return
142 ;led.c: 52: void display()
143 ;led.c: 53: {
144 0780 _display
145 ;led.c: 54: RA5=0;
146 0780 0183 clrf 3 ;select bank 0
147 0781 1285 bcf 5,5
148 ;led.c: 55: date=i%10;
149 0782 300A movlw 10
150 0783 00F1 movwf btemp+1
151 0784 0821 movf _i,w
152 0785 120A 118A 27CA fcall lbmod
153 0788 0870 movf btemp,w
154 0789 00A0 movwf _date
155 ;led.c: 56: date=table[date];
156 078A 3000 movlw _table shr (0+8)
157 078B 008A movwf 10
158 078C 0820 movf _date,w
159 078D 0720 addwf _date,w
160 078E 2038 call ((_table+-1)& (0+2047))| (($)& (0+-2048))
161 078F 00A0 movwf _date
162 ;led.c: 57: fasong(date);
163 0790 00A4 movwf ?_fasong
164 0791 01A5 clrf ?_fasong+1
165 0792 120A 118A 2779 fcall _fasong
166 ;led.c: 58: date=i/10;
167 0795 300A movlw 10
168 0796 00F1 movwf btemp+1
169 0797 0821 movf _i,w
170 0798 120A 118A 27CA fcall lbdiv
171 079B 00A0 movwf _date
172 ;led.c: 59: date=table[date];
173 079C 3000 movlw _table shr (0+8)
174 079D 008A movwf 10
175 079E 0820 movf _date,w
176 079F 0720 addwf _date,w
177 07A0 2038 call ((_table+-1)& (0+2047))| (($)& (0+-2048))
178 07A1 00A0 movwf _date
179 ;led.c: 60: fasong(date);
180 07A2 00A4 movwf ?_fasong
181 07A3 01A5 clrf ?_fasong+1
182 07A4 120A 118A 2779 fcall _fasong
183 ;led.c: 61: RA5=1;
184 07A7 1685 bsf 5,5
185 ;led.c: 62: }
186 07A8 0008 return
187 07A9 _spi_init
188 ;led.c: 12: PIR1=0;
189 07A9 0183 clrf 3 ;select bank 0
190 07AA 018C clrf 12 ;volatile
191 ;led.c: 13: SSPCON=0X30;
192 07AB 3030 movlw 48
193 07AC 0094 movwf 20 ;volatile
194 ;led.c: 14: SSPSTAT=0XC0;
195 07AD 30C0 movlw -64
196 07AE 1683 bsf 3,5
197 07AF 0094 movwf 20 ;volatile
198 ;led.c: 15: TRISC =0X00;
199 07B0 0187 clrf 7 ;volatile
200 ;led.c: 16: TRISA=0X00;
201 07B1 0185 clrf 5 ;volatile
202 ;led.c: 17: }
203 07B2 1283 bcf 3,5
204 07B3 0008 return
205 07B4 _init_trm1
206 07B4 178B bsf 11,7
207 ;led.c: 22: PEIE=1;
208 07B5 170B bsf 11,6
209 ;led.c: 23: TMR1IE=1;
210 07B6 1683 bsf 3,5
211 07B7 1303 bcf 3,6 ;carry unused
212 07B8 140C bsf 12,0
213 ;led.c: 24: TMR1IF=0;
214 07B9 1283 bcf 3,5
215 07BA 100C bcf 12,0
216 ;led.c: 25: T1CON=0x04;
217 07BB 3004 movlw 4
218 07BC 0090 movwf 16 ;volatile
219 ;led.c: 26: TMR1H=0xfc;
220 07BD 30FC movlw -4
221 07BE 008F movwf 15 ;volatile
222 ;led.c: 27: TMR1L=0x18;
223 07BF 3018 movlw 24
224 07C0 008E movwf 14 ;volatile
225 ;led.c: 28: T1CON=0x05;
226 07C1 3005 movlw 5
227 07C2 0090 movwf 16 ;volatile
228 ;led.c: 29: }
229 07C3 0008 return
230 ;led.c: 64: main()
231 ;led.c: 65: {
232 07C4 _main
233 ;led.c: 66: init_trm1();
234 07C4 27B4 fcall _init_trm1
235 ;led.c: 67: spi_init();
236 07C5 27A9 fcall _spi_init
237 07C6 l13
238 ;led.c: 68: while(1)
239 ;led.c: 69: {
240 07C6 2780 120A 118A fcall _display
241 ;led.c: 71: }
242 07C9 2FC6 goto l13
243
244 psect text6
245 0000
246 0000
247 0000
248 0000
249 0000
250 0000
251 0000
252 0000
253 0000
254 0000
255 0000
256 0000
257 0000
258 0000
259 0000
260 0000
261 0000
262 0000
263 0000
264 0000
265 0000
266 0000
267 0000
268 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -