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

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

?? os_cpu.lst

?? 給出一個簡單操作系統在AVR中應用實例
?? LST
?? 第 1 頁 / 共 2 頁
字號:
   1               		.file	"os_cpu.c"
   2               		.arch at90s8515
   3               	__SREG__ = 0x3f
   4               	__SP_H__ = 0x3e
   5               	__SP_L__ = 0x3d
   6               	__tmp_reg__ = 0
   7               	__zero_reg__ = 1
   8               		.global __do_copy_data
   9               		.global __do_clear_bss
  11               		.text
  12               	.Ltext0:
  64               	.global	InitOSTimer
  66               	InitOSTimer:
   1:C:/WinAVR/minOS_WinAVR/os_cpu.c **** /*
   2:C:/WinAVR/minOS_WinAVR/os_cpu.c **** ***************************************************************************************************
   3:C:/WinAVR/minOS_WinAVR/os_cpu.c **** *                                      minOS 0.01v
   4:C:/WinAVR/minOS_WinAVR/os_cpu.c **** *                                The Real-Time OS Kernel
   5:C:/WinAVR/minOS_WinAVR/os_cpu.c **** *                                  All Rights Reserved
   6:C:/WinAVR/minOS_WinAVR/os_cpu.c **** * File : OS_CPU.C
   7:C:/WinAVR/minOS_WinAVR/os_cpu.c **** * 作者 : 21icbbs網友 LM7556 ,2004年7月   by : LM7556 , China , 2004-2004 
   8:C:/WinAVR/minOS_WinAVR/os_cpu.c **** *
   9:C:/WinAVR/minOS_WinAVR/os_cpu.c **** ***************************************************************************************************
  10:C:/WinAVR/minOS_WinAVR/os_cpu.c **** */
  11:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 
  12:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 
  13:C:/WinAVR/minOS_WinAVR/os_cpu.c **** #define OS_CPU_GLOBALS
  14:C:/WinAVR/minOS_WinAVR/os_cpu.c **** #include "OS_Includes.h"
  15:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 
  16:C:/WinAVR/minOS_WinAVR/os_cpu.c **** //#pragma interrupt_handler OSTickISR:8  //uses Timer0 for time ticks.
  17:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 
  18:C:/WinAVR/minOS_WinAVR/os_cpu.c **** //;CPU specific definitions 
  19:C:/WinAVR/minOS_WinAVR/os_cpu.c **** #define C51_CRYSTAL_FREQ   4000000ul
  20:C:/WinAVR/minOS_WinAVR/os_cpu.c **** //;Determine the reload values for timer 0 this is automated by the next macro
  21:C:/WinAVR/minOS_WinAVR/os_cpu.c **** #define T0_RELOAD  C51_CRYSTAL_FREQ / OS_TICKS_PER_SEC / 1024
  22:C:/WinAVR/minOS_WinAVR/os_cpu.c **** #define T0_TCNT0 (256 - (T0_RELOAD & 0xff))
  23:C:/WinAVR/minOS_WinAVR/os_cpu.c **** //Initial OS Timer for time ticks --- 初始化時間節拍定時器。
  24:C:/WinAVR/minOS_WinAVR/os_cpu.c **** void InitOSTimer(void)
  25:C:/WinAVR/minOS_WinAVR/os_cpu.c **** {
  68               	.LM1:
  69               	/* prologue: frame size=0 */
  70               	/* prologue end (size=0) */
  26:C:/WinAVR/minOS_WinAVR/os_cpu.c ****   TIMSK |= (1<<1);     // set T0IE0
  72               	.LM2:
  73 0000 89B7      		in r24,89-0x20
  74 0002 8260      		ori r24,lo8(2)
  75 0004 89BF      		out 89-0x20,r24
  27:C:/WinAVR/minOS_WinAVR/os_cpu.c ****   TCCR0  = 0x05;       // CTC0=CK/1024
  77               	.LM3:
  78 0006 85E0      		ldi r24,lo8(5)
  79 0008 83BF      		out 83-0x20,r24
  28:C:/WinAVR/minOS_WinAVR/os_cpu.c ****   TCNT0  = T0_TCNT0;   // (256 - (T0_RELOAD & 0xff))
  81               	.LM4:
  82 000a 8AE7      		ldi r24,lo8(122)
  83 000c 82BF      		out 82-0x20,r24
  29:C:/WinAVR/minOS_WinAVR/os_cpu.c ****   SREG  |= (1<<7);     // SEI
  85               	.LM5:
  86 000e 8FB7      		in r24,95-0x20
  87 0010 8068      		ori r24,lo8(-128)
  88 0012 8FBF      		out 95-0x20,r24
  89               	/* epilogue: frame size=0 */
  90 0014 0895      		ret
  91               	/* epilogue end (size=1) */
  92               	/* function InitOSTimer size 11 (10) */
  98               	.global	OSTaskCreate
 100               	OSTaskCreate:
  30:C:/WinAVR/minOS_WinAVR/os_cpu.c **** }
  31:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 
  32:C:/WinAVR/minOS_WinAVR/os_cpu.c **** //建立一個任務(Create a Task)。
  33:C:/WinAVR/minOS_WinAVR/os_cpu.c **** //Inport :  tFunc --- function address , tStk --- stack bottom , prio --- Priority .
  34:C:/WinAVR/minOS_WinAVR/os_cpu.c **** void OSTaskCreate (void (*tFunc)(void) , OS_STK *tStk, INT8U prio) 
  35:C:/WinAVR/minOS_WinAVR/os_cpu.c **** {
 102               	.LM6:
 103               	/* prologue: frame size=0 */
 104 0016 CF93      		push r28
 105 0018 DF93      		push r29
 106               	/* prologue end (size=2) */
 107 001a 282F      		mov r18,r24
 108 001c 392F      		mov r19,r25
 109 001e F72F      		mov r31,r23
 110 0020 E62F      		mov r30,r22
 111 0022 842F      		mov r24,r20
  36:C:/WinAVR/minOS_WinAVR/os_cpu.c ****  	OSTCB[prio].OSTaskStatus = OS_TASK_Rdy;
 113               	.LM7:
 114 0024 9927      		clr r25
 115 0026 B92F      		mov r27,r25
 116 0028 A82F      		mov r26,r24
 117 002a AA0F      		lsl r26
 118 002c BB1F      		rol r27
 119 002e AA0F      		lsl r26
 120 0030 BB1F      		rol r27
 121 0032 A80F      		add r26,r24
 122 0034 B91F      		adc r27,r25
 123 0036 A050      		subi r26,lo8(-(OSTCB))
 124 0038 B040      		sbci r27,hi8(-(OSTCB))
 125 003a 8CEF      		ldi r24,lo8(-4)
 126 003c DB2F      		mov r29,r27
 127 003e CA2F      		mov r28,r26
 128 0040 8A83      		std Y+2,r24
  37:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	OSTCB[prio].OSStkTop = (INT16U)tStk-1 /* Initial value when main was called             */
 130               	.LM8:
 131 0042 3F97      		sbiw r30,15
 132 0044 ED93      		st X+,r30
 133 0046 FC93      		st X,r31
 134 0048 3F96      		adiw r30,15
  38:C:/WinAVR/minOS_WinAVR/os_cpu.c ****                           -12             /* reserve for to save R0-R5 , R26-R31 registers  */
  39:C:/WinAVR/minOS_WinAVR/os_cpu.c ****                           -sizeof(INT16U) /* The PC value to be loaded                      */
  40:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 					   ;
  41:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	*--tStk	=  (INT16U const)tFunc & 0xff;   /* Save low byte of task function address   */
 136               	.LM9:
 137 004a 2293      		st -Z,r18
  42:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	*--tStk	=  (INT16U const)tFunc / 0x100;  /* Save high byte of task function address  */
 139               	.LM10:
 140 004c 3197      		sbiw r30,1
 141 004e 832F      		mov r24,r19
 142 0050 9927      		clr r25
 143 0052 8083      		st Z,r24
 144               	/* epilogue: frame size=0 */
 145 0054 DF91      		pop r29
 146 0056 CF91      		pop r28
 147 0058 0895      		ret
 148               	/* epilogue end (size=3) */
 149               	/* function OSTaskCreate size 34 (29) */
 152               	.global	OSCtxSw
 154               	OSCtxSw:
  43:C:/WinAVR/minOS_WinAVR/os_cpu.c **** }
  44:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 
  45:C:/WinAVR/minOS_WinAVR/os_cpu.c **** static unsigned int SaveSP; //用于保存需恢復的SP,在OSTickISR或用戶中斷結束做任務切換時,恢復SP.
  46:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 
  47:C:/WinAVR/minOS_WinAVR/os_cpu.c **** //context switch interrupt --- 軟中斷任務切換
  48:C:/WinAVR/minOS_WinAVR/os_cpu.c **** void OSCtxSw(void) 
  49:C:/WinAVR/minOS_WinAVR/os_cpu.c **** {
 156               	.LM11:
 157               	/* prologue: frame size=0 */
 158               	/* prologue end (size=0) */
  50:C:/WinAVR/minOS_WinAVR/os_cpu.c **** //asm("in %0, %1" : "=r" (value) : "I" (PORTD) : );
  51:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 
  52:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R31");
 160               	.LM12:
 161               	/* #APP */
 162 005a FF93      		PUSH R31
  53:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R30");
 164               	.LM13:
 165 005c EF93      		PUSH R30
  54:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R29");	
 167               	.LM14:
 168 005e DF93      		PUSH R29
  55:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R28");
 170               	.LM15:
 171 0060 CF93      		PUSH R28
  56:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R27");
 173               	.LM16:
 174 0062 BF93      		PUSH R27
  57:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R26");
 176               	.LM17:
 177 0064 AF93      		PUSH R26
  58:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 
  59:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R0");
 179               	.LM18:
 180 0066 0F92      		PUSH R0
  60:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R1");
 182               	.LM19:
 183 0068 1F92      		PUSH R1
  61:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R2");	
 185               	.LM20:
 186 006a 2F92      		PUSH R2
  62:C:/WinAVR/minOS_WinAVR/os_cpu.c **** 	asm("PUSH R3");

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
美女免费视频一区二区| 欧美精品tushy高清| 国产a精品视频| 国产精品主播直播| 国产精品综合久久| 久久er99精品| 国产精品一区二区91| 国产91对白在线观看九色| 粉嫩aⅴ一区二区三区四区五区| 成人午夜av影视| 99视频热这里只有精品免费| 91黄色免费看| 在线成人av影院| 精品人伦一区二区色婷婷| 久久精品一区二区三区四区| 亚洲欧洲日韩综合一区二区| 亚洲综合色成人| 免费的成人av| 国产成人精品午夜视频免费| 91在线视频免费观看| 欧美日韩国产精选| 久久久久久久一区| 亚洲日本va午夜在线影院| 亚洲a一区二区| 国产一区二区三区av电影| 成人h动漫精品| 欧美视频中文字幕| 舔着乳尖日韩一区| 久久99精品久久久久| 成人av午夜影院| 欧美日韩一区二区在线观看视频| 91精品国产高清一区二区三区蜜臀| 欧美电影免费观看高清完整版在线观看 | 国产一区二区h| 99re成人精品视频| 91精品国产91久久综合桃花| 久久毛片高清国产| 亚洲免费观看在线观看| 丝袜国产日韩另类美女| 国产sm精品调教视频网站| 欧美午夜精品理论片a级按摩| 日韩亚洲电影在线| 亚洲色图色小说| 看电视剧不卡顿的网站| 99在线精品观看| 欧美不卡在线视频| 一个色综合av| 国产一区二区按摩在线观看| 在线观看网站黄不卡| 久久久午夜精品| 亚洲国产精品久久久男人的天堂 | 色天天综合久久久久综合片| 日韩一区国产二区欧美三区| 中文字幕日本乱码精品影院| 麻豆成人久久精品二区三区红 | aaa欧美色吧激情视频| 91精品国产综合久久精品性色| 国产精品天干天干在线综合| 日韩精品成人一区二区三区| 成人免费高清视频在线观看| 欧美大片在线观看一区| 成人福利在线看| 精品处破学生在线二十三| 香蕉成人啪国产精品视频综合网| 99久久伊人精品| 337p粉嫩大胆色噜噜噜噜亚洲| 午夜av电影一区| 日本精品视频一区二区| 国产日韩欧美a| 久久www免费人成看片高清| 欧美性猛片xxxx免费看久爱| 最好看的中文字幕久久| 国产美女娇喘av呻吟久久| 日韩一级片在线播放| 亚洲国产人成综合网站| 91免费看`日韩一区二区| 国产欧美日韩精品在线| 极品少妇xxxx偷拍精品少妇| 5566中文字幕一区二区电影| 亚洲一二三四在线观看| 日本乱码高清不卡字幕| 中文字幕视频一区二区三区久| 国产在线精品一区二区夜色| 日韩三级免费观看| 日本不卡的三区四区五区| 欧美日本韩国一区| 亚洲成人自拍网| 欧美日韩精品一二三区| 亚洲午夜电影网| 欧美中文字幕一区二区三区亚洲 | 99九九99九九九视频精品| 国产视频一区在线播放| 国产乱码精品一区二区三区五月婷| 日韩一级免费一区| 久久精品久久精品| 精品欧美黑人一区二区三区| 麻豆精品视频在线观看免费| 日韩欧美成人激情| 捆绑紧缚一区二区三区视频 | 亚洲h动漫在线| 欧美日韩精品一区二区天天拍小说 | 国产精品人妖ts系列视频 | 久久精品一区蜜桃臀影院| 国产麻豆视频一区| 国产欧美一区二区三区鸳鸯浴 | 天堂蜜桃一区二区三区 | 一区二区三区四区在线| 欧洲人成人精品| 午夜精品久久久久影视| 欧美日本一区二区三区| 欧美性大战久久久久久久| 亚洲韩国精品一区| 69av一区二区三区| 狠狠色丁香婷综合久久| 国产精品免费免费| 一本色道a无线码一区v| 亚洲一二三专区| 日韩一区二区三区四区五区六区| 久久成人av少妇免费| 国产区在线观看成人精品 | 在线综合视频播放| 九色|91porny| 国产精品丝袜在线| 91国内精品野花午夜精品| 亚洲超碰97人人做人人爱| 欧美tickle裸体挠脚心vk| 国产成人精品一区二区三区四区 | 久久久一区二区| www.66久久| 午夜精品成人在线视频| 日韩欧美在线影院| 国产福利一区二区三区视频| 亚洲视频资源在线| 宅男在线国产精品| 成人免费黄色大片| 亚洲国产色一区| 久久久精品tv| 在线亚洲一区观看| 精品一区二区在线视频| 国产精品剧情在线亚洲| 欧美乱妇23p| 成人一区二区在线观看| 亚洲一区在线电影| 国产日韩亚洲欧美综合| 欧美体内she精高潮| 国产露脸91国语对白| 亚洲一二三四区不卡| 久久久国产精华| 欧美日韩在线一区二区| 国产精品自拍一区| 一本一道久久a久久精品综合蜜臀| 香蕉成人伊视频在线观看| 中文字幕乱码亚洲精品一区| 色综合久久综合| 国产一区91精品张津瑜| 亚洲国产精品久久艾草纯爱| 欧美激情一区二区在线| 91精品国产91热久久久做人人| k8久久久一区二区三区 | 成人app下载| 天天色 色综合| 中文字幕一区二区视频| 欧美电影免费观看高清完整版| 成人精品一区二区三区四区| 青青草原综合久久大伊人精品 | 成人黄页在线观看| 日本三级韩国三级欧美三级| 亚洲免费观看高清完整| 久久久国产精品麻豆| 日韩欧美亚洲国产精品字幕久久久 | 91首页免费视频| 国产精品一区二区不卡| 欧美aa在线视频| 亚洲成va人在线观看| 自拍偷在线精品自拍偷无码专区| 精品国产三级电影在线观看| 欧美日韩一卡二卡三卡| 波多野结衣在线一区| 国产在线麻豆精品观看| 免费日韩伦理电影| 婷婷成人激情在线网| 亚洲一卡二卡三卡四卡无卡久久| 国产精品理论在线观看| 国产欧美在线观看一区| 久久综合网色—综合色88| 欧美一区二区三区公司| 欧美色视频在线| 欧美在线综合视频| 色嗨嗨av一区二区三区| 色综合一个色综合| 成人精品高清在线| 国产精品456| 国产精品伊人色| 国产麻豆精品视频| 国产高清成人在线| 国产白丝精品91爽爽久久| 国产精品一区三区| 国产黄色精品网站| 国产成人8x视频一区二区| 国产激情偷乱视频一区二区三区|