📄 main.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Generator V4.2.8 - 03 Dec 2008
4 bsct
5 0000 _i:
6 0000 0000 dc.w 0
55 ; 16 void xwDelay(void)
55 ; 17 {
57 switch .text
58 0000 _xwDelay:
60 0000 5204 subw sp,#4
61 00000004 OFST: set 4
64 ; 18 int i=2;
66 0002 ae0002 ldw x,#2
67 0005 1f01 ldw (OFST-3,sp),x
68 ; 19 int j=200;
70 0007 ae00c8 ldw x,#200
71 000a 1f03 ldw (OFST-1,sp),x
73 000c 200f jra L73
74 000e L54:
75 ; 20 while(i--)while(j--);
77 000e 1e03 ldw x,(OFST-1,sp)
78 0010 1d0001 subw x,#1
79 0013 1f03 ldw (OFST-1,sp),x
80 0015 1c0001 addw x,#1
81 0018 a30000 cpw x,#0
82 001b 26f1 jrne L54
83 001d L73:
86 001d 1e01 ldw x,(OFST-3,sp)
87 001f 1d0001 subw x,#1
88 0022 1f01 ldw (OFST-3,sp),x
89 0024 1c0001 addw x,#1
90 0027 a30000 cpw x,#0
91 002a 26e2 jrne L54
92 ; 21 }
95 002c 5b04 addw sp,#4
96 002e 81 ret
124 ; 22 @far @interrupt void Time2YiChu (void)
124 ; 23 {
126 switch .text
127 002f f_Time2YiChu:
129 002f 3b0002 push c_x+2
130 0032 be00 ldw x,c_x
131 0034 89 pushw x
132 0035 3b0002 push c_y+2
133 0038 be00 ldw x,c_y
134 003a 89 pushw x
137 ; 24 i++;
139 003b be00 ldw x,_i
140 003d 1c0001 addw x,#1
141 0040 bf00 ldw _i,x
142 ; 26 BEEP_Cmd(i%2);
144 0042 be00 ldw x,_i
145 0044 a602 ld a,#2
146 0046 cd0000 call c_smodx
148 0049 9f ld a,xl
149 004a cd0000 call _BEEP_Cmd
151 ; 28 if(i%3==0)
153 004d be00 ldw x,_i
154 004f a603 ld a,#3
155 0051 cd0000 call c_smodx
157 0054 a30000 cpw x,#0
158 0057 2614 jrne L16
159 ; 30 GPIO_WriteLow(GPIOD, GPIO_PIN_0);
161 0059 4b01 push #1
162 005b ae500f ldw x,#20495
163 005e cd0000 call _GPIO_WriteLow
165 0061 84 pop a
166 ; 31 GPIO_WriteHigh(GPIOD, GPIO_PIN_2|GPIO_PIN_3);
168 0062 4b0c push #12
169 0064 ae500f ldw x,#20495
170 0067 cd0000 call _GPIO_WriteHigh
172 006a 84 pop a
174 006b 203e jra L36
175 006d L16:
176 ; 35 else if(i%3==1)
178 006d be00 ldw x,_i
179 006f a603 ld a,#3
180 0071 cd0000 call c_smodx
182 0074 a30001 cpw x,#1
183 0077 2614 jrne L56
184 ; 37 GPIO_WriteLow(GPIOD, GPIO_PIN_2);
186 0079 4b04 push #4
187 007b ae500f ldw x,#20495
188 007e cd0000 call _GPIO_WriteLow
190 0081 84 pop a
191 ; 38 GPIO_WriteHigh(GPIOD, GPIO_PIN_0|GPIO_PIN_3);
193 0082 4b09 push #9
194 0084 ae500f ldw x,#20495
195 0087 cd0000 call _GPIO_WriteHigh
197 008a 84 pop a
199 008b 201e jra L36
200 008d L56:
201 ; 40 else if(i%3==2)
203 008d be00 ldw x,_i
204 008f a603 ld a,#3
205 0091 cd0000 call c_smodx
207 0094 a30002 cpw x,#2
208 0097 2612 jrne L36
209 ; 42 GPIO_WriteLow(GPIOD, GPIO_PIN_3);
211 0099 4b08 push #8
212 009b ae500f ldw x,#20495
213 009e cd0000 call _GPIO_WriteLow
215 00a1 84 pop a
216 ; 43 GPIO_WriteHigh(GPIOD, GPIO_PIN_0|GPIO_PIN_2);
218 00a2 4b05 push #5
219 00a4 ae500f ldw x,#20495
220 00a7 cd0000 call _GPIO_WriteHigh
222 00aa 84 pop a
223 00ab L36:
224 ; 48 xwDelay();
226 00ab cd0000 call _xwDelay
228 ; 51 }
231 00ae 85 popw x
232 00af bf00 ldw c_y,x
233 00b1 320002 pop c_y+2
234 00b4 85 popw x
235 00b5 bf00 ldw c_x,x
236 00b7 320002 pop c_x+2
237 00ba 80 iret
277 ; 53 main()
277 ; 54 {
279 switch .text
280 00bb _main:
282 00bb 5204 subw sp,#4
283 00000004 OFST: set 4
286 ; 56 unsigned long i=0;
288 00bd ae0000 ldw x,#0
289 00c0 1f03 ldw (OFST-1,sp),x
290 00c2 ae0000 ldw x,#0
291 00c5 1f01 ldw (OFST-3,sp),x
292 ; 58 GPIO_DeInit(GPIOD);
294 00c7 ae500f ldw x,#20495
295 00ca cd0000 call _GPIO_DeInit
297 ; 60 GPIO_Init(GPIOD, GPIO_PIN_0|GPIO_PIN_2|GPIO_PIN_3, GPIO_MODE_OUT_PP_LOW_FAST);
299 00cd 4be0 push #224
300 00cf 4b0d push #13
301 00d1 ae500f ldw x,#20495
302 00d4 cd0000 call _GPIO_Init
304 00d7 85 popw x
305 ; 63 TIM2_DeInit();
307 00d8 cd0000 call _TIM2_DeInit
309 ; 65 TIM2_TimeBaseInit(0, 200000);
311 00db ae0d40 ldw x,#3392
312 00de 89 pushw x
313 00df 4f clr a
314 00e0 cd0000 call _TIM2_TimeBaseInit
316 00e3 85 popw x
317 ; 67 TIM2_ITConfig(TIM2_IT_UPDATE, ENABLE);
319 00e4 ae0001 ldw x,#1
320 00e7 a601 ld a,#1
321 00e9 95 ld xh,a
322 00ea cd0000 call _TIM2_ITConfig
324 ; 69 TIM2_Cmd(ENABLE);
326 00ed a601 ld a,#1
327 00ef cd0000 call _TIM2_Cmd
329 ; 71 enableInterrupts();
332 00f2 9a rim
334 00f3 L111:
336 00f3 20fe jra L111
360 xdef _main
361 xdef f_Time2YiChu
362 xdef _xwDelay
363 xdef _i
364 xref _TIM2_ITConfig
365 xref _TIM2_Cmd
366 xref _TIM2_TimeBaseInit
367 xref _TIM2_DeInit
368 xref _BEEP_Cmd
369 xref _GPIO_WriteLow
370 xref _GPIO_WriteHigh
371 xref _GPIO_Init
372 xref _GPIO_DeInit
373 xref.b c_x
374 xref.b c_y
393 xref c_smodx
394 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -