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

📄 stm8s_exti.ls

📁 STM8s
💻 LS
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
  32                     ; 45 void EXTI_DeInit(void)
  32                     ; 46 {
  34                     	switch	.text
  35  0000               _EXTI_DeInit:
  39                     ; 47     EXTI->CR1 = EXTI_CR1_RESET_VALUE;
  41  0000 725f50a0      	clr	20640
  42                     ; 48     EXTI->CR2 = EXTI_CR2_RESET_VALUE;
  44  0004 725f50a1      	clr	20641
  45                     ; 49 }
  48  0008 81            	ret
 173                     ; 62 void EXTI_SetExtIntSensitivity(EXTI_Port_TypeDef Port, EXTI_Sensitivity_TypeDef SensitivityValue)
 173                     ; 63 {
 174                     	switch	.text
 175  0009               _EXTI_SetExtIntSensitivity:
 177  0009 89            	pushw	x
 178       00000000      OFST:	set	0
 181                     ; 66     assert_param(IS_EXTI_PORT_OK(Port));
 183                     ; 67     assert_param(IS_EXTI_SENSITIVITY_OK(SensitivityValue));
 185                     ; 70     switch (Port)
 187  000a 9e            	ld	a,xh
 189                     ; 92     default:
 189                     ; 93         break;
 190  000b 4d            	tnz	a
 191  000c 270e          	jreq	L12
 192  000e 4a            	dec	a
 193  000f 271d          	jreq	L32
 194  0011 4a            	dec	a
 195  0012 272e          	jreq	L52
 196  0014 4a            	dec	a
 197  0015 2742          	jreq	L72
 198  0017 4a            	dec	a
 199  0018 2756          	jreq	L13
 200  001a 2064          	jra	L311
 201  001c               L12:
 202                     ; 72     case EXTI_PORT_GPIOA:
 202                     ; 73         EXTI->CR1 &= (u8)(~EXTI_CR1_PAIS);
 204  001c c650a0        	ld	a,20640
 205  001f a4fc          	and	a,#252
 206  0021 c750a0        	ld	20640,a
 207                     ; 74         EXTI->CR1 |= (u8)(SensitivityValue);
 209  0024 c650a0        	ld	a,20640
 210  0027 1a02          	or	a,(OFST+2,sp)
 211  0029 c750a0        	ld	20640,a
 212                     ; 75         break;
 214  002c 2052          	jra	L311
 215  002e               L32:
 216                     ; 76     case EXTI_PORT_GPIOB:
 216                     ; 77         EXTI->CR1 &= (u8)(~EXTI_CR1_PBIS);
 218  002e c650a0        	ld	a,20640
 219  0031 a4f3          	and	a,#243
 220  0033 c750a0        	ld	20640,a
 221                     ; 78         EXTI->CR1 |= (u8)((u8)(SensitivityValue) << 2);
 223  0036 7b02          	ld	a,(OFST+2,sp)
 224  0038 48            	sll	a
 225  0039 48            	sll	a
 226  003a ca50a0        	or	a,20640
 227  003d c750a0        	ld	20640,a
 228                     ; 79         break;
 230  0040 203e          	jra	L311
 231  0042               L52:
 232                     ; 80     case EXTI_PORT_GPIOC:
 232                     ; 81         EXTI->CR1 &= (u8)(~EXTI_CR1_PCIS);
 234  0042 c650a0        	ld	a,20640
 235  0045 a4cf          	and	a,#207
 236  0047 c750a0        	ld	20640,a
 237                     ; 82         EXTI->CR1 |= (u8)((u8)(SensitivityValue) << 4);
 239  004a 7b02          	ld	a,(OFST+2,sp)
 240  004c 97            	ld	xl,a
 241  004d a610          	ld	a,#16
 242  004f 42            	mul	x,a
 243  0050 9f            	ld	a,xl
 244  0051 ca50a0        	or	a,20640
 245  0054 c750a0        	ld	20640,a
 246                     ; 83         break;
 248  0057 2027          	jra	L311
 249  0059               L72:
 250                     ; 84     case EXTI_PORT_GPIOD:
 250                     ; 85         EXTI->CR1 &= (u8)(~EXTI_CR1_PDIS);
 252  0059 c650a0        	ld	a,20640
 253  005c a43f          	and	a,#63
 254  005e c750a0        	ld	20640,a
 255                     ; 86         EXTI->CR1 |= (u8)((u8)(SensitivityValue) << 6);
 257  0061 7b02          	ld	a,(OFST+2,sp)
 258  0063 97            	ld	xl,a
 259  0064 a640          	ld	a,#64
 260  0066 42            	mul	x,a
 261  0067 9f            	ld	a,xl
 262  0068 ca50a0        	or	a,20640
 263  006b c750a0        	ld	20640,a
 264                     ; 87         break;
 266  006e 2010          	jra	L311
 267  0070               L13:
 268                     ; 88     case EXTI_PORT_GPIOE:
 268                     ; 89         EXTI->CR2 &= (u8)(~EXTI_CR2_PEIS);
 270  0070 c650a1        	ld	a,20641
 271  0073 a4fc          	and	a,#252
 272  0075 c750a1        	ld	20641,a
 273                     ; 90         EXTI->CR2 |= (u8)(SensitivityValue);
 275  0078 c650a1        	ld	a,20641
 276  007b 1a02          	or	a,(OFST+2,sp)
 277  007d c750a1        	ld	20641,a
 278                     ; 91         break;
 280  0080               L33:
 281                     ; 92     default:
 281                     ; 93         break;
 283  0080               L311:
 284                     ; 95 }
 287  0080 85            	popw	x
 288  0081 81            	ret
 346                     ; 104 void EXTI_SetTLISensitivity(EXTI_TLISensitivity_TypeDef SensitivityValue)
 346                     ; 105 {
 347                     	switch	.text
 348  0082               _EXTI_SetTLISensitivity:
 352                     ; 108     assert_param(IS_EXTI_TLISENSITIVITY_OK(SensitivityValue));
 354                     ; 111     EXTI->CR2 &= (u8)(~EXTI_CR2_TLIS);
 356  0082 721550a1      	bres	20641,#2
 357                     ; 112     EXTI->CR2 |= (u8)(SensitivityValue);
 359  0086 ca50a1        	or	a,20641
 360  0089 c750a1        	ld	20641,a
 361                     ; 114 }
 364  008c 81            	ret
 410                     ; 121 EXTI_Sensitivity_TypeDef EXTI_GetExtIntSensitivity(EXTI_Port_TypeDef Port)
 410                     ; 122 {
 411                     	switch	.text
 412  008d               _EXTI_GetExtIntSensitivity:
 414  008d 88            	push	a
 415       00000001      OFST:	set	1
 418                     ; 124     u8 value = 0;
 420  008e 0f01          	clr	(OFST+0,sp)
 421                     ; 127     assert_param(IS_EXTI_PORT_OK(Port));
 423                     ; 129     switch (Port)
 426                     ; 146     default:
 426                     ; 147         break;
 427  0090 4d            	tnz	a
 428  0091 270e          	jreq	L341
 429  0093 4a            	dec	a
 430  0094 2714          	jreq	L541
 431  0096 4a            	dec	a
 432  0097 271c          	jreq	L741
 433  0099 4a            	dec	a
 434  009a 2725          	jreq	L151
 435  009c 4a            	dec	a
 436  009d 2730          	jreq	L351
 437  009f 2035          	jra	L302
 438  00a1               L341:
 439                     ; 131     case EXTI_PORT_GPIOA:
 439                     ; 132         value = (u8)(EXTI->CR1 & EXTI_CR1_PAIS);
 441  00a1 c650a0        	ld	a,20640
 442  00a4 a403          	and	a,#3
 443  00a6 6b01          	ld	(OFST+0,sp),a
 444                     ; 133         break;
 446  00a8 202c          	jra	L302
 447  00aa               L541:
 448                     ; 134     case EXTI_PORT_GPIOB:
 448                     ; 135         value = (u8)((EXTI->CR1 & EXTI_CR1_PBIS) >> 2);
 450  00aa c650a0        	ld	a,20640
 451  00ad a40c          	and	a,#12
 452  00af 44            	srl	a
 453  00b0 44            	srl	a
 454  00b1 6b01          	ld	(OFST+0,sp),a
 455                     ; 136         break;
 457  00b3 2021          	jra	L302
 458  00b5               L741:
 459                     ; 137     case EXTI_PORT_GPIOC:
 459                     ; 138         value = (u8)((EXTI->CR1 & EXTI_CR1_PCIS) >> 4);
 461  00b5 c650a0        	ld	a,20640
 462  00b8 a430          	and	a,#48
 463  00ba 4e            	swap	a
 464  00bb a40f          	and	a,#15
 465  00bd 6b01          	ld	(OFST+0,sp),a
 466                     ; 139         break;
 468  00bf 2015          	jra	L302
 469  00c1               L151:
 470                     ; 140     case EXTI_PORT_GPIOD:
 470                     ; 141         value = (u8)((EXTI->CR1 & EXTI_CR1_PDIS) >> 6);
 472  00c1 c650a0        	ld	a,20640
 473  00c4 a4c0          	and	a,#192
 474  00c6 4e            	swap	a
 475  00c7 44            	srl	a
 476  00c8 44            	srl	a
 477  00c9 a403          	and	a,#3
 478  00cb 6b01          	ld	(OFST+0,sp),a
 479                     ; 142         break;
 481  00cd 2007          	jra	L302
 482  00cf               L351:
 483                     ; 143     case EXTI_PORT_GPIOE:
 483                     ; 144         value = (u8)(EXTI->CR2 & EXTI_CR2_PEIS);
 485  00cf c650a1        	ld	a,20641
 486  00d2 a403          	and	a,#3
 487  00d4 6b01          	ld	(OFST+0,sp),a
 488                     ; 145         break;
 490  00d6               L551:
 491                     ; 146     default:
 491                     ; 147         break;
 493  00d6               L302:
 494                     ; 150     return((EXTI_Sensitivity_TypeDef)value);
 496  00d6 7b01          	ld	a,(OFST+0,sp)
 499  00d8 5b01          	addw	sp,#1
 500  00da 81            	ret
 536                     ; 160 EXTI_TLISensitivity_TypeDef EXTI_GetTLISensitivity(void)
 536                     ; 161 {
 537                     	switch	.text
 538  00db               _EXTI_GetTLISensitivity:
 540  00db 88            	push	a
 541       00000001      OFST:	set	1
 544                     ; 166     value = (u8)(EXTI->CR2 & EXTI_CR2_TLIS);
 546  00dc c650a1        	ld	a,20641
 547  00df a404          	and	a,#4
 548  00e1 6b01          	ld	(OFST+0,sp),a
 549                     ; 168     return((EXTI_TLISensitivity_TypeDef)value);
 551  00e3 7b01          	ld	a,(OFST+0,sp)
 554  00e5 5b01          	addw	sp,#1
 555  00e7 81            	ret
 568                     	xdef	_EXTI_GetTLISensitivity
 569                     	xdef	_EXTI_GetExtIntSensitivity
 570                     	xdef	_EXTI_SetTLISensitivity
 571                     	xdef	_EXTI_SetExtIntSensitivity
 572                     	xdef	_EXTI_DeInit
 591                     	end

⌨️ 快捷键说明

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