📄 main.ls
字号:
1 ; C Compiler for STM8 (COSMIC Software)
2 ; Generator V4.2.8 - 03 Dec 2008
52 ; 12 void xwDelay(void)
52 ; 13 {
54 switch .text
55 0000 _xwDelay:
57 0000 5204 subw sp,#4
58 00000004 OFST: set 4
61 ; 14 int i=20;
63 0002 ae0014 ldw x,#20
64 0005 1f01 ldw (OFST-3,sp),x
65 ; 15 int j=10000;
67 0007 ae2710 ldw x,#10000
68 000a 1f03 ldw (OFST-1,sp),x
70 000c 200f jra L73
71 000e L54:
72 ; 16 while(i--)while(j--);
74 000e 1e03 ldw x,(OFST-1,sp)
75 0010 1d0001 subw x,#1
76 0013 1f03 ldw (OFST-1,sp),x
77 0015 1c0001 addw x,#1
78 0018 a30000 cpw x,#0
79 001b 26f1 jrne L54
80 001d L73:
83 001d 1e01 ldw x,(OFST-3,sp)
84 001f 1d0001 subw x,#1
85 0022 1f01 ldw (OFST-3,sp),x
86 0024 1c0001 addw x,#1
87 0027 a30000 cpw x,#0
88 002a 26e2 jrne L54
89 ; 17 }
92 002c 5b04 addw sp,#4
93 002e 81 ret
127 ; 27 main()
127 ; 28 {
128 switch .text
129 002f _main:
131 002f 89 pushw x
132 00000002 OFST: set 2
135 ; 32 clk_init();
137 0030 cd0156 call _clk_init
139 ; 36 Set1302(11,9,6,2,11,15);
141 0033 4b0f push #15
142 0035 4b0b push #11
143 0037 4b02 push #2
144 0039 4b06 push #6
145 003b ae0009 ldw x,#9
146 003e a60b ld a,#11
147 0040 95 ld xh,a
148 0041 cd0000 call _Set1302
150 0044 5b04 addw sp,#4
151 ; 39 UART2_DeInit();
153 0046 cd0000 call _UART2_DeInit
155 ; 41 UART2_Init(38400,UART2_WORDLENGTH_8D,UART2_STOPBITS_1,UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TX_ENABLE);
157 0049 4b04 push #4
158 004b 4b80 push #128
159 004d 4b00 push #0
160 004f 4b00 push #0
161 0051 4b00 push #0
162 0053 ae9600 ldw x,#38400
163 0056 89 pushw x
164 0057 ae0000 ldw x,#0
165 005a 89 pushw x
166 005b cd0000 call _UART2_Init
168 005e 5b09 addw sp,#9
169 ; 43 putStrLine("Yan shan univer sity ?");
171 0060 ae0010 ldw x,#L16
172 0063 cd0000 call _putStrLine
174 ; 45 putStr("zhao Yan Tao");
176 0066 ae0003 ldw x,#L36
177 0069 cd0000 call _putStr
179 006c L56:
180 ; 49 putStr("20");
182 006c ae0000 ldw x,#L17
183 006f cd0000 call _putStr
185 ; 51 time =Read1302(YEAR);
187 0072 a68c ld a,#140
188 0074 cd0000 call _Read1302
190 0077 b703 ld _time,a
191 ; 52 putInt(time);
193 0079 b603 ld a,_time
194 007b b703 ld c_lreg+3,a
195 007d 3f02 clr c_lreg+2
196 007f 3f01 clr c_lreg+1
197 0081 3f00 clr c_lreg
198 0083 be02 ldw x,c_lreg+2
199 0085 89 pushw x
200 0086 be00 ldw x,c_lreg
201 0088 89 pushw x
202 0089 cd0000 call _putInt
204 008c 5b04 addw sp,#4
205 ; 53 putChr('--');
207 008e a62d ld a,#45
208 0090 cd0000 call _putChr
210 ; 55 time =Read1302(MONTH);
212 0093 a688 ld a,#136
213 0095 cd0000 call _Read1302
215 0098 b703 ld _time,a
216 ; 56 putInt(time);
218 009a b603 ld a,_time
219 009c b703 ld c_lreg+3,a
220 009e 3f02 clr c_lreg+2
221 00a0 3f01 clr c_lreg+1
222 00a2 3f00 clr c_lreg
223 00a4 be02 ldw x,c_lreg+2
224 00a6 89 pushw x
225 00a7 be00 ldw x,c_lreg
226 00a9 89 pushw x
227 00aa cd0000 call _putInt
229 00ad 5b04 addw sp,#4
230 ; 57 putChr('--');
232 00af a62d ld a,#45
233 00b1 cd0000 call _putChr
235 ; 60 time =Read1302(DAY);
237 00b4 a68a ld a,#138
238 00b6 cd0000 call _Read1302
240 00b9 b703 ld _time,a
241 ; 61 putInt(time);
243 00bb b603 ld a,_time
244 00bd b703 ld c_lreg+3,a
245 00bf 3f02 clr c_lreg+2
246 00c1 3f01 clr c_lreg+1
247 00c3 3f00 clr c_lreg
248 00c5 be02 ldw x,c_lreg+2
249 00c7 89 pushw x
250 00c8 be00 ldw x,c_lreg
251 00ca 89 pushw x
252 00cb cd0000 call _putInt
254 00ce 5b04 addw sp,#4
255 ; 62 putChr(' ');
257 00d0 a620 ld a,#32
258 00d2 cd0000 call _putChr
260 ; 65 time =Read1302(HOUR);
262 00d5 a684 ld a,#132
263 00d7 cd0000 call _Read1302
265 00da b703 ld _time,a
266 ; 66 putInt(time&0x0f+(u8)(time/16)*10);
268 00dc b603 ld a,_time
269 00de 5f clrw x
270 00df 97 ld xl,a
271 00e0 1f01 ldw (OFST-1,sp),x
272 00e2 b603 ld a,_time
273 00e4 4e swap a
274 00e5 a40f and a,#15
275 00e7 97 ld xl,a
276 00e8 a60a ld a,#10
277 00ea 42 mul x,a
278 00eb 1c000f addw x,#15
279 00ee 01 rrwa x,a
280 00ef 1402 and a,(OFST+0,sp)
281 00f1 01 rrwa x,a
282 00f2 1401 and a,(OFST-1,sp)
283 00f4 01 rrwa x,a
284 00f5 cd0000 call c_itolx
286 00f8 be02 ldw x,c_lreg+2
287 00fa 89 pushw x
288 00fb be00 ldw x,c_lreg
289 00fd 89 pushw x
290 00fe cd0000 call _putInt
292 0101 5b04 addw sp,#4
293 ; 69 putChr(':');
295 0103 a63a ld a,#58
296 0105 cd0000 call _putChr
298 ; 70 time =Read1302(MINUTE);
300 0108 a682 ld a,#130
301 010a cd0000 call _Read1302
303 010d b703 ld _time,a
304 ; 71 putInt(time);
306 010f b603 ld a,_time
307 0111 b703 ld c_lreg+3,a
308 0113 3f02 clr c_lreg+2
309 0115 3f01 clr c_lreg+1
310 0117 3f00 clr c_lreg
311 0119 be02 ldw x,c_lreg+2
312 011b 89 pushw x
313 011c be00 ldw x,c_lreg
314 011e 89 pushw x
315 011f cd0000 call _putInt
317 0122 5b04 addw sp,#4
318 ; 75 putChr(':');
320 0124 a63a ld a,#58
321 0126 cd0000 call _putChr
323 ; 76 time =Read1302(SECOND);
325 0129 a680 ld a,#128
326 012b cd0000 call _Read1302
328 012e b703 ld _time,a
329 ; 77 putInt(time);
331 0130 b603 ld a,_time
332 0132 b703 ld c_lreg+3,a
333 0134 3f02 clr c_lreg+2
334 0136 3f01 clr c_lreg+1
335 0138 3f00 clr c_lreg
336 013a be02 ldw x,c_lreg+2
337 013c 89 pushw x
338 013d be00 ldw x,c_lreg
339 013f 89 pushw x
340 0140 cd0000 call _putInt
342 0143 5b04 addw sp,#4
343 ; 78 putChr('\r');
345 0145 a60d ld a,#13
346 0147 cd0000 call _putChr
348 ; 79 putChr('\n');
350 014a a60a ld a,#10
351 014c cd0000 call _putChr
353 ; 83 xwDelay();
355 014f cd0000 call _xwDelay
358 0152 ac6c006c jpf L56
384 ; 92 void clk_init(void)
384 ; 93 {
385 switch .text
386 0156 _clk_init:
390 ; 94 CLK->SWCR|=0x02; //开启切换
392 0156 721250c5 bset 20677,#1
393 ; 95 CLK->SWR=0xb4;//0xe1;
395 015a 35b450c4 mov 20676,#180
396 ; 96 nop();
399 015e 9d nop
401 ; 97 nop();
405 015f 9d nop
407 ; 98 nop();
411 0160 9d nop
415 0161 L501:
416 ; 99 while((CLK->SWCR & 0x01)==0x01);
418 0161 c650c5 ld a,20677
419 0164 a401 and a,#1
420 0166 a101 cp a,#1
421 0168 27f7 jreq L501
422 ; 100 CLK->CKDIVR=0x00;
424 016a 725f50c6 clr 20678
425 ; 101 CLK->ICKR &= (u8)(~CLK_ICKR_HSIEN);
427 016e 721150c0 bres 20672,#0
428 ; 102 CLK->SWCR&=(~0x02); //关闭切换
430 0172 721350c5 bres 20677,#1
431 ; 103 }
434 0176 81 ret
485 xdef _main
486 switch .ubsct
487 0000 _add:
488 0000 00 ds.b 1
489 xdef _add
490 0001 _i:
491 0001 00 ds.b 1
492 xdef _i
493 0002 _temp:
494 0002 00 ds.b 1
495 xdef _temp
496 0003 _time:
497 0003 00 ds.b 1
498 xdef _time
499 xdef _clk_init
500 xdef _xwDelay
501 xref _putInt
502 xref _putStrLine
503 xref _putStr
504 xref _putChr
505 xref _UART2_Init
506 xref _UART2_DeInit
507 xref _Set1302
508 xref _Read1302
509 .const: section .text
510 0000 L17:
511 0000 323000 dc.b "20",0
512 0003 L36:
513 0003 7a68616f2059 dc.b "zhao Yan Tao",0
514 0010 L16:
515 0010 59616e207368 dc.b "Yan shan univer si"
516 0022 7479203f00 dc.b "ty ?",0
517 xref.b c_lreg
537 xref c_itolx
538 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -