📄 stm8s_itc.ls
字号:
584 009b 7b02 ld a,(OFST+0,sp)
587 009d 5b03 addw sp,#3
588 009f 81 ret
648 switch .const
649 0032 L44:
650 0032 00d5 dc.w L112
651 0034 00d5 dc.w L112
652 0036 00d5 dc.w L112
653 0038 00d5 dc.w L112
654 003a 00e7 dc.w L312
655 003c 00e7 dc.w L312
656 003e 00e7 dc.w L312
657 0040 00e7 dc.w L312
658 0042 00f9 dc.w L512
659 0044 00f9 dc.w L512
660 0046 00f9 dc.w L512
661 0048 00f9 dc.w L512
662 004a 010b dc.w L712
663 004c 010b dc.w L712
664 004e 010b dc.w L712
665 0050 010b dc.w L712
666 0052 011d dc.w L122
667 0054 011d dc.w L122
668 0056 011d dc.w L122
669 0058 011d dc.w L122
670 005a 012f dc.w L322
671 005c 012f dc.w L322
672 005e 012f dc.w L322
673 0060 012f dc.w L322
674 0062 0141 dc.w L522
675 ; 223 void ITC_SetSoftwarePriority(ITC_Irq_TypeDef IrqNum, ITC_PriorityLevel_TypeDef PriorityValue)
675 ; 224 {
676 switch .text
677 00a0 _ITC_SetSoftwarePriority:
679 00a0 89 pushw x
680 00a1 89 pushw x
681 00000002 OFST: set 2
684 ; 230 assert_param(IS_ITC_IRQ_OK((u8)IrqNum));
686 ; 231 assert_param(IS_ITC_PRIORITY_OK(PriorityValue));
688 ; 234 assert_param(IS_ITC_INTERRUPTS_DISABLED);
690 ; 238 Mask = (u8)(~(u8)(0x03U << (((u8)IrqNum % 4U) * 2U)));
692 00a2 9e ld a,xh
693 00a3 a403 and a,#3
694 00a5 48 sll a
695 00a6 5f clrw x
696 00a7 97 ld xl,a
697 00a8 a603 ld a,#3
698 00aa 5d tnzw x
699 00ab 2704 jreq L23
700 00ad L43:
701 00ad 48 sll a
702 00ae 5a decw x
703 00af 26fc jrne L43
704 00b1 L23:
705 00b1 43 cpl a
706 00b2 6b01 ld (OFST-1,sp),a
707 ; 241 NewPriority = (u8)((u8)(PriorityValue) << (((u8)IrqNum % 4U) * 2U));
709 00b4 7b03 ld a,(OFST+1,sp)
710 00b6 a403 and a,#3
711 00b8 48 sll a
712 00b9 5f clrw x
713 00ba 97 ld xl,a
714 00bb 7b04 ld a,(OFST+2,sp)
715 00bd 5d tnzw x
716 00be 2704 jreq L63
717 00c0 L04:
718 00c0 48 sll a
719 00c1 5a decw x
720 00c2 26fc jrne L04
721 00c4 L63:
722 00c4 6b02 ld (OFST+0,sp),a
723 ; 243 switch (IrqNum)
725 00c6 7b03 ld a,(OFST+1,sp)
727 ; 299 default:
727 ; 300 break;
728 00c8 a119 cp a,#25
729 00ca 2407 jruge L24
730 00cc 5f clrw x
731 00cd 97 ld xl,a
732 00ce 58 sllw x
733 00cf de0032 ldw x,(L44,x)
734 00d2 fc jp (x)
735 00d3 L24:
736 00d3 207c jra L162
737 00d5 L112:
738 ; 246 case ITC_IRQ_TLI: /* TLI software priority can be written but has no meaning */
738 ; 247 case ITC_IRQ_AWU:
738 ; 248 case ITC_IRQ_CLK:
738 ; 249 case ITC_IRQ_PORTA:
738 ; 250 ITC->ISPR1 &= Mask;
740 00d5 c67f70 ld a,32624
741 00d8 1401 and a,(OFST-1,sp)
742 00da c77f70 ld 32624,a
743 ; 251 ITC->ISPR1 |= NewPriority;
745 00dd c67f70 ld a,32624
746 00e0 1a02 or a,(OFST+0,sp)
747 00e2 c77f70 ld 32624,a
748 ; 252 break;
750 00e5 206a jra L162
751 00e7 L312:
752 ; 254 case ITC_IRQ_PORTB:
752 ; 255 case ITC_IRQ_PORTC:
752 ; 256 case ITC_IRQ_PORTD:
752 ; 257 case ITC_IRQ_PORTE:
752 ; 258 ITC->ISPR2 &= Mask;
754 00e7 c67f71 ld a,32625
755 00ea 1401 and a,(OFST-1,sp)
756 00ec c77f71 ld 32625,a
757 ; 259 ITC->ISPR2 |= NewPriority;
759 00ef c67f71 ld a,32625
760 00f2 1a02 or a,(OFST+0,sp)
761 00f4 c77f71 ld 32625,a
762 ; 260 break;
764 00f7 2058 jra L162
765 00f9 L512:
766 ; 262 case ITC_IRQ_CAN_RX:
766 ; 263 case ITC_IRQ_CAN_TX:
766 ; 264 case ITC_IRQ_SPI:
766 ; 265 case ITC_IRQ_TIM1_OVF:
766 ; 266 ITC->ISPR3 &= Mask;
768 00f9 c67f72 ld a,32626
769 00fc 1401 and a,(OFST-1,sp)
770 00fe c77f72 ld 32626,a
771 ; 267 ITC->ISPR3 |= NewPriority;
773 0101 c67f72 ld a,32626
774 0104 1a02 or a,(OFST+0,sp)
775 0106 c77f72 ld 32626,a
776 ; 268 break;
778 0109 2046 jra L162
779 010b L712:
780 ; 270 case ITC_IRQ_TIM1_CAPCOM:
780 ; 271 case ITC_IRQ_TIM2_OVF:
780 ; 272 case ITC_IRQ_TIM2_CAPCOM:
780 ; 273 case ITC_IRQ_TIM3_OVF:
780 ; 274 ITC->ISPR4 &= Mask;
782 010b c67f73 ld a,32627
783 010e 1401 and a,(OFST-1,sp)
784 0110 c77f73 ld 32627,a
785 ; 275 ITC->ISPR4 |= NewPriority;
787 0113 c67f73 ld a,32627
788 0116 1a02 or a,(OFST+0,sp)
789 0118 c77f73 ld 32627,a
790 ; 276 break;
792 011b 2034 jra L162
793 011d L122:
794 ; 278 case ITC_IRQ_TIM3_CAPCOM:
794 ; 279 case ITC_IRQ_USART_TX:
794 ; 280 case ITC_IRQ_USART_RX:
794 ; 281 case ITC_IRQ_I2C:
794 ; 282 ITC->ISPR5 &= Mask;
796 011d c67f74 ld a,32628
797 0120 1401 and a,(OFST-1,sp)
798 0122 c77f74 ld 32628,a
799 ; 283 ITC->ISPR5 |= NewPriority;
801 0125 c67f74 ld a,32628
802 0128 1a02 or a,(OFST+0,sp)
803 012a c77f74 ld 32628,a
804 ; 284 break;
806 012d 2022 jra L162
807 012f L322:
808 ; 286 case ITC_IRQ_LINUART_TX:
808 ; 287 case ITC_IRQ_LINUART_RX:
808 ; 288 case ITC_IRQ_ADC:
808 ; 289 case ITC_IRQ_TIM4_OVF:
808 ; 290 ITC->ISPR6 &= Mask;
810 012f c67f75 ld a,32629
811 0132 1401 and a,(OFST-1,sp)
812 0134 c77f75 ld 32629,a
813 ; 291 ITC->ISPR6 |= NewPriority;
815 0137 c67f75 ld a,32629
816 013a 1a02 or a,(OFST+0,sp)
817 013c c77f75 ld 32629,a
818 ; 292 break;
820 013f 2010 jra L162
821 0141 L522:
822 ; 294 case ITC_IRQ_EEPROM_EEC:
822 ; 295 ITC->ISPR7 &= Mask;
824 0141 c67f76 ld a,32630
825 0144 1401 and a,(OFST-1,sp)
826 0146 c77f76 ld 32630,a
827 ; 296 ITC->ISPR7 |= NewPriority;
829 0149 c67f76 ld a,32630
830 014c 1a02 or a,(OFST+0,sp)
831 014e c77f76 ld 32630,a
832 ; 297 break;
834 0151 L722:
835 ; 299 default:
835 ; 300 break;
837 0151 L162:
838 ; 304 }
841 0151 5b04 addw sp,#4
842 0153 81 ret
855 xdef _ITC_GetSoftwarePriority
856 xdef _ITC_SetSoftwarePriority
857 xdef _ITC_GetSoftIntStatus
858 xdef _ITC_DeInit
859 xdef _ITC_GetCPUCC
878 end
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -