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

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

?? syn_mech.cpp

?? 自己動手寫操作系統源代碼,不可多得的代碼
?? CPP
字號:
//***********************************************************************/
//    Author                    : Garry
//    Original Date             : Aug,05 2005
//    Module Name               : SYN_MECH.CPP
//    Module Funciton           : 
//                                This module countains synchronization code for system kernel.
//    Last modified Author      :
//    Last modified Date        :
//    Last modified Content     :
//                                1.
//                                2.
//    Lines number              :
//***********************************************************************/

#ifndef __STDAFX_H__
#include "..\INCLUDE\StdAfx.H"
#endif

//
//Atomically get.Get the atomic's value atomically.
//
INLINE DWORD AtomicGet(__ATOMIC_T* lpAtomic)
{
#ifdef __I386
	__asm
	{
		push ebx
		mov ebx,lpAtomic
		lock mov eax,dword ptr [ebx]
		pop ebx
		retn
	}
#else
#endif
}

//
//Atomically set.
//
INLINE VOID AtomicSet(__ATOMIC_T* lpAtomic,DWORD dw)
{
#ifdef __I386
	__asm
	{
		push eax
		push ebx
		mov ebx,lpAtomic
		mov eax,dw
		lock mov dword ptr [ebx],eax
		pop ebx
		pop eax
		//retn
	}
#else
#endif
}
//
//Atomically add dw to an atomic,that is,*lpAtomic += dw.
//

INLINE DWORD AtomicAdd(__ATOMIC_T* lpAtomic,DWORD dw)
{
	if(NULL == lpAtomic)    //Parameter check.
		return 0L;

#ifdef __I386
	__asm{
		push eax
		push ebx
		mov eax,dw
		mov ebx,lpAtomic
		lock add dword ptr [ebx],eax
		pop ebx
		pop eax
	}
#else
#endif
	return 0L;
}

//
//Atomically sub dw from an atomic,that is,*lpAtomic -= dw.
//

INLINE DWORD AtomicSub(__ATOMIC_T* lpAtomic,DWORD dw)
{
	if(NULL == lpAtomic)    //Parameter check.
		return 0L;

#ifdef __I386
	__asm{
		push eax
		push ebx
		mov eax,dw
		mov ebx,lpAtomic
		lock sub dword ptr [ebx],eax
		pop ebx
		pop eax
	}
#else
#endif
	return 0L;
}

//
//Increment an atomic,if the new value of *lpAtomic == 0,then returns TRUE,else,
//returns FALSE.
//

INLINE BOOL AtomicInc(__ATOMIC_T* lpAtomic)
{
	if(NULL == lpAtomic)
		return 0L;

#ifdef __I386
	__asm{
		push ebx
		mov ebx,lpAtomic
		inc dword ptr [ebx]
		jne __NO_ZERO
		mov eax,TRUE
		pop ebx
		retn
__NO_ZERO:
		pop ebx
	}
#else
#endif
	return FALSE;
}

//
//Decrement an atomic,if the result is zero,then returns TRUE,else,returns FALSE.
//

INLINE DWORD AtomicDec(__ATOMIC_T* lpAtomic)
{
	if(NULL == lpAtomic)
		return 0L;

#ifdef __I386
	__asm{
		push ebx
		mov ebx,lpAtomic
		dec dword ptr [ebx]
		jne __NO_ZERO
		mov eax,TRUE
		pop ebx
		retn
__NO_ZERO:
		pop ebx
	}
#else
#endif
	return 0L;
}

//
//Lock operation and it's definition.
//The following code is used in case of SMP,so,these routines will never be used in current
//version of Hello China.
//

#define __LOCK_T DWORD
#define __INIT_LOCK(l) (l) = 0L

//
//Test the status of a lock.If the lock is occupied,returns FALSE,else,if the lock
//is free,then get the lock,and returns TRUE.
//

INLINE BOOL TestLock(__LOCK_T* lpAtomic)
{
#ifdef __I386
	__asm{
		push ebx
		mov ebx,lpAtomic
		bts dword ptr [ebx],0
		jc __OCCUPIED
		mov eax,TRUE
		pop ebx
		retn
__OCCUPIED:
		mov eax,FALSE
		pop ebx
		retn
	}
#else
#endif
}

//
//Release lock.
//

INLINE VOID ReleaseLock(__LOCK_T* lpLock)
{
#ifdef __I386
	__asm{
		push ebx
		mov ebx,lpLock
		btr dword ptr [ebx],0
		pop ebx
		retn
	}
#else
#endif
}

//
//Try to get a lock.This routine will not return until get the lock successfully.
//

INLINE VOID TryGetLock(__LOCK_T* lpLock)
{
	while(!TestLock(lpLock));
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
久久久精品tv| 97精品久久久久中文字幕| 欧美日韩成人激情| 天堂影院一区二区| 欧美精品一卡两卡| 日本欧洲一区二区| 欧美草草影院在线视频| 精品一区二区三区不卡| 久久久精品中文字幕麻豆发布| 国精产品一区一区三区mba桃花| 国产亚洲1区2区3区| 国产91丝袜在线播放0| 自拍偷自拍亚洲精品播放| 色婷婷久久久综合中文字幕| 亚洲成人免费视频| 2021国产精品久久精品| 成人精品国产一区二区4080| 一区二区免费看| 欧美肥胖老妇做爰| 国产精品一级片| 一区精品在线播放| 欧美久久高跟鞋激| 国模冰冰炮一区二区| 亚洲免费观看高清完整版在线观看| 欧美影片第一页| 国内欧美视频一区二区| 亚洲欧美怡红院| 91麻豆精品国产91| 懂色av噜噜一区二区三区av| 一区二区成人在线| 久久婷婷国产综合国色天香| 91丨九色丨黑人外教| 免费看精品久久片| 欧美激情中文不卡| 欧美日韩高清影院| 国产高清精品网站| 五月综合激情婷婷六月色窝| 久久久精品影视| 欧美老女人在线| 成人午夜视频在线观看| 日韩在线一区二区三区| 中文字幕一区二区三区四区不卡| 在线日韩av片| 高清在线成人网| 免费观看久久久4p| 亚洲丝袜另类动漫二区| 欧美变态口味重另类| 欧美亚洲一区二区在线| 丁香另类激情小说| 麻豆一区二区三区| 亚洲自拍欧美精品| 综合在线观看色| 精品av久久707| 欧美日本在线一区| 91麻豆国产香蕉久久精品| 国产乱人伦偷精品视频不卡| 亚洲影院在线观看| 亚洲乱码日产精品bd| 中文字幕精品一区| wwwwww.欧美系列| 日韩久久久精品| 欧美日韩aaaaaa| 欧美在线色视频| 色呦呦一区二区三区| 成人性生交大片免费看视频在线| 国产一区日韩二区欧美三区| 美女www一区二区| 爽好多水快深点欧美视频| 亚洲欧洲综合另类| 玉足女爽爽91| 亚洲综合区在线| 亚洲一线二线三线视频| 亚洲精品久久久蜜桃| 亚洲欧美日韩一区二区三区在线观看| 国产精品乱码久久久久久| 欧美激情在线一区二区三区| 国产日韩av一区二区| 亚洲国产激情av| 国产精品欧美极品| 亚洲欧洲av一区二区三区久久| 国产精品女主播av| 亚洲黄一区二区三区| 亚洲v日本v欧美v久久精品| 亚洲一区二区三区中文字幕 | 欧美午夜不卡在线观看免费| 色婷婷亚洲婷婷| 欧美四级电影网| 欧美主播一区二区三区美女| 成人一区在线观看| 不卡免费追剧大全电视剧网站| 国产在线一区二区| 国产一区二三区| 国产原创一区二区三区| 久久不见久久见免费视频1| 亚洲欧美日韩国产成人精品影院| 中文字幕免费一区| 国产精品国产成人国产三级| 国产精品色婷婷| 国产精品不卡在线| 国产精品第一页第二页第三页| 中文字幕巨乱亚洲| 国产精品久久久久久久午夜片| 亚洲另类一区二区| 亚洲综合丝袜美腿| 日韩精品一级中文字幕精品视频免费观看| 亚洲国产三级在线| 亚洲第一激情av| 美腿丝袜亚洲三区| 亚洲午夜视频在线观看| 卡一卡二国产精品| 国产精品夜夜嗨| 白白色亚洲国产精品| 91香蕉视频mp4| 欧美日韩一二区| 精品视频一区 二区 三区| 久久久久久影视| 国产精品久久毛片av大全日韩| 亚洲免费观看高清完整版在线观看| 亚洲综合男人的天堂| 久久精品国产在热久久| 国产麻豆成人传媒免费观看| 粉嫩13p一区二区三区| 欧美性一二三区| 日韩免费性生活视频播放| 久久一日本道色综合| 国产精品青草综合久久久久99| 亚洲一二三四在线| 青青草原综合久久大伊人精品优势 | 亚洲综合av网| 久久99久久精品| 99精品视频在线观看| 欧美日本不卡视频| 久久一夜天堂av一区二区三区 | 欧美一区二区三区成人| 国产亚洲一区二区三区四区| 亚洲成人先锋电影| 成人一区二区三区在线观看 | 成人av在线播放网址| 欧美无人高清视频在线观看| 亚洲精品一线二线三线无人区| 日韩理论片在线| 久久精品国产99国产| 色综合中文综合网| 成人黄色片在线观看| 色噜噜久久综合| 精品粉嫩aⅴ一区二区三区四区| 日韩美女久久久| 精品夜夜嗨av一区二区三区| 91国产免费看| 久久久影视传媒| 亚洲精品欧美综合四区| 成人一区二区视频| 日韩一区二区三区在线| 亚洲欧美一区二区三区极速播放| 美女脱光内衣内裤视频久久影院| 99在线精品一区二区三区| 精品国产电影一区二区| 日韩高清不卡在线| 91极品美女在线| 中文字幕 久热精品 视频在线| 日韩专区中文字幕一区二区| 91在线精品一区二区| 欧美大片一区二区| 一区二区三区欧美视频| 成人综合在线观看| 欧美精品一区二区三区蜜臀| 日韩精品一区第一页| 欧美色老头old∨ideo| 亚洲精品乱码久久久久久久久| 波多野结衣中文字幕一区二区三区| 精品久久久久久久久久久久久久久 | 日本成人超碰在线观看| 色综合婷婷久久| 一区二区三区高清在线| 波多野结衣欧美| 欧美国产一区二区| 国产一区二区久久| 精品国产污网站| 国产精品一区在线观看乱码| 日韩欧美成人午夜| 免费高清不卡av| 91精品国产黑色紧身裤美女| 午夜电影一区二区| 91啦中文在线观看| 午夜精品久久久久久久久久| 在线观看欧美精品| 亚洲午夜久久久久久久久电影网 | 亚洲成人av福利| 欧美日韩一二三| 日韩在线观看一区二区| 欧美日韩一区二区不卡| 日本成人在线不卡视频| 日韩亚洲欧美成人一区| 久久电影网站中文字幕| 欧美本精品男人aⅴ天堂| 久久精品99国产精品| 欧美极品aⅴ影院| aaa欧美日韩| 伊人色综合久久天天人手人婷| 在线看日本不卡|