亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? os_cpu_a.s

?? ucosII在ATmega16上的移植源碼.rar
?? S
字號:
;OS_CPU_A.S

#include <avr/io.h>

#define INC_FROM_OS_CPU_ASM

#include "../AVR/os_cpu.h"
#include "../Config/os_cfg.h"

;*************************************************************************************************************
;OS_EXT  INT8U             OSIntNesting;                        /* Interrupt nesting level                           */
;OS_EXT  BOOLEAN           OSRunning;                       /* Flag indicating that kernel is running         */
;OS_EXT  INT8U             OSPrioCur;                           /* Priority of current task                         */
;OS_EXT  INT8U             OSPrioHighRdy;                     /* Priority of highest priority task               */
;OS_EXT  OS_TCB           *OSTCBCur;                        /* Pointer to currently running TCB           */
;OS_EXT  OS_TCB           *OSTCBHighRdy;                  /* Pointer to highest priority TCB R-to-R   */

         .extern OSTCBCur
         .extern OSTCBHighRdy
         .extern OSPrioCur
         .extern OSPrioHighRdy

         .extern OSRunning
         .extern OSIntNesting


;*************************************************************************************************************
         .global OSStartHighRdy
         .type OSStartHighRdy,#function
         .section .text,"ax"
OSStartHighRdy:

#if      OS_CPU_HOOKS_EN > 0
         .extern OSTaskSwHook
         call     OSTaskSwHook
#endif  

         lds       r16,OSRunning
         inc       r16
         sts       OSRunning,r16
		 
         lds       r30,OSTCBHighRdy
         lds       r31,OSTCBHighRdy+1	 
         ld        r16,z+
         ld        r17,z
         out      _SFR_IO_ADDR(SPL),r16 ;
         out      _SFR_IO_ADDR(SPH),r17 ;
		 
		 pop     r0
		 out     _SFR_IO_ADDR(SREG),r0 ;
		 
		 pop     r0
		 pop     r1
		 pop     r2
		 pop     r3   
		 pop     r4
		 pop     r5
		 pop     r6
		 pop     r7 
		 pop     r8
		 pop     r9
		 pop     r10
		 pop     r11
		 pop     r12
		 pop     r13
		 pop     r14
		 pop     r15  
		 pop     r16
		 pop     r17
		 pop     r18
		 pop     r19   
		 pop     r20
		 pop     r21
		 pop     r22
		 pop     r23 
		 pop     r24
		 pop     r25
		 pop     r26
		 pop     r27 
		 pop     r28
		 pop     r29
		 pop     r30
		 pop     r31       

          ret   

;*************************************************************************************************************
         .global OSCtxSw
         .type OSCtxSw,#function
         .section .text,"ax"
OSCtxSw:
         push    r31
         push    r30
         push    r29
         push    r28
         push    r27
         push    r26
         push    r25
         push    r24
         push    r23
         push    r22
         push    r21
         push    r20
         push    r19
         push    r18
         push    r17
         push    r16
         push    r15
         push    r14
         push    r13
         push    r12
         push    r11
         push    r10
         push    r9
         push    r8
         push    r7
         push    r6
         push    r5
         push    r4
         push    r3
         push    r2
         push    r1
         push    r0
         in        r0,_SFR_IO_ADDR(SREG)
         push    r0 


         in        r16,_SFR_IO_ADDR(SPL)
         in        r17,_SFR_IO_ADDR(SPH)
         lds       r30,OSTCBCur
         lds       r31,OSTCBCur+1
         st        z+,r16
         st        z,r17

#if      OS_CPU_HOOKS_EN > 0
         .extern OSTaskSwHook
         call     OSTaskSwHook
#endif          

         lds       r16,OSTCBHighRdy
         lds       r17,OSTCBHighRdy+1
         sts       OSTCBCur,r16
         sts       OSTCBCur+1,r17

         lds       r16,OSPrioHighRdy
         sts       OSPrioCur,r16

         lds       r30,OSTCBHighRdy
         lds       r31,OSTCBHighRdy+1	 
         ld        r16,z+
         ld        r17,z
         out      _SFR_IO_ADDR(SPL),r16 ;
         out      _SFR_IO_ADDR(SPH),r17 ;
		 
		 pop     r0
		 out     _SFR_IO_ADDR(SREG),r0 ;
		 
		 pop     r0
		 pop     r1
		 pop     r2
		 pop     r3   
		 pop     r4
		 pop     r5
		 pop     r6
		 pop     r7 
		 pop     r8
		 pop     r9
		 pop     r10
		 pop     r11
		 pop     r12
		 pop     r13
		 pop     r14
		 pop     r15  
		 pop     r16
		 pop     r17
		 pop     r18
		 pop     r19   
		 pop     r20
		 pop     r21
		 pop     r22
		 pop     r23 
		 pop     r24
		 pop     r25
		 pop     r26
		 pop     r27 
		 pop     r28
		 pop     r29
		 pop     r30
		 pop     r31            

         ret       
;*************************************************************************************************************
         .global OSIntCtxSw
         .type OSIntCtxSw,#function
         .section .text,"ax"
OSIntCtxSw:
         in        r24,_SFR_IO_ADDR(SPL)
         in        r25,_SFR_IO_ADDR(SPH)
         adiw     r24,4
#if     OS_CRITICAL_METHOD == 2
         adiw     r24,1
#endif

#if     OS_CRITICAL_METHOD == 3
         adiw     r24,1
#endif

         out      _SFR_IO_ADDR(SPL),r24
         out      _SFR_IO_ADDR(SPH),r25

         lds       r30,OSTCBCur
         lds       r31,OSTCBCur+1
         st        z+,r24
         st        z,r25

#if      OS_CPU_HOOKS_EN > 0
         .extern OSTaskSwHook
         call     OSTaskSwHook
#endif          

         lds       r16,OSTCBHighRdy
         lds       r17,OSTCBHighRdy+1
         sts       OSTCBCur,r16
         sts       OSTCBCur+1,r17

         lds       r16,OSPrioHighRdy
         sts       OSPrioCur,r16

         lds       r30,OSTCBHighRdy
         lds       r31,OSTCBHighRdy+1	 
         ld        r16,z+
         ld        r17,z
         out      _SFR_IO_ADDR(SPL),r16 ;
         out      _SFR_IO_ADDR(SPH),r17 ;
		 
		 pop     r0
		 out     _SFR_IO_ADDR(SREG),r0 ;
		 
		 pop     r0
		 pop     r1
		 pop     r2
		 pop     r3   
		 pop     r4
		 pop     r5
		 pop     r6
		 pop     r7 
		 pop     r8
		 pop     r9
		 pop     r10
		 pop     r11
		 pop     r12
		 pop     r13
		 pop     r14
		 pop     r15  
		 pop     r16
		 pop     r17
		 pop     r18
		 pop     r19   
		 pop     r20
		 pop     r21
		 pop     r22
		 pop     r23 
		 pop     r24
		 pop     r25
		 pop     r26
		 pop     r27 
		 pop     r28
		 pop     r29
		 pop     r30
		 pop     r31            
         

         ret
;*************************************************************************************************************
         .extern OSTimeTick
         .extern OSIntExit
         .global OSTickISR
         .global SIG_OUTPUT_COMPARE0
SIG_OUTPUT_COMPARE0:
OSTickISR:
         push    r31
         push    r30
         push    r29
         push    r28
         push    r27
         push    r26
         push    r25
         push    r24
         push    r23
         push    r22
         push    r21
         push    r20
         push    r19
         push    r18
         push    r17
         push    r16
         push    r15
         push    r14
         push    r13
         push    r12
         push    r11
         push    r10
         push    r9
         push    r8
         push    r7
         push    r6
         push    r5
         push    r4
         push    r3
         push    r2
         push    r1
         push    r0
         in        r16,_SFR_IO_ADDR(SREG)
         ori       r16,0x80
         push    r16          

         lds       r16,OSIntNesting
         inc       r16
         sts       OSIntNesting,r16

         

         call     OSTimeTick
         call     OSIntExit

		 pop     r0
		 out     _SFR_IO_ADDR(SREG),r0 ;
		 
		 pop     r0
		 pop     r1
		 pop     r2
		 pop     r3   
		 pop     r4
		 pop     r5
		 pop     r6
		 pop     r7 
		 pop     r8
		 pop     r9
		 pop     r10
		 pop     r11
		 pop     r12
		 pop     r13
		 pop     r14
		 pop     r15  
		 pop     r16
		 pop     r17
		 pop     r18
		 pop     r19   
		 pop     r20
		 pop     r21
		 pop     r22
		 pop     r23 
		 pop     r24
		 pop     r25
		 pop     r26
		 pop     r27 
		 pop     r28
		 pop     r29
		 pop     r30
		 pop     r31            

         reti 
;*************************************************************************************************************
         .global   PushSREG
PushSREG:
         in      r0,_SFR_IO_ADDR(SREG)
         push  r0
         ret

         .global PopSreg
PopSREG:
         pop   r0
         out   _SFR_IO_ADDR(SREG),r0
         ret

     .end

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色偷偷久久一区二区三区| 欧美一区二区国产| 亚洲免费av在线| 在线国产电影不卡| 一本到不卡免费一区二区| 成人福利视频网站| 99re热这里只有精品视频| 97国产一区二区| 欧美三级日本三级少妇99| 欧美日韩精品二区第二页| 欧美日本视频在线| 精品噜噜噜噜久久久久久久久试看 | 精品国产三级a在线观看| 日韩欧美中文字幕精品| 精品国产亚洲一区二区三区在线观看 | 国产·精品毛片| 成人av在线电影| 91福利国产成人精品照片| 欧美日韩国产综合草草| 日韩不卡一区二区| 亚洲特级片在线| 精品在线视频一区| 久久精品国产77777蜜臀| 亚洲无人区一区| 秋霞电影网一区二区| 久久99久久久久久久久久久| 麻豆91在线看| 成人性生交大片免费看视频在线 | 91麻豆精品在线观看| 99精品热视频| 91精品欧美久久久久久动漫| 久久久久久免费毛片精品| 亚洲天堂精品在线观看| 日韩中文字幕一区二区三区| 国产伦精品一区二区三区视频青涩| 国产成人免费视频网站| 欧美亚洲图片小说| 一区二区中文视频| 国产亚洲精品7777| 一区二区三区.www| 国内精品国产成人| 久久久亚洲国产美女国产盗摄| 久久精品一区二区三区四区| 亚洲欧美福利一区二区| 麻豆国产欧美一区二区三区| av电影一区二区| 精品久久久久久亚洲综合网| 成人欧美一区二区三区小说| 中文字幕高清不卡| 欧美国产成人精品| 美女视频第一区二区三区免费观看网站| 国产一区二区女| 欧美精品三级在线观看| 老司机精品视频导航| 午夜精品一区二区三区免费视频| 国产成人av一区| 亚洲妇女屁股眼交7| 北条麻妃一区二区三区| 精品区一区二区| 日韩国产精品大片| 欧美日韩免费视频| 亚洲视频一区在线| 成人精品国产免费网站| 欧美精品一区二区三区蜜桃| 日本中文在线一区| 69精品人人人人| 亚洲乱码中文字幕综合| 国产69精品久久久久777| 日韩免费在线观看| 久久精品国产99国产| 91精品久久久久久久91蜜桃| 亚洲成av人片观看| 欧洲一区二区三区在线| 亚洲猫色日本管| 色综合色狠狠综合色| 国产精品久久久久久久午夜片| 精品一区二区免费视频| 欧美第一区第二区| 久久99精品国产麻豆婷婷| 日韩三级视频在线看| 欧美aaa在线| 日韩精品一区二区三区四区视频| 青青草97国产精品免费观看 | 中文字幕不卡三区| 韩国一区二区视频| 91成人在线观看喷潮| 欧美激情资源网| 不卡高清视频专区| 成人免费一区二区三区在线观看| 99精品欧美一区二区三区小说 | 亚洲成人免费看| 91麻豆精品国产自产在线| 久久国产精品露脸对白| 国产亚洲欧洲997久久综合| 成人一区二区在线观看| 亚洲三级小视频| 欧美日韩精品久久久| 久久99最新地址| 国产亚洲美州欧州综合国| av成人老司机| 午夜精品久久久久| 久久久久久电影| 91在线视频免费91| 视频一区在线视频| 国产欧美一区在线| 在线精品亚洲一区二区不卡| 日韩vs国产vs欧美| 亚洲国产精品精华液ab| 日本精品一区二区三区四区的功能| 亚洲国产精品欧美一二99| 精品久久久久久综合日本欧美 | 怡红院av一区二区三区| 日韩视频在线你懂得| 国产白丝网站精品污在线入口| 一区二区三区国产精品| 精品国产一二三| 精品一区二区精品| 一区二区三区91| 日本一区二区视频在线观看| 欧美日韩一级片网站| 成人精品在线视频观看| 日韩黄色免费网站| 亚洲老司机在线| 久久久久久久久久久久久女国产乱| 一本久久精品一区二区| 国内精品自线一区二区三区视频| 亚洲一区在线视频| 国产精品亲子乱子伦xxxx裸| 日韩一卡二卡三卡| 欧美在线视频不卡| 成+人+亚洲+综合天堂| 久久99国产精品免费网站| 亚洲国产视频在线| 日韩理论片网站| 欧美国产亚洲另类动漫| 日韩欧美高清dvd碟片| 欧美日韩国产欧美日美国产精品| 成人av免费在线观看| 国产乱妇无码大片在线观看| 视频在线在亚洲| 午夜成人免费视频| 亚洲综合一二三区| 一区二区三区在线视频免费观看 | 一区二区中文视频| 久久久五月婷婷| 亚洲精品在线三区| 日韩一区二区电影在线| 欧美日韩在线一区二区| 欧美在线一区二区三区| 91福利在线播放| 日本高清不卡aⅴ免费网站| av电影在线观看不卡| 成人av网站在线观看| 成人毛片在线观看| 99精品国产91久久久久久| jiyouzz国产精品久久| 波多野结衣中文字幕一区 | 91小宝寻花一区二区三区| 成人黄色片在线观看| 成人一道本在线| av电影一区二区| 在线免费一区三区| 欧美视频在线一区二区三区| 欧美日韩高清在线播放| 欧美少妇xxx| 欧美一区二区三区四区视频| 欧美一卡二卡三卡四卡| 欧美精品一区二区三区一线天视频| 日韩欧美一区在线| 久久综合丝袜日本网| 国产欧美精品日韩区二区麻豆天美| 国产女主播视频一区二区| 中国色在线观看另类| 亚洲人成小说网站色在线| 亚洲国产日韩a在线播放性色| 午夜精品在线看| 国产乱码一区二区三区| 成人av在线资源| 欧美日韩在线播放三区四区| 欧美一区二区女人| 久久精品欧美一区二区三区麻豆| 欧美国产精品一区二区| 国产精品福利电影一区二区三区四区 | 国产亚洲一区二区三区四区| 中文字幕制服丝袜成人av| 中文字幕一区二| 日韩三级免费观看| 国产精品丝袜在线| 天堂一区二区在线免费观看| 国产在线看一区| 在线观看三级视频欧美| 精品久久久久久久久久久久包黑料| 国产亚洲欧美激情| 日韩精品视频网| 成人av午夜电影| 精品剧情在线观看| 一区二区三区日韩欧美| 国产毛片精品视频| 欧美日韩一本到| 中文字幕日本不卡|