📄 1213.lst
字号:
HI-TECH Software PICC Macro Assembler V8.05PL2
Serial number: HCPIC-00000 Sat Sep 15 08:44:33 2007
Licensed to: MITSOS FOREVER
1 processor 16F873A
2 opt pw 79
3 psect __Z00000RS_,global,delta=1
4 psect text1,local,class=CODE,delta=2
5 psect text3,local,class=CODE,delta=2
6 psect rbss_0,global,class=BANK0,space=1,delta=
+ 1
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 __Z00000RS_
20 00A0
21 00A0
22
23 psect text1
24 06EC _delay
25 ; _t assigned to ?a_delay+0
26 0000 _delay$t set ?a_delay
27 ;1213.c: 36: unsigned int t;
28 06EC 0183 clrf 3 ;select bank 0
29 06ED 0825 movf ?_delay+1,w
30 06EE 0424 iorwf ?_delay,w
31 06EF 1903 btfsc 3,2
32 06F0 0008 return
33 06F1 l3
34 ;1213.c: 38: for(t=110;t!=0;t--);
35 06F1 306E movlw 110
36 06F2 00A6 movwf ?a_delay
37 06F3 01A7 clrf ?a_delay+1
38 06F4 l6
39 06F4 08A6 movf ?a_delay
40 06F5 1903 btfsc 3,2
41 06F6 03A7 decf ?a_delay+1
42 06F7 03A6 decf ?a_delay
43 06F8 0827 movf ?a_delay+1,w
44 06F9 0426 iorwf ?a_delay,w
45 06FA 1D03 btfss 3,2
46 06FB 2EF4 goto l6
47 06FC 08A4 movf ?_delay
48 06FD 1903 btfsc 3,2
49 06FE 03A5 decf ?_delay+1
50 06FF 03A4 decf ?_delay
51 0700 0825 movf ?_delay+1,w
52 0701 0424 iorwf ?_delay,w
53 0702 1903 btfsc 3,2
54 0703 0008 return
55 0704 2EF1 goto l3
56 0705 _ioint
57 ;1213.c: 19: OPTION = 0xc8;
58 0705 30C8 movlw -56
59 0706 1683 bsf 3,5
60 0707 1303 bcf 3,6 ;carry unused
61 0708 0081 movwf 1
62 ;1213.c: 20: INTCON = 0xc0;
63 0709 30C0 movlw -64
64 070A 008B movwf 11 ;volatile
65 ;1213.c: 21: TRISC = 0x09;
66 070B 3009 movlw 9
67 070C 0087 movwf 7 ;volatile
68 ;1213.c: 22: TRISB = 0xF0;
69 070D 30F0 movlw -16
70 070E 0086 movwf 6 ;volatile
71 ;1213.c: 23: PORTC = 0;
72 070F 1283 bcf 3,5
73 0710 0187 clrf 7 ;volatile
74 ;1213.c: 28: }
75 0711 0008 return
76 ;1213.c: 45: main()
77 ;1213.c: 46: {
78 0712 _main
79 ;1213.c: 47: ioint();
80 0712 2705 fcall _ioint
81 0713 l11
82 ;1213.c: 48: while(1)
83 ;1213.c: 49: {
84 0713 01A1 clrf _x
85 ;1213.c: 51: RC4=0;
86 0714 1207 bcf 7,4
87 ;1213.c: 52: RC5=0;
88 0715 1287 bcf 7,5
89 ;1213.c: 53: RC6=0;
90 0716 1307 bcf 7,6
91 ;1213.c: 54: RC7=0;
92 0717 1387 bcf 7,7
93 ;1213.c: 55: delay(300);
94 0718 302C movlw 44
95 0719 00A4 movwf ?_delay
96 071A 3001 movlw 1
97 071B 00A5 movwf ?_delay+1
98 071C 26EC fcall _delay
99 ;1213.c: 56: RC1=1;
100 071D 1487 bsf 7,1
101 ;1213.c: 57: RC2=0;
102 071E 1107 bcf 7,2
103 ;1213.c: 58: delay(3);
104 071F 3003 movlw 3
105 0720 00A4 movwf ?_delay
106 0721 01A5 clrf ?_delay+1
107 0722 26EC fcall _delay
108 0723 300F movlw 15 ;#
109 0724 00A0 movwf _i ;将0x0f赋值给C中定义的变量i ;#
110 0725 delay1
111 0725 1087 bcf 7,1 ;RC1=0 ;#
112 0726 1507 bsf 7,2 ;RC2=1 ;#
113 0727 0000 nop ;#
114 0728 0000 nop ;#
115 0729 0000 nop ;#
116 072A 0000 nop ;#
117 072B 0000 nop ;#
118 072C 0000 nop ;#
119 072D 0000 nop ;#
120 072E 0000 nop ;#
121 072F 0000 nop ;#
122 0730 0000 nop ;#
123 0731 1487 bsf 7,1 ;RC1=1 ;#
124 0732 1107 bcf 7,2 ;RC2=0 ;#
125 0733 0000 nop ;#
126 0734 0000 nop ;#
127 0735 0000 nop ;#
128 0736 0000 nop ;#
129 0737 0000 nop ;#
130 0738 0000 nop ;#
131 0739 0000 nop ;#
132 073A 0000 nop ;#
133 073B 0BA0 decfsz _i ;i-1=0则跳过下一条指令 ;#
134 073C 2F25 goto delay1 ;#
135 073D 1087 bcf 7,1 ;RC1=0 ;#
136 073E 1107 bcf 7,2 ;RC2=0 ;#
137 073F 0000 nop ;#
138 ;1213.c: 91: while(RC3==1){;}
139 0740 l13
140 0740 1D87 btfss 7,3
141 0741 2F48 goto l16
142 0742 2F40 goto l13
143 ;1213.c: 92: while(RC3==0&&x<58)
144 0743 l17
145 ;1213.c: 93: {
146 0743 3017 movlw 23 ;#
147 0744 00A0 movwf _i ;将95赋值给C中定义的变量i ;#
148 0745 delay2
149 0745 0BA0 decfsz _i ;i-1=0则跳过下一条指令 ;#
150 0746 2F45 goto delay2 ;#
151 ;1213.c: 100: x=x+1;
152 0747 0AA1 incf _x
153 0748 l16
154 ;1213.c: 101: }
155 0748 1987 btfsc 7,3
156 0749 2F54 goto l19
157 074A 303A movlw 58
158 074B 0221 subwf _x,w
159 074C 1C03 btfss 3,0
160 074D 2F43 goto l17
161 ;1213.c: 102: while(RC3==1&&x<58)
162 074E 2F54 goto l19
163 074F l20
164 ;1213.c: 103: {
165 074F 3025 movlw 37 ;#
166 0750 00A0 movwf _i ;将45赋值给C中定义的变量i ;#
167 0751 delay3
168 0751 0BA0 decfsz _i ;i-1=0则跳过下一条指令 ;#
169 0752 2F51 goto delay3 ;#
170 ;1213.c: 110: x=x+1;
171 0753 0AA1 incf _x
172 0754 l19
173 ;1213.c: 111: }
174 0754 1D87 btfss 7,3
175 0755 2F5A goto l21
176 0756 303A movlw 58
177 0757 0221 subwf _x,w
178 0758 1C03 btfss 3,0
179 0759 2F4F goto l20
180 075A l21
181 ;1213.c: 112: y=x*34/2;
182 075A 3022 movlw 34
183 075B 00AA movwf btemp+2
184 075C 01AB clrf btemp+3
185 075D 0821 movf _x,w
186 075E 00A8 movwf btemp
187 075F 01A9 clrf btemp+1
188 0760 118A 26D5 fcall awmul
189 0762 082C movf btemp+4,w
190 0763 00A8 movwf btemp
191 0764 082D movf btemp+5,w
192 0765 00A9 movwf btemp+1
193 0766 3002 movlw 2
194 0767 00AA movwf btemp+2
195 0768 3000 movlw 0
196 0769 01AB clrf btemp+3
197 076A 118A 27AD 118A fcall awdiv
198 076D 082C movf btemp+4,w
199 076E 00A2 movwf _y
200 076F 082D movf btemp+5,w
201 0770 00A3 movwf _y+1
202 ;1213.c: 113: if(y<=350)
203 0771 3001 movlw 1
204 0772 0223 subwf _y+1,w
205 0773 305F movlw 95
206 0774 1903 btfsc 3,2
207 0775 0222 subwf _y,w
208 0776 1803 btfsc 3,0
209 0777 2F7D goto l22
210 ;1213.c: 114: {
211 0778 1607 bsf 7,4
212 ;1213.c: 116: delay(50);
213 0779 3032 movlw 50
214 077A 00A4 movwf ?_delay
215 077B 01A5 clrf ?_delay+1
216 077C 26EC fcall _delay
217 077D l22
218 ;1213.c: 117: }
219 077D 3001 movlw 1
220 077E 0223 subwf _y+1,w
221 077F 305F movlw 95
222 0780 1903 btfsc 3,2
223 0781 0222 subwf _y,w
224 0782 3001 movlw 1
225 0783 1C03 btfss 3,0
226 0784 2F91 goto L2
227 0785 0223 subwf _y+1,w
228 0786 30F5 movlw 245
229 0787 1903 btfsc 3,2
230 0788 0222 subwf _y,w
231 0789 1803 btfsc 3,0
232 078A 2F90 goto l23
233 ;1213.c: 119: {
234 078B 1687 bsf 7,5
235 ;1213.c: 121: delay(50);
236 078C 3032 movlw 50
237 078D 00A4 movwf ?_delay
238 078E 01A5 clrf ?_delay+1
239 078F 26EC fcall _delay
240 0790 l23
241 ;1213.c: 122: }
242 0790 3001 movlw 1
243 0791 L2
244 0791 0223 subwf _y+1,w
245 0792 30F5 movlw 245
246 0793 1903 btfsc 3,2
247 0794 0222 subwf _y,w
248 0795 3002 movlw 2
249 0796 1C03 btfss 3,0
250 0797 2FA1 goto L3
251 0798 0223 subwf _y+1,w
252 0799 308B movlw 139
253 079A 1903 btfsc 3,2
254 079B 0222 subwf _y,w
255 079C 1803 btfsc 3,0
256 079D 2FA0 goto l24
257 ;1213.c: 124: {
258 079E 1707 bsf 7,6
259 079F 2FA8 goto L1
260 ;1213.c: 126: delay(50);
261 ;1213.c: 127: }
262 07A0 l24
263 07A0 3002 movlw 2
264 07A1 L3
265 07A1 0223 subwf _y+1,w
266 07A2 308B movlw 139
267 07A3 1903 btfsc 3,2
268 07A4 0222 subwf _y,w
269 07A5 1C03 btfss 3,0
270 07A6 2F13 goto l11
271 ;1213.c: 129: {
272 07A7 1787 bsf 7,7
273 07A8 L1
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -