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

📄 stm8s_itc.ls

📁 STM8-触摸例程
💻 LS
📖 第 1 页 / 共 2 页
字号:
   1                     ; C Compiler for STM8 (COSMIC Software)
   2                     ; Generator V4.2.8 - 03 Dec 2008
   3                     ; Optimizer V4.2.8 - 03 Dec 2008
  33                     ; 62 u8 ITC_GetCPUCC(void)
  33                     ; 63 {
  35                     	switch	.text
  36  0000               _ITC_GetCPUCC:
  40                     ; 64   _asm("push cc");
  43  0000 8a            	push	cc
  45                     ; 65   _asm("pop a");
  48  0001 84            	pop	a
  50                     ; 66   return; /* Ignore compiler warning, the returned value is in A register */
  53  0002 81            	ret	
  76                     ; 97 void ITC_DeInit(void)
  76                     ; 98 {
  77                     	switch	.text
  78  0003               _ITC_DeInit:
  82                     ; 99   ITC->ISPR1 = ITC_SPRX_RESET_VALUE;
  84  0003 35ff7f70      	mov	32624,#255
  85                     ; 100   ITC->ISPR2 = ITC_SPRX_RESET_VALUE;
  87  0007 35ff7f71      	mov	32625,#255
  88                     ; 101   ITC->ISPR3 = ITC_SPRX_RESET_VALUE;
  90  000b 35ff7f72      	mov	32626,#255
  91                     ; 102   ITC->ISPR4 = ITC_SPRX_RESET_VALUE;
  93  000f 35ff7f73      	mov	32627,#255
  94                     ; 103   ITC->ISPR5 = ITC_SPRX_RESET_VALUE;
  96  0013 35ff7f74      	mov	32628,#255
  97                     ; 104   ITC->ISPR6 = ITC_SPRX_RESET_VALUE;
  99  0017 35ff7f75      	mov	32629,#255
 100                     ; 105   ITC->ISPR7 = ITC_SPRX_RESET_VALUE;
 102  001b 35ff7f76      	mov	32630,#255
 103                     ; 106   ITC->ISPR8 = ITC_SPRX_RESET_VALUE;
 105  001f 35ff7f77      	mov	32631,#255
 106                     ; 107 }
 109  0023 81            	ret	
 134                     ; 124 u8 ITC_GetSoftIntStatus(void)
 134                     ; 125 {
 135                     	switch	.text
 136  0024               _ITC_GetSoftIntStatus:
 140                     ; 126   return (u8)(ITC_GetCPUCC() & CPU_CC_I1I0);
 142  0024 adda          	call	_ITC_GetCPUCC
 144  0026 a428          	and	a,#40
 147  0028 81            	ret	
 424                     .const:	section	.text
 425  0000               L42:
 426  0000 004a          	dc.w	L14
 427  0002 004a          	dc.w	L14
 428  0004 004a          	dc.w	L14
 429  0006 004a          	dc.w	L14
 430  0008 004f          	dc.w	L34
 431  000a 004f          	dc.w	L34
 432  000c 004f          	dc.w	L34
 433  000e 004f          	dc.w	L34
 434  0010 0054          	dc.w	L54
 435  0012 0054          	dc.w	L54
 436  0014 0054          	dc.w	L54
 437  0016 0054          	dc.w	L54
 438  0018 0059          	dc.w	L74
 439  001a 0059          	dc.w	L74
 440  001c 0059          	dc.w	L74
 441  001e 0059          	dc.w	L74
 442  0020 005e          	dc.w	L15
 443  0022 005e          	dc.w	L15
 444  0024 005e          	dc.w	L15
 445  0026 005e          	dc.w	L15
 446  0028 0063          	dc.w	L35
 447  002a 0063          	dc.w	L35
 448  002c 0063          	dc.w	L35
 449  002e 0063          	dc.w	L35
 450  0030 0068          	dc.w	L55
 451                     ; 144 ITC_PriorityLevel_TypeDef ITC_GetSoftwarePriority(ITC_Irq_TypeDef IrqNum)
 451                     ; 145 {
 452                     	switch	.text
 453  0029               _ITC_GetSoftwarePriority:
 455  0029 88            	push	a
 456  002a 89            	pushw	x
 457       00000002      OFST:	set	2
 460                     ; 147   u8 Value = 0;
 462  002b 0f02          	clr	(OFST+0,sp)
 463                     ; 151   assert_param(IS_ITC_IRQ_OK((u8)IrqNum));
 465                     ; 154   Mask = (u8)(0x03U << (((u8)IrqNum % 4U) * 2U));
 467  002d a403          	and	a,#3
 468  002f 48            	sll	a
 469  0030 5f            	clrw	x
 470  0031 97            	ld	xl,a
 471  0032 a603          	ld	a,#3
 472  0034 5d            	tnzw	x
 473  0035 2704          	jreq	L61
 474  0037               L02:
 475  0037 48            	sll	a
 476  0038 5a            	decw	x
 477  0039 26fc          	jrne	L02
 478  003b               L61:
 479  003b 6b01          	ld	(OFST-1,sp),a
 480                     ; 156   switch (IrqNum)
 482  003d 7b03          	ld	a,(OFST+1,sp)
 484                     ; 197     default:
 484                     ; 198       break;
 485  003f a119          	cp	a,#25
 486  0041 242e          	jruge	L312
 487  0043 5f            	clrw	x
 488  0044 97            	ld	xl,a
 489  0045 58            	sllw	x
 490  0046 de0000        	ldw	x,(L42,x)
 491  0049 fc            	jp	(x)
 492  004a               L14:
 493                     ; 158     case ITC_IRQ_TLI: /* TLI software priority can be read but has no meaning */
 493                     ; 159     case ITC_IRQ_AWU:
 493                     ; 160     case ITC_IRQ_CLK:
 493                     ; 161     case ITC_IRQ_PORTA:
 493                     ; 162       Value = (u8)(ITC->ISPR1 & Mask); /* Read software priority */
 495  004a c67f70        	ld	a,32624
 496                     ; 163       break;
 498  004d 201c          	jp	LC001
 499  004f               L34:
 500                     ; 164     case ITC_IRQ_PORTB:
 500                     ; 165     case ITC_IRQ_PORTC:
 500                     ; 166     case ITC_IRQ_PORTD:
 500                     ; 167     case ITC_IRQ_PORTE:
 500                     ; 168       Value = (u8)(ITC->ISPR2 & Mask); /* Read software priority */
 502  004f c67f71        	ld	a,32625
 503                     ; 169       break;
 505  0052 2017          	jp	LC001
 506  0054               L54:
 507                     ; 170     case ITC_IRQ_CAN_RX:
 507                     ; 171     case ITC_IRQ_CAN_TX:
 507                     ; 172     case ITC_IRQ_SPI:
 507                     ; 173     case ITC_IRQ_TIM1_OVF:
 507                     ; 174       Value = (u8)(ITC->ISPR3 & Mask); /* Read software priority */
 509  0054 c67f72        	ld	a,32626
 510                     ; 175       break;
 512  0057 2012          	jp	LC001
 513  0059               L74:
 514                     ; 176     case ITC_IRQ_TIM1_CAPCOM:
 514                     ; 177     case ITC_IRQ_TIM2_OVF:
 514                     ; 178     case ITC_IRQ_TIM2_CAPCOM:
 514                     ; 179     case ITC_IRQ_TIM3_OVF:
 514                     ; 180       Value = (u8)(ITC->ISPR4 & Mask); /* Read software priority */
 516  0059 c67f73        	ld	a,32627
 517                     ; 181       break;
 519  005c 200d          	jp	LC001
 520  005e               L15:
 521                     ; 182     case ITC_IRQ_TIM3_CAPCOM:
 521                     ; 183     case ITC_IRQ_USART_TX:
 521                     ; 184     case ITC_IRQ_USART_RX:
 521                     ; 185     case ITC_IRQ_I2C:
 521                     ; 186       Value = (u8)(ITC->ISPR5 & Mask); /* Read software priority */
 523  005e c67f74        	ld	a,32628
 524                     ; 187       break;
 526  0061 2008          	jp	LC001
 527  0063               L35:
 528                     ; 188     case ITC_IRQ_LINUART_TX:
 528                     ; 189     case ITC_IRQ_LINUART_RX:
 528                     ; 190     case ITC_IRQ_ADC:
 528                     ; 191     case ITC_IRQ_TIM4_OVF:
 528                     ; 192       Value = (u8)(ITC->ISPR6 & Mask); /* Read software priority */
 530  0063 c67f75        	ld	a,32629
 531                     ; 193       break;
 533  0066 2003          	jp	LC001
 534  0068               L55:
 535                     ; 194     case ITC_IRQ_EEPROM_EEC:
 535                     ; 195       Value = (u8)(ITC->ISPR7 & Mask); /* Read software priority */
 537  0068 c67f76        	ld	a,32630
 538  006b               LC001:
 539  006b 1401          	and	a,(OFST-1,sp)
 540  006d 6b02          	ld	(OFST+0,sp),a
 541                     ; 196       break;
 543                     ; 197     default:
 543                     ; 198       break;
 545  006f 7b03          	ld	a,(OFST+1,sp)
 546  0071               L312:
 547                     ; 201   Value >>= (u8)(((u8)IrqNum % 4u) * 2u);
 549  0071 a403          	and	a,#3
 550  0073 48            	sll	a
 551  0074 5f            	clrw	x
 552  0075 97            	ld	xl,a
 553  0076 7b02          	ld	a,(OFST+0,sp)
 554  0078 5d            	tnzw	x
 555  0079 2704          	jreq	L62
 556  007b               L03:
 557  007b 44            	srl	a
 558  007c 5a            	decw	x
 559  007d 26fc          	jrne	L03
 560  007f               L62:
 561                     ; 203   return((ITC_PriorityLevel_TypeDef)Value);
 565  007f 5b03          	addw	sp,#3
 566  0081 81            	ret	
 630                     	switch	.const
 631  0032               L64:
 632  0032 00b8          	dc.w	L512

⌨️ 快捷键说明

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