📄 main.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL1
Serial number: HCPIC-16605 Wed May 6 22:02:25 2009
Licensed to: ONE
1 processor 16F877
2 opt pw 79
3 psect __Z16605RS_,global,delta=1
4 psect text0,local,class=CODE,delta=2
5 psect config,global,class=CONFIG,delta=2
6 psect text1,local,class=CODE,delta=2
7 psect temp,global,ovrld,class=BANK0,space=1,de
+ lta=1
8 0000
9 0000
10 0000
11 0000
12 0000
13 0000
14 0000
15 0000
16 0000
17 0000
18
19 psect __Z16605RS_
20 0190
21 0190 ;#
22
23 psect text0
24 0691 _main
25 ; _pNum assigned to ?a_main+0
26 0000 _main$pNum set ?a_main
27 ; _k assigned to ?a_main+1
28 0000 _main$k set ?a_main+1
29 ; _i assigned to ?a_main+3
30 0000 _main$i set ?a_main+3
31 ; _DstNum assigned to ?a_main+5
32 0000 _main$DstNum set ?a_main+5
33 ; _ScrNum assigned to ?a_main+7
34 0000 _main$ScrNum set ?a_main+7
35 ;MAIN.C: 20: int i=0,k=9,ScrNum=0,DstNum=0,*pNu
+ m;
36 0691 1283 bcf 3,5
37 0692 1303 bcf 3,6 ;carry unused
38 0693 01A3 clrf ?a_main+3
39 0694 01A4 clrf ?a_main+4
40 0695 3009 movlw 9
41 0696 00A1 movwf ?a_main+1
42 0697 01A2 clrf ?a_main+2
43 0698 01A7 clrf ?a_main+7
44 0699 01A8 clrf ?a_main+8
45 069A 01A5 clrf ?a_main+5
46 069B 01A6 clrf ?a_main+6
47 ;MAIN.C: 21: delay(700);
48 069C 30BC movlw 188
49 069D 00B2 movwf ?_delay
50 069E 3002 movlw 2
51 069F 00B3 movwf ?_delay+1
52 06A0 120A 118A 261F fcall _delay
53 ;MAIN.C: 22: TRISD=0x00;
54 06A3 1683 bsf 3,5
55 06A4 0188 clrf 8 ;volatile
56 ;MAIN.C: 23: PORTD=0x00;
57 06A5 1283 bcf 3,5
58 06A6 0188 clrf 8 ;volatile
59 ;MAIN.C: 24: TRISB=0xF0;
60 06A7 30F0 movlw -16
61 06A8 1683 bsf 3,5
62 06A9 0086 movwf 6 ;volatile
63 ;MAIN.C: 25: PORTB=0x0;
64 06AA 1283 bcf 3,5
65 06AB 0186 clrf 6 ;volatile
66 ;MAIN.C: 26: pNum=&ScrNum;
67 06AC 3027 movlw ?a_main+7
68 06AD 00A0 movwf ?a_main
69 06AE l3
70 ;MAIN.C: 27: while(1)
71 ;MAIN.C: 28: {
72 06AE 120A 118A 2649 fcall _scankeypad
+ 120A 118A
73 06B3 00A3 movwf ?a_main+3
74 06B4 01A4 clrf ?a_main+4
75 06B5 0824 movf ?a_main+4,w
76 ;MAIN.C: 31: if(i>=0 && i<=9)
77 06B6 1BA4 btfsc ?a_main+4,7
78 06B7 2EF9 goto L2
79 06B8 3A80 xorlw 128
80 06B9 00F0 movwf btemp
81 06BA 3080 movlw 128
82 06BB 0270 subwf btemp,w
83 06BC 300A movlw 10
84 ;set bank bits (((?a_main+3)))
85 06BD 1903 btfsc 3,2
86 06BE 0223 subwf ?a_main+3,w
87 06BF 1803 btfsc 3,0
88 06C0 2EF8 goto l8
89 ;MAIN.C: 32: {
90 06C1 300A movlw 10
91 06C2 00F2 movwf btemp+2
92 06C3 01F3 clrf btemp+3
93 06C4 0820 movf ?a_main,w
94 06C5 0084 movwf 4
95 06C6 1383 bcf 3,7
96 06C7 0800 movf 0,w
97 06C8 00F0 movwf btemp
98 06C9 0A84 incf 4
99 06CA 0800 movf 0,w
100 06CB 00F1 movwf btemp+1
101 06CC 120A 118A 260A fcall awmul
+ 120A 118A
102 06D1 0823 movf ?a_main+3,w
103 06D2 07F4 addwf btemp+4
104 06D3 1803 btfsc 3,0
105 06D4 0AF5 incf btemp+5
106 06D5 0824 movf ?a_main+4,w
107 06D6 07F5 addwf btemp+5
108 06D7 0820 movf ?a_main,w
109 06D8 0084 movwf 4
110 06D9 1383 bcf 3,7
111 06DA 0874 movf btemp+4,w
112 06DB 0080 movwf 0
113 06DC 0A84 incf 4
114 06DD 0875 movf btemp+5,w
115 06DE 0080 movwf 0
116 ;MAIN.C: 34: }
117 06DF 2F0C goto l6
118 ;MAIN.C: 36: {
119 06E0 l9
120 ;MAIN.C: 38: {
121 06E0 3025 movlw ?a_main+5
122 06E1 2EF6 goto L1
123 06E2 l10
124 ;MAIN.C: 40: case '=' : pNum=&ScrNum;
125 06E2 3027 movlw ?a_main+7
126 06E3 00A0 movwf ?a_main
127 ;MAIN.C: 41: *pNum+=DstNum;
128 06E4 0084 movwf 4
129 06E5 1383 bcf 3,7
130 06E6 0825 movf ?a_main+5,w
131 06E7 0780 addwf 0
132 06E8 0A84 incf 4
133 06E9 1803 btfsc 3,0
134 06EA 0A80 incf 0
135 06EB 0826 movf ?a_main+6,w
136 06EC 0780 addwf 0
137 06ED 0384 decf 4
138 ;MAIN.C: 42: DstNum=0;
139 06EE 01A5 clrf ?a_main+5
140 06EF 01A6 clrf ?a_main+6
141 ;MAIN.C: 43: break;
142 06F0 2F0C goto l6
143 06F1 l11
144 ;MAIN.C: 44: case 'C' : ScrNum=0; DstNum=0;
145 06F1 01A7 clrf ?a_main+7
146 06F2 01A8 clrf ?a_main+8
147 06F3 01A5 clrf ?a_main+5
148 06F4 01A6 clrf ?a_main+6
149 ;MAIN.C: 45: pNum=&ScrNum;
150 06F5 3027 movlw ?a_main+7
151 06F6 L1
152 06F6 00A0 movwf ?a_main
153 ;MAIN.C: 46: break;
154 ;MAIN.C: 47: case 0xFF : break;
155 ;MAIN.C: 48: default : break;
156 06F7 2F0C goto l6
157 06F8 l8
158 06F8 0824 movf ?a_main+4,w
159 06F9 L2
160 06F9 00F3 movwf btemp+3
161 06FA 0823 movf ?a_main+3,w
162 06FB 00F2 movwf btemp+2
163 06FC 2F09 goto l30003
164 06FD l30004
165 06FD 0872 movf btemp+2,w
166 06FE 3A2B xorlw 43
167 06FF 1903 btfsc 3,2
168 0700 2EE0 goto l9
169 0701 3A16 xorlw 22
170 0702 1903 btfsc 3,2
171 0703 2EE2 goto l10
172 0704 3A7E xorlw 126
173 0705 1903 btfsc 3,2
174 0706 2EF1 goto l11
175 0707 3ABC xorlw 188
176 0708 2F0C goto l6
177 0709 l30003
178 0709 0873 movf btemp+3,w
179 070A 1903 btfsc 3,2
180 070B 2EFD goto l30004
181 070C l6
182 ;MAIN.C: 50: }
183 ;MAIN.C: 51: Show4b(*pNum);
184 070C 0820 movf ?a_main,w
185 070D 0084 movwf 4
186 070E 1383 bcf 3,7
187 070F 0800 movf 0,w
188 0710 00A9 movwf ?_Show4b
189 0711 0A84 incf 4
190 0712 0800 movf 0,w
191 0713 00AA movwf ?_Show4b+1
192 0714 120A 118A 2773 fcall _Show4b
+ 120A 118A
193 ;MAIN.C: 52: }
194 0719 2EAE goto l3
195
196 psect config
197 2007 3F79 dw 16249 ;#
198
199 psect text1
200 0000
201 0000
202 0000
203 0000
204 0000
205 0000
206 0000
207 0000
208 0000
209 0000
210 0000
211 0000
212 0000
213 0000
214 0000
215 0000
216 0000
217 0000
218 0000
219 0000
220 0000
221 0000
222 0000
223 0000
224 0000
225 0000
226 0000
227 0000
228 0000
229 0000
230 0000
231 0000
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -