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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? os_cpu_c.s

?? ucos-ii-at90S-icc-avr
?? S
字號(hào):
	.module os_cpu_c.c
	.area text(rom, con, rel)
	.dbfile G:\編程2002-10-15-HOME\做過的項(xiàng)目\2002-10-22\home-c\software\ucos-ii-at90S-icc-avr\os-task-sem\os_cpu_c.c
	.dbfunc e OSTaskStkInit _OSTaskStkInit fpc
;           stks -> R10,R11
;            tmp -> R22,R23
;            stk -> R20,R21
;       stk_size -> y+10
;           ptos -> y+8
;          pdata -> R12,R13
;           task -> R22,R23
	.even
_OSTaskStkInit::
	rcall push_gset4
	mov R12,R18
	mov R13,R19
	mov R22,R16
	mov R23,R17
	.dbline -1
	.dbline 42
; #include "includes.h"
; 
; /*
; ********************************************************************************
; *                     INITIALIZE A TASK'S STACK
; *
; * Description:
; *	This function is called by either OSTaskCreate() or OSTaskCreateExt() to
; *	initialize the stack frame of the task being created. This function is
; *	highly processor specific.
; *
; * Arguments:
; *	task - 	is a pointer to the task code
; *
; *	pdata -	is a pointer to a user supplied data area that will be passed to the
; *			 task when the task first executes.
; *
; *	ptos - 	is a pointer to the top of stack. It is assumed that 'ptos' points to
; *			the highest valid address on the stack.
; *
; *	opt - 	specifies options that can be used to alter the behavior of 
; 			OSTaskStkInit(). (see uCOS_II.H for OS_TASK_OPT_???).
; *
; * Returns:
; *	Always returns the location of the new top-of-stack' once the processor 
; *	registers have been placed on the stack in the proper order.
; *
; * Note(s):
; *	Interrupts are enabled when your task starts executing. You can change this 
; * 	by setting the SREG to 0x00 instead. In this case, interrupts would be 
; *	disabled upon task startup. The application code would be responsible for 
; *	enabling interrupts at the beginning of the task code. You will need to 
; *	modify OSTaskIdle() and OSTaskStat() so that they enable interrupts. Failure
; *	to do this will make your system crash! The AVR return stack is placed 64 
; *	bytes above the start of the (512 byte) stack. This provides 32 levels of 
; *	function call nesting which should be more than enough for most applications
; *	(see the "read.me" file for more info).
; *
; ********************************************************************************
; */
; OS_STK *OSTaskStkInit (void (*task)(void *pd),
; 						 void *pdata, OS_STK *ptos, INT16U stk_size){
	.dbline 48
;     INT8U  *stk;
;     INT8U  *stks;		// Temp. variable used for setting up AVR hardware stack
;     INT16U tmp;
; 
; 
;     stk     = (INT8U *)ptos;
	ldd R20,y+8
	ldd R21,y+9
	.dbline 54
; 	// AVR return stack ("hardware stack")
;     //from IAR C
;     //stks    = (INT8U *)(ptos)-(OS_TASK_DEF_STK_SIZE-64);/* AVR return stack ("hardware stack")          */
;     //from ICC AVR C
;     //stks    = (INT8U *)(ptos)-(OS_TASK_DEF_STK_SIZE-32);
;     stks    = (INT8U *)(ptos)-(stk_size - OS_HARDWARE_STACK_SIZE);
	ldd R24,y+10
	ldd R25,y+11
	subi R24,64
	sbci R25,0
	ldd R10,y+8
	ldd R11,y+9
	sub R10,R24
	sbc R11,R25
	.dbline 56
; #if OS_STRICT
;     if((0==task)||(ptos==0)||((INT16U)ptos<stk_size)||(stk_size<OS_HARDWARE_STACK_SIZE+40))
	cpi R22,0
	cpc R22,R23
	breq L7
X0:
	ldd R2,y+8
	ldd R3,y+9
	tst R2
	brne X1
	tst R3
	breq L7
X1:
	ldd R0,y+10
	ldd R1,y+11
	cp R2,R0
	cpc R3,R1
	brlo L7
	ldd R24,y+10
	ldd R25,y+11
	cpi R24,104
	ldi R30,0
	cpc R25,R30
	brsh L3
L7:
	.dbline 57
; 	  OSError(0);
	clr R16
	rcall _OSError
L3:
	.dbline 62
; #endif	
; 	// the function address has an extra level of indirection. Fetch the
;     // actual address.
;     //    
;     tmp = *(INT16U const *)task;
	mov R16,R22
	mov R17,R23
	rcall lpm16
	mov R22,R16
	mov R23,R17
	.dbline 65
;    
; 	// 36 Bytes
;     *stks-- = (INT8U)tmp;	//Put task start address on top of hardware stack
	mov R2,R10
	mov R3,R11
	mov R24,R2
	mov R25,R3
	sbiw R24,1
	mov R30,R2
	mov R31,R3
	std z+0,R22
	.dbline 66
;     *stks-- = (INT8U)(tmp >> 8);
	mov R2,R24
	mov R3,R25
	sbiw R24,1
	mov R10,R24
	mov R11,R25
	mov R4,R22
	mov R5,R23
	mov R4,R5
	clr R5
	mov R30,R2
	mov R31,R3
	std z+0,R4
	.dbline 68
; 
;     *stk-- = (INT8U)0x00;		// R0  = 0x00
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	clr R4
	mov R30,R2
	mov R31,R3
	std z+0,R4
	.dbline 69
;     *stk-- = (INT8U)0x01; 
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,1
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 70
;     *stk-- = (INT8U)0x02;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,2
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 71
;     *stk-- = (INT8U)0x03;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,3
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 72
;     *stk-- = (INT8U)0x04;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,4
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 73
;     *stk-- = (INT8U)0x05;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,5
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 74
;     *stk-- = (INT8U)0x06;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,6
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 75
;     *stk-- = (INT8U)0x07;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,7
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 76
;     *stk-- = (INT8U)0x08;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,8
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 77
;     *stk-- = (INT8U)0x09;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,9
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 78
;     *stk-- = (INT8U)0x10;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,16
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 79
;     *stk-- = (INT8U)0x11;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,17
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 80
;     *stk-- = (INT8U)0x12;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,18
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 81
;     *stk-- = (INT8U)0x13;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,19
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 82
;     *stk-- = (INT8U)0x14;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,20
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 83
;     *stk-- = (INT8U)0x15;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,21
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 84
;     tmp    = (INT16U)pdata;
	mov R22,R12
	mov R23,R13
	.dbline 85
;     *stk-- = (INT8U)tmp;	//Simulate call to function with argument
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	mov R30,R2
	mov R31,R3
	std z+0,R22
	.dbline 86
;     *stk-- = (INT8U)(tmp >> 8);
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	mov R4,R22
	mov R5,R23
	mov R4,R5
	clr R5
	mov R30,R2
	mov R31,R3
	std z+0,R4
	.dbline 87
;     *stk-- = (INT8U)0x18;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,24
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 88
;     *stk-- = (INT8U)0x19;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,25
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 89
;     *stk-- = (INT8U)0x20;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,32
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 90
;     *stk-- = (INT8U)0x21;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,33
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 91
;     *stk-- = (INT8U)0x22;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,34
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 92
;     *stk-- = (INT8U)0x23;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,35
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 93
;     *stk-- = (INT8U)0x24;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,36
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 94
;     *stk-- = (INT8U)0x25;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,37
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 95
;     *stk-- = (INT8U)0x26;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,38
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 96
;     *stk-- = (INT8U)0x27;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,39
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 98
; 	// the heap pointer Y=R29:R28 will not be stored
;     *stk-- = (INT8U)0x30;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,48
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 99
;     *stk-- = (INT8U)0x31;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,49
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 100
;     *stk-- = (INT8U)0x3B;
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,59
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 101
;     *stk-- = (INT8U)0x80;	//SREG = Interrupts enabled
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	ldi R24,128
	mov R30,R2
	mov R31,R3
	std z+0,R24
	.dbline 103
; 
;     tmp    = (INT16U)(stks);
	mov R22,R10
	mov R23,R11
	.dbline 104
;     *stk-- = (INT8U)(tmp >> 8);
	mov R2,R20
	mov R3,R21
	subi R20,1
	sbci R21,0
	mov R4,R22
	mov R5,R23
	mov R4,R5
	clr R5
	mov R30,R2
	mov R31,R3
	std z+0,R4
	.dbline 105
;     *stk   = (INT8U)(tmp);
	mov R30,R20
	mov R31,R21
	std z+0,R22
	.dbline 106
;     return ((void *)stk);
	mov R16,R20
	mov R17,R21
	.dbline -2
L2:
	rcall pop_gset4
	.dbline 0 ; func end
	ret
	.dbsym r stks 10 pc
	.dbsym r tmp 22 i
	.dbsym r stk 20 pc
	.dbsym l stk_size 10 i
	.dbsym l ptos 8 pc
	.dbsym r pdata 12 pV
	.dbsym r task 22 pfV
	.dbend

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲精品中文字幕在线观看| 国产麻豆精品久久一二三| 亚洲视频资源在线| 国产精品欧美极品| 中文字幕不卡在线| 国产欧美日韩另类视频免费观看| 欧美精品一区二区三区蜜臀| 精品久久久久一区| 精品久久国产字幕高潮| 欧美va亚洲va在线观看蝴蝶网| 日韩免费性生活视频播放| 精品少妇一区二区| 久久人人爽爽爽人久久久| 久久精品一区二区| 国产精品夫妻自拍| 亚洲美腿欧美偷拍| 亚洲成av人片一区二区三区| 日本中文字幕不卡| 久久99国产精品免费| 国产精品自拍av| 99久久99久久精品免费看蜜桃| 91麻豆免费观看| 欧美美女一区二区在线观看| 日韩写真欧美这视频| 久久亚洲综合av| 国产精品久久777777| 伊人一区二区三区| 日韩专区欧美专区| 国产麻豆一精品一av一免费| 成人av午夜电影| 欧美日韩免费电影| 精品理论电影在线| 国产精品超碰97尤物18| 亚洲第一狼人社区| 国产一区二区三区在线观看免费 | 一区二区三区在线影院| 亚洲超碰97人人做人人爱| 久久精品国产久精国产| 成人黄色一级视频| 欧美日韩一区二区三区免费看| 欧美一区二区三区人| 欧美高清在线一区| 亚洲综合男人的天堂| 久久激情五月激情| 91在线国内视频| 日韩一区二区三区视频在线观看| 日本一区二区三区在线不卡| 一区二区三区日韩欧美精品| 久久精品久久综合| 91色综合久久久久婷婷| 日韩亚洲欧美一区二区三区| 国产精品久久久久久久久果冻传媒 | 91成人免费在线| 精品国产青草久久久久福利| 亚洲色图都市小说| 久久精品国产精品青草| 91浏览器打开| 精品美女在线观看| 亚洲第一精品在线| 成人av在线资源网| 精品美女一区二区| 亚洲福利一区二区| 盗摄精品av一区二区三区| 欧美一级一级性生活免费录像| 国产精品久久久久aaaa樱花| 精品一区二区三区蜜桃| 欧美网站大全在线观看| 国产精品乱码人人做人人爱| 另类中文字幕网| 欧美亚洲国产一区二区三区va| 国产亚洲欧美色| 美女一区二区视频| 欧美日韩免费视频| 亚洲日本va在线观看| 国产91精品一区二区麻豆亚洲| 欧美日韩国产高清一区二区三区 | 一区二区在线看| 国产福利91精品一区| 91精品国产福利在线观看| 亚洲欧美日韩精品久久久久| 国产剧情av麻豆香蕉精品| 欧美巨大另类极品videosbest | 久久久天堂av| 日本免费新一区视频| 欧美日韩一区高清| 亚洲精品视频一区二区| thepron国产精品| 久久综合九色综合97婷婷女人| 五月婷婷另类国产| 在线免费不卡电影| 亚洲人成影院在线观看| 丁香另类激情小说| 欧美—级在线免费片| 国产乱妇无码大片在线观看| 精品免费国产一区二区三区四区| 日韩avvvv在线播放| 欧美日韩一区二区不卡| 亚洲激情第一区| 99久久精品免费看国产| 国产精品久久久久久久久久久免费看 | 亚洲午夜久久久久久久久电影院 | 黄色日韩三级电影| 欧美xxxxx裸体时装秀| 美女视频黄免费的久久| 91精品在线麻豆| 日本在线不卡视频| 欧美一区二区网站| 久久精品72免费观看| 精品裸体舞一区二区三区| 精品一区二区免费看| 久久综合九色综合97婷婷| 国产一二三精品| 中文字幕第一页久久| 99久久久久久99| 亚洲精品国产无天堂网2021| 欧美影院一区二区| 亚洲一区二区精品久久av| 欧美日韩国产高清一区| 免费精品视频最新在线| 欧美v日韩v国产v| 国产精品77777| 中文字幕在线一区二区三区| 日本韩国一区二区三区视频| 亚洲国产aⅴ天堂久久| 91精品国产一区二区三区香蕉 | 精品国精品国产| 国产福利一区在线| 亚洲色图自拍偷拍美腿丝袜制服诱惑麻豆| 99re热这里只有精品视频| 亚洲国产成人va在线观看天堂| 在线综合+亚洲+欧美中文字幕| 久久精品99国产精品| 亚洲国产精品v| 欧洲一区在线电影| 日本成人在线一区| 国产亚洲欧美激情| 色综合久久综合网| 日本网站在线观看一区二区三区| 精品国产第一区二区三区观看体验| 国产999精品久久| 亚洲国产一区在线观看| 精品国产免费久久| 91蝌蚪porny九色| 日韩 欧美一区二区三区| 麻豆精品在线视频| 亚洲国产精品精华液2区45| 在线日韩av片| 韩国精品主播一区二区在线观看 | 国产精品国产三级国产普通话99| 91免费视频网| 久热成人在线视频| 亚洲欧美一区二区三区久本道91| 制服丝袜国产精品| www.亚洲精品| 久久精品国产色蜜蜜麻豆| 一区在线中文字幕| 日韩一区二区三区视频在线| av动漫一区二区| 蜜臀av一级做a爰片久久| 亚洲欧洲精品天堂一级| 欧美一二三区在线观看| 91在线云播放| 国产一区二区三区精品欧美日韩一区二区三区 | 国产精品色婷婷久久58| 91精品婷婷国产综合久久性色 | 欧美亚洲综合在线| 国产精品小仙女| 午夜久久电影网| 国产精品国产自产拍高清av王其| 51精品国自产在线| 99riav一区二区三区| 久久精品国产亚洲aⅴ| 亚洲最大的成人av| 国产精品美女久久久久久久网站| 日韩免费高清电影| 欧美羞羞免费网站| 成人免费视频一区二区| 日本大香伊一区二区三区| 国产成人综合视频| 蜜臀av国产精品久久久久| 亚洲国产毛片aaaaa无费看| 国产精品第五页| 亚洲国产高清aⅴ视频| 欧美成人性福生活免费看| 欧美三级日韩在线| 色悠久久久久综合欧美99| 国产激情视频一区二区在线观看 | 亚洲一卡二卡三卡四卡 | 日本欧美在线观看| 亚洲最新在线观看| 中文字幕一区二区三| 久久精品视频在线看| 日韩精品一区二区三区在线| 制服丝袜国产精品| 欧美日韩激情一区| 精品视频1区2区| 欧美视频三区在线播放| 欧美艳星brazzers| 欧美性色欧美a在线播放| 欧美中文字幕久久|