⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 main.ls

📁 STM8s
💻 LS
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
   4                     	bsct
   5  0000               _t:
   6  0000 0000          	dc.w	0
  60                     ; 27 void main()
  60                     ; 28 {  
  62                     	switch	.text
  63  0000               _main:
  65  0000 5208          	subw	sp,#8
  66       00000008      OFST:	set	8
  69                     ; 34 	CLK_HSIPrescalerConfig(CLK_PRESCALER_HSIDIV2);  //HSI为16M,2分频8m
  71  0002 a608          	ld	a,#8
  72  0004 cd0000        	call	_CLK_HSIPrescalerConfig
  74                     ; 38 	 TIM2_ICInit(TIM2_CHANNEL_1, TIM2_ICPOLARITY_RISING, TIM2_ICSELECTION_DIRECTTI, TIM2_ICPSC_DIV8, 0);  
  76  0007 4b00          	push	#0
  77  0009 4b0c          	push	#12
  78  000b 4b01          	push	#1
  79  000d 5f            	clrw	x
  80  000e 4f            	clr	a
  81  000f 95            	ld	xh,a
  82  0010 cd0000        	call	_TIM2_ICInit
  84  0013 5b03          	addw	sp,#3
  85                     ; 40   TIM2_Cmd(ENABLE);   //使能TIM2计数
  87  0015 a601          	ld	a,#1
  88  0017 cd0000        	call	_TIM2_Cmd
  90                     ; 43 	TIM2_ClearFlag(TIM2_FLAG_CC1);
  92  001a ae0002        	ldw	x,#2
  93  001d cd0000        	call	_TIM2_ClearFlag
  95                     ; 45 		   UART2_DeInit();
  97  0020 cd0000        	call	_UART2_DeInit
  99                     ; 47 	UART2_Init(38400,UART2_WORDLENGTH_8D,UART2_STOPBITS_1,UART2_PARITY_NO, UART2_SYNCMODE_CLOCK_DISABLE, UART2_MODE_TX_ENABLE);
 101  0023 4b04          	push	#4
 102  0025 4b80          	push	#128
 103  0027 4b00          	push	#0
 104  0029 4b00          	push	#0
 105  002b 4b00          	push	#0
 106  002d ae9600        	ldw	x,#38400
 107  0030 89            	pushw	x
 108  0031 ae0000        	ldw	x,#0
 109  0034 89            	pushw	x
 110  0035 cd0000        	call	_UART2_Init
 112  0038 5b09          	addw	sp,#9
 113                     ; 49 		putStrLine("Yes,The serialport is ok already?");
 115  003a ae0000        	ldw	x,#L72
 116  003d cd0000        	call	_putStrLine
 119  0040               L33:
 120                     ; 51 	 while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);
 122  0040 c65302        	ld	a,21250
 123  0043 a402          	and	a,#2
 124  0045 a102          	cp	a,#2
 125  0047 26f7          	jrne	L33
 126                     ; 55    t1 = TIM2_GetCapture1();
 128  0049 cd0000        	call	_TIM2_GetCapture1
 130  004c bf04          	ldw	_t1,x
 131                     ; 57     TIM2_ClearFlag(TIM2_FLAG_CC1);
 133  004e ae0002        	ldw	x,#2
 134  0051 cd0000        	call	_TIM2_ClearFlag
 137  0054               L14:
 138                     ; 62   while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);
 140  0054 c65302        	ld	a,21250
 141  0057 a402          	and	a,#2
 142  0059 a102          	cp	a,#2
 143  005b 26f7          	jrne	L14
 144                     ; 66    t2 = TIM2_GetCapture1();
 146  005d cd0000        	call	_TIM2_GetCapture1
 148  0060 bf02          	ldw	_t2,x
 149                     ; 68    TIM2_ClearFlag(TIM2_FLAG_CC1);
 151  0062 ae0002        	ldw	x,#2
 152  0065 cd0000        	call	_TIM2_ClearFlag
 154                     ; 70 	 t=t2-t1;
 156  0068 be02          	ldw	x,_t2
 157  006a 72b00004      	subw	x,_t1
 158  006e bf00          	ldw	_t,x
 159                     ; 74 	f=8*8000000/t;
 161  0070 be00          	ldw	x,_t
 162  0072 cd0000        	call	c_uitolx
 164  0075 96            	ldw	x,sp
 165  0076 1c0001        	addw	x,#OFST-7
 166  0079 cd0000        	call	c_rtol
 168  007c ae9000        	ldw	x,#36864
 169  007f bf02          	ldw	c_lreg+2,x
 170  0081 ae03d0        	ldw	x,#976
 171  0084 bf00          	ldw	c_lreg,x
 172  0086 96            	ldw	x,sp
 173  0087 1c0001        	addw	x,#OFST-7
 174  008a cd0000        	call	c_ldiv
 176  008d be02          	ldw	x,c_lreg+2
 177  008f bf00          	ldw	_f,x
 178                     ; 78 	putInt(f);
 180  0091 be00          	ldw	x,_f
 181  0093 cd0000        	call	c_uitolx
 183  0096 be02          	ldw	x,c_lreg+2
 184  0098 89            	pushw	x
 185  0099 be00          	ldw	x,c_lreg
 186  009b 89            	pushw	x
 187  009c cd0000        	call	_putInt
 189  009f 5b04          	addw	sp,#4
 190                     ; 79 		putChr('\r');
 192  00a1 a60d          	ld	a,#13
 193  00a3 cd0000        	call	_putChr
 195                     ; 80 	putChr('\n');
 197  00a6 a60a          	ld	a,#10
 198  00a8 cd0000        	call	_putChr
 200  00ab               L54:
 201                     ; 89 u32 i=50000;
 203  00ab aec350        	ldw	x,#50000
 204  00ae 1f07          	ldw	(OFST-1,sp),x
 205  00b0 ae0000        	ldw	x,#0
 206  00b3 1f05          	ldw	(OFST-3,sp),x
 208  00b5               L55:
 209                     ; 90 while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);
 211  00b5 c65302        	ld	a,21250
 212  00b8 a402          	and	a,#2
 213  00ba a102          	cp	a,#2
 214  00bc 26f7          	jrne	L55
 215                     ; 94    t1 = TIM2_GetCapture1();
 217  00be cd0000        	call	_TIM2_GetCapture1
 219  00c1 bf04          	ldw	_t1,x
 220                     ; 96     TIM2_ClearFlag(TIM2_FLAG_CC1);
 222  00c3 ae0002        	ldw	x,#2
 223  00c6 cd0000        	call	_TIM2_ClearFlag
 226  00c9               L36:
 227                     ; 101   while((TIM2->SR1 & TIM2_FLAG_CC1) != TIM2_FLAG_CC1);
 229  00c9 c65302        	ld	a,21250
 230  00cc a402          	and	a,#2
 231  00ce a102          	cp	a,#2
 232  00d0 26f7          	jrne	L36
 233                     ; 105    t2 = TIM2_GetCapture1();
 235  00d2 cd0000        	call	_TIM2_GetCapture1
 237  00d5 bf02          	ldw	_t2,x
 238                     ; 107    TIM2_ClearFlag(TIM2_FLAG_CC1);
 240  00d7 ae0002        	ldw	x,#2
 241  00da cd0000        	call	_TIM2_ClearFlag
 243                     ; 109 	 t=t2-t1;
 245  00dd be02          	ldw	x,_t2
 246  00df 72b00004      	subw	x,_t1
 247  00e3 bf00          	ldw	_t,x
 248                     ; 113 	f=8*8000000/t;
 250  00e5 be00          	ldw	x,_t
 251  00e7 cd0000        	call	c_uitolx
 253  00ea 96            	ldw	x,sp
 254  00eb 1c0001        	addw	x,#OFST-7
 255  00ee cd0000        	call	c_rtol
 257  00f1 ae9000        	ldw	x,#36864
 258  00f4 bf02          	ldw	c_lreg+2,x
 259  00f6 ae03d0        	ldw	x,#976
 260  00f9 bf00          	ldw	c_lreg,x
 261  00fb 96            	ldw	x,sp
 262  00fc 1c0001        	addw	x,#OFST-7
 263  00ff cd0000        	call	c_ldiv
 265  0102 be02          	ldw	x,c_lreg+2
 266  0104 bf00          	ldw	_f,x
 267                     ; 117 	putInt(f);
 269  0106 be00          	ldw	x,_f
 270  0108 cd0000        	call	c_uitolx
 272  010b be02          	ldw	x,c_lreg+2
 273  010d 89            	pushw	x
 274  010e be00          	ldw	x,c_lreg
 275  0110 89            	pushw	x
 276  0111 cd0000        	call	_putInt
 278  0114 5b04          	addw	sp,#4
 279                     ; 118 		putChr('\r');
 281  0116 a60d          	ld	a,#13
 282  0118 cd0000        	call	_putChr
 284                     ; 119 	putChr('\n');
 286  011b a60a          	ld	a,#10
 287  011d cd0000        	call	_putChr
 290  0120               L17:
 291                     ; 120 	while(i--);  //延迟一段时间
 293  0120 96            	ldw	x,sp
 294  0121 1c0005        	addw	x,#OFST-3
 295  0124 cd0000        	call	c_ltor
 297  0127 96            	ldw	x,sp
 298  0128 1c0005        	addw	x,#OFST-3
 299  012b a601          	ld	a,#1
 300  012d cd0000        	call	c_lgsbc
 302  0130 cd0000        	call	c_lrzmp
 304  0133 26eb          	jrne	L17
 306  0135 acab00ab      	jpf	L54
 357                     	xdef	_main
 358                     	xdef	_t
 359                     	switch	.ubsct
 360  0000               _f:
 361  0000 0000          	ds.b	2
 362                     	xdef	_f
 363  0002               _t2:
 364  0002 0000          	ds.b	2
 365                     	xdef	_t2
 366  0004               _t1:
 367  0004 0000          	ds.b	2
 368                     	xdef	_t1
 369                     	xref	_putInt
 370                     	xref	_putStrLine
 371                     	xref	_putChr
 372                     	xref	_UART2_Init
 373                     	xref	_UART2_DeInit
 374                     	xref	_TIM2_ClearFlag
 375                     	xref	_TIM2_GetCapture1
 376                     	xref	_TIM2_Cmd
 377                     	xref	_TIM2_ICInit
 378                     	xref	_CLK_HSIPrescalerConfig
 379                     .const:	section	.text
 380  0000               L72:
 381  0000 5965732c5468  	dc.b	"Yes,The serialport"
 382  0012 206973206f6b  	dc.b	" is ok already?",0
 383                     	xref.b	c_lreg
 384                     	xref.b	c_x
 404                     	xref	c_lrzmp
 405                     	xref	c_lgsbc
 406                     	xref	c_ltor
 407                     	xref	c_ldiv
 408                     	xref	c_rtol
 409                     	xref	c_uitolx
 410                     	end

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -