📄 main2.lst
字号:
HI-TECH Software PICC Macro Assembler V9.50PL2
Thu May 22 18:01:42 2008
1 processor 16F886
2 opt pw 79
3 psect text5,local,class=CODE,delta=2
4 psect text19,local,class=CODE,delta=2
5 psect intcode,global,class=CODE,delta=2
6 psect intsave_0,global,ovrld,class=COMBANK,spa
+ ce=1,delta=1
7 psect intret,global,class=CODE,delta=2
8 psect intentry,global,class=CODE,delta=2
9 psect intsave,global,class=BANK0,space=1,delta
+ =1
10 psect text22,local,class=CODE,delta=2
11 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
12 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
13 0000
14 0000
15 0000
16 0000
17 0000
18 0000
19 0000
20 0000
21 0000
22 0000
23
24 psect text5
25 02EA _write_m
26 ; _num assigned to ?a_write_m+0
27 0000 _write_m$num set ?a_write_m
28 ; _t1 assigned to ?a_write_m+1
29 0000 _write_m$t1 set ?a_write_m+1
30 ; _t2 assigned to ?a_write_m+2
31 0000 _write_m$t2 set ?a_write_m+2
32 ;_num stored from w
33 02EA 0183 clrf 3 ;select bank 0
34 02EB 00A6 movwf ?a_write_m
35 ;main2.c: 81: void write_m(unsigned char num,un
+ signed char location)
36 02EC 300A movlw 10
37 02ED 00F1 movwf btemp+1
38 02EE 0826 movf ?a_write_m,w
39 02EF 120A 118A 2782 fcall lbdiv
40 02F2 00A7 movwf ?a_write_m+1
41 ;main2.c: 86: t2=num%10;
42 02F3 300A movlw 10
43 02F4 00F1 movwf btemp+1
44 02F5 0826 movf ?a_write_m,w
45 02F6 120A 118A 2782 fcall lbmod
+ 120A 118A
46 02FB 0870 movf btemp,w
47 02FC 00A8 movwf ?a_write_m+2
48 ;main2.c: 87: write_com(location);
49 02FD 0825 movf ?_write_m,w
50 02FE 25B9 120A 118A fcall _write_com
51 ;main2.c: 88: write_dat(0x4d);
52 0301 304D movlw 77
53 0302 25C6 120A 118A fcall _write_dat
54 ;main2.c: 89: write_dat(0x3a);
55 0305 303A movlw 58
56 0306 25C6 120A 118A fcall _write_dat
57 ;main2.c: 90: write_dat(t1+0x30);
58 0309 0827 movf ?a_write_m+1,w
59 030A 3E30 addlw 48
60 030B 25C6 120A 118A fcall _write_dat
61 ;main2.c: 91: write_dat(t2+0x30);
62 030E 0828 movf ?a_write_m+2,w
63 030F 3E30 addlw 48
64 0310 25C6 120A 118A fcall _write_dat
65 ;main2.c: 92: write_dat(0x25);
66 0313 3025 movlw 37
67 0314 25C6 120A 118A fcall _write_dat
68 ;main2.c: 93: write_dat(0x52);
69 0317 3052 movlw 82
70 0318 25C6 120A 118A fcall _write_dat
71 ;main2.c: 94: write_dat(0x48);
72 031B 3048 movlw 72
73 031C 2DC6 ljmp _write_dat
74 031D _disp_temp
75 ; _location assigned to ?a_disp_temp+0
76 0000 _disp_temp$location set ?a_disp_temp
77 ; _g assigned to ?a_disp_temp+1
78 0000 _disp_temp$g set ?a_disp_temp+1
79 ; _x1 assigned to ?a_disp_temp+2
80 0000 _disp_temp$x1 set ?a_disp_temp+2
81 ; _s assigned to ?a_disp_temp+3
82 0000 _disp_temp$s set ?a_disp_temp+3
83 ; _b assigned to ?a_disp_temp+4
84 0000 _disp_temp$b set ?a_disp_temp+4
85 ; _xx assigned to ?a_disp_temp+5
86 0000 _disp_temp$xx set ?a_disp_temp+5
87 ; _wd assigned to ?a_disp_temp+7
88 0000 _disp_temp$wd set ?a_disp_temp+7
89 ;_location stored from w
90 031D 0183 clrf 3 ;select bank 0
91 031E 00A6 movwf ?a_disp_temp
92 ;main2.c: 469: void disp_temp(unsigned char loc
+ ation,unsigned char add)
93 031F 01AD clrf ?a_disp_temp+7
94 0320 01AE clrf ?a_disp_temp+8
95 ;main2.c: 475: wd|=tab[0];
96 0321 0823 movf _tab,w
97 0322 04AD iorwf ?a_disp_temp+7
98 ;main2.c: 476: wd=wd<<8;
99 0323 082D movf ?a_disp_temp+7,w
100 0324 00AE movwf ?a_disp_temp+8
101 0325 01AD clrf ?a_disp_temp+7
102 ;main2.c: 477: wd|=tab[1];
103 0326 0824 movf _tab+1,w
104 0327 04AD iorwf ?a_disp_temp+7
105 ;main2.c: 478: write_com(location);
106 0328 0826 movf ?a_disp_temp,w
107 0329 25B9 120A 118A fcall _write_com
108 ;main2.c: 479: if(add==0x02)
109 032C 0825 movf ?_disp_temp,w
110 032D 3A02 xorlw 2
111 032E 1D03 btfss 3,2
112 032F 2B32 goto l78
113 ;main2.c: 480: {
114 0330 3062 movlw 98
115 0331 2B3C goto L2
116 ;main2.c: 482: }
117 0332 l78
118 ;main2.c: 483: else if(add==0x04)
119 0332 0825 movf ?_disp_temp,w
120 0333 3A04 xorlw 4
121 0334 1D03 btfss 3,2
122 0335 2B38 goto l80
123 ;main2.c: 484: {
124 0336 3063 movlw 99
125 0337 2B3C goto L2
126 ;main2.c: 486: }
127 0338 l80
128 ;main2.c: 487: else if(add==0x00)
129 0338 08A5 movf ?_disp_temp
130 0339 1D03 btfss 3,2
131 033A 2B3F goto l79
132 ;main2.c: 488: {
133 033B 3061 movlw 97
134 033C L2
135 033C 25C6 120A 118A fcall _write_dat
136 033F l79
137 ;main2.c: 490: }
138 033F 303A movlw 58
139 0340 25C6 120A 118A fcall _write_dat
140 ;main2.c: 492: if(wd&0x8000)
141 0343 1FAE btfss ?a_disp_temp+8,7
142 0344 2B4C goto l83
143 ;main2.c: 493: {
144 0345 302D movlw 45
145 0346 25C6 120A 118A fcall _write_dat
146 ;main2.c: 495: wd=~wd;
147 0349 09AD comf ?a_disp_temp+7
148 034A 09AE comf ?a_disp_temp+8
149 ;main2.c: 496: }
150 034B 2B50 goto l84
151 034C l83
152 ;main2.c: 497: else
153 034C 302B movlw 43
154 034D 25C6 120A 118A fcall _write_dat
155 0350 l84
156 ;main2.c: 500: }
157 0350 1003 bcf 3,0
158 0351 0DAD rlf ?a_disp_temp+7
159 0352 0DAE rlf ?a_disp_temp+8
160 ;main2.c: 502: wd=wd>>6;
161 0353 3006 movlw 6
162 0354 00F0 movwf btemp
163 0355 u315
164 0355 1003 bcf 3,0
165 0356 0CAE rrf ?a_disp_temp+8
166 0357 0CAD rrf ?a_disp_temp+7
167 0358 0BF0 decfsz btemp
168 0359 2B55 goto u315
169 ;main2.c: 503: xx=(unsigned int)((wd*10)/8);
170 035A 300A movlw 10
171 035B 00F2 movwf btemp+2
172 035C 01F3 clrf btemp+3
173 035D 082E movf ?a_disp_temp+8,w
174 035E 00F1 movwf btemp+1
175 035F 082D movf ?a_disp_temp+7,w
176 0360 00F0 movwf btemp
177 0361 120A 118A 22D5 fcall lwmul
178 0364 1003 bcf 3,0
179 0365 0CF5 rrf btemp+5
180 0366 0CF4 rrf btemp+4
181 0367 1003 bcf 3,0
182 0368 0CF5 rrf btemp+5
183 0369 0CF4 rrf btemp+4
184 036A 1003 bcf 3,0
185 036B 0CF5 rrf btemp+5
186 036C 0CF4 rrf btemp+4
187 036D 0874 movf btemp+4,w
188 036E 00AB movwf ?a_disp_temp+5
189 036F 0875 movf btemp+5,w
190 0370 00AC movwf ?a_disp_temp+6
191 ;main2.c: 504: b=(unsigned char)(xx/1000);
192 0371 30E8 movlw 232
193 0372 00F2 movwf btemp+2
194 0373 3003 movlw 3
195 0374 00F3 movwf btemp+3
196 0375 082C movf ?a_disp_temp+6,w
197 0376 00F1 movwf btemp+1
198 0377 082B movf ?a_disp_temp+5,w
199 0378 00F0 movwf btemp
200 0379 120A 118A 27B8 fcall lwdiv
201 037C 0874 movf btemp+4,w
202 037D 00AA movwf ?a_disp_temp+4
203 ;main2.c: 505: s=(unsigned char)((xx-b*1000)/10
+ 0);
204 037E 30E8 movlw 232
205 037F 00F2 movwf btemp+2
206 0380 3003 movlw 3
207 0381 00F3 movwf btemp+3
208 0382 082A movf ?a_disp_temp+4,w
209 0383 00F0 movwf btemp
210 0384 01F1 clrf btemp+1
211 0385 120A 118A 22D5 fcall lwmul
212 0388 082C movf ?a_disp_temp+6,w
213 0389 00F1 movwf btemp+1
214 038A 082B movf ?a_disp_temp+5,w
215 038B 00F0 movwf btemp
216 038C 0874 movf btemp+4,w
217 038D 02F0 subwf btemp
218 038E 1C03 btfss 3,0
219 038F 03F1 decf btemp+1
220 0390 0875 movf btemp+5,w
221 0391 02F1 subwf btemp+1
222 0392 3064 movlw 100
223 0393 00F2 movwf btemp+2
224 0394 3000 movlw 0
225 0395 01F3 clrf btemp+3
226 0396 120A 118A 27B8 fcall lwdiv
227 0399 0874 movf btemp+4,w
228 039A 00A9 movwf ?a_disp_temp+3
229 ;main2.c: 506: g=(unsigned char)((xx-b*1000-s*1
+ 00)/10);
230 039B 3064 movlw 100
231 039C 00F2 movwf btemp+2
232 039D 01F3 clrf btemp+3
233 039E 0829 movf ?a_disp_temp+3,w
234 039F 00F0 movwf btemp
235 03A0 01F1 clrf btemp+1
236 03A1 120A 118A 22D5 fcall lwmul
237 03A4 0874 movf btemp+4,w
238 03A5 00AF movwf ?a_disp_temp+9
239 03A6 0875 movf btemp+5,w
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -