📄 1.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-88888 Sat Apr 26 09:26:48 2008
Licensed to: ONE TWO
1 processor 16F877A
2 opt pw 79
3 psect __Z88888RS_,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 text3,local,class=CODE,delta=2
8 psect intcode,global,class=CODE,delta=2
9 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
10 psect intret,global,class=CODE,delta=2
11 psect intentry,global,class=CODE,delta=2
12 psect intsave,global,class=BANK0,space=1,delta
+ =1
13 psect text5,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 __Z88888RS_
28 0190
29 0190
30
31 psect const1
32 003A 0782 addwf 2
33 003B _xianshi
34 003B 343F retlw 63
35 003C 3406 retlw 6
36 003D 345B retlw 91
37 003E 344F retlw 79
38 003F 3466 retlw 102
39 0040 346D retlw 109
40 0041 347D retlw 125
41 0042 3407 retlw 7
42 0043 347F retlw 127
43 0044 346F retlw 111
44
45 psect text2
46 07B9 _delay
47 ; _i assigned to ?a_delay+0
48 0000 _delay$i set ?a_delay
49 ;1.c: 27: for(i=0;i<10;i++)
50 07B9 0183 clrf 3 ;select bank 0
51 07BA 01A3 clrf ?a_delay
52 07BB 01A4 clrf ?a_delay+1
53 07BC l4
54 ;1.c: 28: i=i;
55 07BC 0823 movf ?a_delay,w
56 07BD 0824 movf ?a_delay+1,w
57 07BE 0AA3 incf ?a_delay
58 07BF 1903 btfsc 3,2
59 07C0 0AA4 incf ?a_delay+1
60 07C1 0824 movf ?a_delay+1,w
61 07C2 3A80 xorlw 128
62 07C3 00F0 movwf btemp
63 07C4 3080 movlw 128
64 07C5 0270 subwf btemp,w
65 07C6 300A movlw 10
66 ;set bank bits for (((?a_delay+0)))
67 07C7 1903 btfsc 3,2
68 07C8 0223 subwf ?a_delay,w
69 07C9 1803 btfsc 3,0
70 07CA 0008 return
71 07CB 2FBC goto l4
72 07CC _timer0initial
73 07CC 1683 bsf 3,5
74 07CD 1303 bcf 3,6 ;carry unused
75 07CE 1181 bcf 1,3
76 ;1.c: 14: T0CS=0;
77 07CF 1281 bcf 1,5
78 ;1.c: 15: T0IF=0;
79 07D0 110B bcf 11,2
80 ;1.c: 16: GIE=1;
81 07D1 178B bsf 11,7
82 ;1.c: 17: T0IE=1;
83 07D2 168B bsf 11,5
84 ;1.c: 18: TMR0=0xf0;
85 07D3 30F0 movlw -16
86 07D4 1283 bcf 3,5
87 07D5 0081 movwf 1 ;volatile
88 ;1.c: 19: PS0=1;
89 07D6 1683 bsf 3,5
90 07D7 1401 bsf 1,0
91 ;1.c: 20: PS1=1;
92 07D8 1481 bsf 1,1
93 ;1.c: 21: PS2=1;
94 07D9 1501 bsf 1,2
95 ;1.c: 23: }
96 07DA 1283 bcf 3,5
97 07DB 0008 return
98 07DC _initial
99 ;1.c: 7: INTCON=0x00;
100 07DC 018B clrf 11 ;volatile
101 ;1.c: 8: ADCON1=0x07;
102 07DD 3007 movlw 7
103 07DE 1683 bsf 3,5
104 07DF 1303 bcf 3,6 ;carry unused
105 07E0 009F movwf 31 ;volatile
106 ;1.c: 10: }
107 07E1 1283 bcf 3,5
108 07E2 0008 return
109 ;1.c: 48: void main()
110 ;1.c: 49: {
111 07E3 _main
112 ;1.c: 50: TRISB=0x00;
113 07E3 1683 bsf 3,5
114 07E4 1303 bcf 3,6 ;carry unused
115 07E5 0186 clrf 6 ;volatile
116 ;1.c: 51: TRISD=0x00;
117 07E6 0188 clrf 8 ;volatile
118 ;1.c: 53: initial();
119 07E7 27DC fcall _initial
120 ;1.c: 54: timer0initial();
121 07E8 27CC fcall _timer0initial
122 07E9 l14
123 ;1.c: 55: while(1)
124 ;1.c: 56: { PORTB=0xf7;
125 07E9 30F7 movlw -9
126 07EA 0086 movwf 6 ;volatile
127 ;1.c: 57: PORTD=xianshi[b]; delay(); PORTD=0x00
+ ;
128 07EB 3000 movlw _xianshi shr (0+8)
129 07EC 008A movwf 10
130 07ED 0821 movf _b,w
131 07EE 203A call ((_xianshi+-1)& (0+2047))| (($)& (0+-2048
+ ))
132 07EF 0088 movwf 8 ;volatile
133 07F0 120A 118A 27B9 fcall _delay
134 07F3 0188 clrf 8 ;volatile
135 ;1.c: 58: PORTB=0xef;
136 07F4 30EF movlw -17
137 07F5 0086 movwf 6 ;volatile
138 ;1.c: 59: PORTD=xianshi[c];delay(); PORTD=0x00;
139 07F6 3000 movlw _xianshi shr (0+8)
140 07F7 008A movwf 10
141 07F8 0822 movf _c,w
142 07F9 203A call ((_xianshi+-1)& (0+2047))| (($)& (0+-2048
+ ))
143 07FA 0088 movwf 8 ;volatile
144 07FB 120A 118A 27B9 fcall _delay
145 07FE 0188 clrf 8 ;volatile
146 ;1.c: 60: }
147 07FF 2FE9 goto l14
148
149 psect intcode
150 ;1.c: 32: void interrupt INT_TIMER1()
151 ;1.c: 33: {
152 000B _INT_TIMER1
153 000B int_func
154 ;1.c: 35: if(T0IF==1)
155 000B 1D0B btfss 11,2
156 000C 2822 goto l7
157 ;1.c: 36: { T0IF=0;
158 000D 110B bcf 11,2
159 ;1.c: 37: TMR0=0xf0;
160 000E 30F0 movlw -16
161 000F 1283 bcf 3,5
162 0010 1303 bcf 3,6 ;carry unused
163 0011 0081 movwf 1 ;volatile
164 ;1.c: 38: a++;
165 0012 0AA0 incf _a
166 ;1.c: 39: if(a==100)
167 0013 0820 movf _a,w
168 0014 3A64 xorlw 100
169 0015 1D03 btfss 3,2
170 0016 2822 goto l7
171 ;1.c: 40: {b++;
172 0017 0AA1 incf _b
173 ;1.c: 41: if(b==10) {c++; b=0;}
174 0018 0821 movf _b,w
175 0019 3A0A xorlw 10
176 001A 1D03 btfss 3,2
177 001B 281E goto l10
178 001C 0AA2 incf _c
179 001D 01A1 clrf _b
180 001E l10
181 ;1.c: 42: if(c==10) c=0;
182 001E 0822 movf _c,w
183 001F 3A0A xorlw 10
184 0020 1903 btfsc 3,2
185 0021 01A2 clrf _c
186 ;1.c: 43: }
187 ;1.c: 45: }
188 ;1.c: 46: }
189 0022 l7
190 0022 1303 bcf 3,6 ;carry unused
191 0023 1283 bcf 3,5
192
193 psect intsave_0
194 0071 saved_w
195 0071 ds 1
196
197 psect intret
198 0024 0826 movf saved_pclath,w
199 0025 008A movwf 10
200 0026 int_restore
201 0026 0825 movf saved_status,w
202 0027 0083 movwf 3
203 0028 0EF1 swapf saved_w
204 0029 0E71 swapf saved_w,w
205 002A 0009 retfie
206
207 psect intentry
208 0004 int_entry
209 0004 00F1 movwf saved_w
210 0005 0803 movf 3,w
211 0006 0183 clrf 3
212 0007 00A5 movwf saved_status
213 0008 080A movf 10,w
214 0009 00A6 movwf saved_pclath
215 000A 018A clrf 10
216
217 psect intsave
218 0025 saved_status
219 0025 ds 1
220 0026 saved_pclath
221 0026 ds 1
222
223 psect text5
224 0000
225 0000
226 0000
227 0000
228 0000
229 0000
230 0000
231 0000
232 0000
233 0000
234 0000
235 0000
236 0000
237 0000
238 0000
239 0000
240 0000
241 0000
242 0000
243 0000
244 0000
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
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -