📄 main.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Parser V4.9.10 - 10 Feb 2011
3 ; Generator (Limited) V4.3.6 - 15 Feb 2011
44 ; 13 void gpio_config(void)
44 ; 14 {
46 switch .text
47 0000 _gpio_config:
51 ; 15 GPIO_Init(LED1_PORT,LED1_PIN,GPIO_Mode_Out_PP_Low_Fast);
53 0000 4be0 push #224
54 0002 4b80 push #128
55 0004 ae5014 ldw x,#20500
56 0007 cd0000 call _GPIO_Init
58 000a 85 popw x
59 ; 16 }
62 000b 81 ret
87 ; 18 void clk_config(void)
87 ; 19 {
88 switch .text
89 000c _clk_config:
93 ; 20 CLK_SYSCLKDivConfig(CLK_SYSCLKDiv_1);
95 000c 4f clr a
96 000d cd0000 call _CLK_SYSCLKDivConfig
98 ; 21 CLK_PeripheralClockConfig(CLK_Peripheral_TIM4, ENABLE);
100 0010 ae0201 ldw x,#513
101 0013 cd0000 call _CLK_PeripheralClockConfig
103 ; 22 }
106 0016 81 ret
134 ; 24 void TIM4_Init(void)
134 ; 25 {
135 switch .text
136 0017 _TIM4_Init:
140 ; 26 TIM4_TimeBaseInit(TIM4_Prescaler_128, 124);
142 0017 ae077c ldw x,#1916
143 001a cd0000 call _TIM4_TimeBaseInit
145 ; 28 TIM4_ClearFlag(TIM4_FLAG_Update);
147 001d a601 ld a,#1
148 001f cd0000 call _TIM4_ClearFlag
150 ; 30 TIM4_ITConfig(TIM4_IT_Update, ENABLE);
152 0022 ae0101 ldw x,#257
153 0025 cd0000 call _TIM4_ITConfig
155 ; 32 enableInterrupts();
158 0028 9a rim
160 ; 35 TIM4_Cmd(ENABLE);
163 0029 a601 ld a,#1
164 002b cd0000 call _TIM4_Cmd
166 ; 36 }
169 002e 81 ret
197 ; 37 void main(void)
197 ; 38 {
198 switch .text
199 002f _main:
203 ; 39 clk_config();
205 002f addb call _clk_config
207 ; 40 gpio_config();
209 0031 adcd call _gpio_config
211 ; 41 TIM4_Init();
213 0033 ade2 call _TIM4_Init
215 0035 L15:
216 ; 46 delay_ms(1000);
218 0035 ae03e8 ldw x,#1000
219 0038 89 pushw x
220 0039 ae0000 ldw x,#0
221 003c 89 pushw x
222 003d ad0d call _delay_ms
224 003f 5b04 addw sp,#4
225 ; 47 GPIO_ToggleBits(LED1_PORT,LED1_PIN);
227 0041 4b80 push #128
228 0043 ae5014 ldw x,#20500
229 0046 cd0000 call _GPIO_ToggleBits
231 0049 84 pop a
233 004a 20e9 jra L15
268 ; 56 void delay_ms(__IO uint32_t nTime)
268 ; 57 {
269 switch .text
270 004c _delay_ms:
272 00000000 OFST: set 0
275 ; 58 TimingDelay = nTime;
277 004c 1e05 ldw x,(OFST+5,sp)
278 004e bf02 ldw _TimingDelay+2,x
279 0050 1e03 ldw x,(OFST+3,sp)
280 0052 bf00 ldw _TimingDelay,x
282 0054 L77:
283 ; 60 while (TimingDelay != 0);
285 0054 ae0000 ldw x,#_TimingDelay
286 0057 cd0000 call c_lzmp
288 005a 26f8 jrne L77
289 ; 61 }
292 005c 81 ret
317 ; 67 void TimingDelay_Decrement(void)
317 ; 68 {
318 switch .text
319 005d _TimingDelay_Decrement:
323 ; 69 if (TimingDelay != 0x00)
325 005d ae0000 ldw x,#_TimingDelay
326 0060 cd0000 call c_lzmp
328 0063 2708 jreq L311
329 ; 71 TimingDelay--;
331 0065 ae0000 ldw x,#_TimingDelay
332 0068 a601 ld a,#1
333 006a cd0000 call c_lgsbc
335 006d L311:
336 ; 73 }
339 006d 81 ret
363 xdef _main
364 xdef _TIM4_Init
365 xdef _clk_config
366 xdef _gpio_config
367 xdef _TimingDelay_Decrement
368 xdef _delay_ms
369 switch .ubsct
370 0000 _TimingDelay:
371 0000 00000000 ds.b 4
372 xdef _TimingDelay
373 xref _TIM4_ClearFlag
374 xref _TIM4_ITConfig
375 xref _TIM4_Cmd
376 xref _TIM4_TimeBaseInit
377 xref _GPIO_ToggleBits
378 xref _GPIO_Init
379 xref _CLK_PeripheralClockConfig
380 xref _CLK_SYSCLKDivConfig
400 xref c_lgsbc
401 xref c_lzmp
402 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -