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

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

?? config.c

?? 這是DOS操作系統啟動的源代碼 里面是匯編語言 包括了部分的驅動程序
?? C
?? 第 1 頁 / 共 2 頁
字號:
				if (*pTmp == '\r' || *pTmp == EOF) 
				    break;
			}

			if (pTmp - szLine >= LINESIZE)
			    break;
		
			if (*pTmp == EOF) 
			    bEof = TRUE;

			*pTmp = '\0';
			pLineStart = pLine;

			/* Skip leading white space and get verb.               */
			pLine = scan(pLine, szBuf);

			/* Translate the verb to lower case ...                 */
			for(pTmp = szBuf; *pTmp != '\0'; pTmp++)
				*pTmp = tolower(*pTmp);

			/* If the line was blank, skip it.  Otherwise, look up  */
			/* the verb and execute the appropriate function.       */
			if(*szBuf != '\0')
			{
				pEntry = LookUp(commands, szBuf);
					
				if(pEntry -> pass < 0 || pEntry -> pass == nPass)
				{        
					if (!singleStep || !SkipLine(pLineStart))
					{
						skipwh(pLine);
						
						if('=' != *pLine)
							CfgFailure(pLine);
						else (*(pEntry -> func))(++pLine);
					}
				}
			}
skipLine:               nCfgLine++;
			pLine += strlen(pLine) + 1;
		}
	}
	dos_close(nFileDesc);
}

struct table *LookUp(struct table *p, BYTE *token)
{
	while(*(p -> entry) != '\0')
	{
		if(strcmp(p -> entry, token) == 0)
			break;
		else
			++p;
	}
	return p;
}
					    
BOOL    SkipLine(char *pLine)
{
	char    kbdbuf[16];
	keyboard *kp = (keyboard *)kbdbuf;
	char    *pKbd = &kp->kb_buf[0];

	kp->kb_size = 12;
	kp->kb_count = 0;
	
	printf("%s [Y,N]?", pLine);
	sti(kp);
	
	pKbd = skipwh(pKbd);
	
	if (*pKbd == 'n' || *pKbd == 'N')
		return TRUE;        
	    
	return FALSE;
}

BYTE *GetNumArg(BYTE *pLine, COUNT *pnArg)
{
	/* look for NUMBER                               */
	pLine = skipwh(pLine);
	if(!isnum(pLine))
	{
		CfgFailure(pLine);
		return (BYTE *)0;
	}
	return GetNumber(pLine, pnArg);
}


BYTE *GetStringArg(BYTE *pLine, BYTE *pszString)
{
	/* look for STRING                               */
	pLine = skipwh(pLine);

	/* just return whatever string is there, including null         */
	return scan(pLine, pszString);
}

static VOID Buffers(BYTE *pLine)
{
	COUNT nBuffers;

	/* Get the argument                                             */
	if(GetNumArg(pLine, &nBuffers) == (BYTE *)0)
		return;

	/* Got the value, assign either default or new value            */
	Config.cfgBuffers = max(Config.cfgBuffers, nBuffers);
}

static VOID Files(BYTE *pLine)
{
	COUNT nFiles;

	/* Get the argument                                             */
	if(GetNumArg(pLine, &nFiles) == (BYTE *)0)
		return;

	/* Got the value, assign either default or new value            */
	Config.cfgFiles = max(Config.cfgFiles, nFiles);
}

static VOID Lastdrive(BYTE *pLine)
{
	/* Format:   LASTDRIVE = letter         */
	COUNT   nFiles;
	BYTE    drv;

	pLine = skipwh(pLine);
	drv = *pLine & ~0x20;   

	if (drv < 'A' || drv > 'Z')
	{        
		CfgFailure(pLine);
		return;
	}
	drv -= 'A';
	Config.cfgLastdrive = max(Config.cfgLastdrive, drv);
}

static VOID Switchar(BYTE *pLine)
{
	/* Format: SWITCHAR = character         */
	
	GetStringArg(pLine, szBuf);
	switchar = *szBuf;
}

static VOID Fcbs(BYTE *pLine)
{
	/*  Format:     FCBS = totalFcbs [,protectedFcbs]    */
	
	if ((pLine = GetNumArg(pLine, &Config.cfgFcbs)) == 0)
	    return;

	pLine = skipwh(pLine);

	if (*pLine == ',')
	    GetNumArg(++pLine, &Config.cfgProtFcbs);

	if (Config.cfgProtFcbs > Config.cfgFcbs)
	    Config.cfgProtFcbs = Config.cfgFcbs;
}

static VOID Country(BYTE *pLine)
{
	/* Format: COUNTRY = countryCode, [codePage], filename  */
	UWORD   ctryCode;
	UWORD   codePage;

	if ((pLine = GetNumArg(pLine, &ctryCode)) == 0)
	    return;
	    
	pLine = skipwh(pLine);
	if (*pLine == ',')
	{
		pLine = skipwh(pLine);
		
		if (*pLine == ',') 
		{
		    codePage = 0;
		    ++pLine;
		} else {
		    if ((pLine = GetNumArg(pLine, &codePage)) == 0)
			return;
		}

		pLine = skipwh(pLine);
		if (*pLine == ',')
		{
		    GetStringArg(++pLine, szBuf);
		    
		    if (LoadCountryInfo(szBuf, ctryCode, codePage))
			return;
		}
	}
	CfgFailure(pLine);
}

static VOID Stacks(BYTE *pLine)
{
	/* Format:  STACKS = stacks [, stackSize]       */
	pLine = GetNumArg(pLine, &Config.cfgStacks);

	if (*pLine == ',')
	    GetNumArg(++pLine, &Config.cfgStackSize);

	if (Config.cfgStacks)
	{
	    if (Config.cfgStackSize < 32) Config.cfgStackSize = 32;
	    if (Config.cfgStackSize > 512) Config.cfgStackSize = 512;
	    if (Config.cfgStacks > 64) Config.cfgStacks = 64;
	}
}

static VOID InitPgm(BYTE *pLine)
{
	/* Get the string argument that represents the new init pgm     */
	pLine = GetStringArg(pLine, Config.cfgInit);

	/* Now take whatever tail is left and add it on as a single     */
	/* string.                                                      */
	strcpy(Config.cfgInitTail, pLine);

	/* and add a DOS new line just to be safe                       */
	strcat(Config.cfgInitTail, "\r\n");
}

static VOID   Break(BYTE *pLine)
{
	/* Format:      BREAK = (ON | OFF)      */
	BYTE *pTmp;

	GetStringArg(pLine, szBuf);
	break_ena = strcmp(szBuf, "OFF")? 1 : 0;
}

static VOID Device(BYTE *pLine)
{
	VOID FAR *driver_ptr;
	BYTE *pTmp;
	exec_blk eb;
	struct dhdr FAR *dhp;
	struct dhdr FAR *next_dhp;
	UWORD dev_seg = (((ULONG)FP_SEG(lpBase) << 4) + FP_OFF(lpBase) + 0xf) >> 4;
	
	/* Get the device driver name                                   */
	GetStringArg(pLine, szBuf);

	/* The driver is loaded at the top of allocated memory.         */             
	/* The device driver is paragraph aligned.                      */
	eb.load.reloc = eb.load.load_seg = dev_seg;
	dhp = MK_FP(dev_seg, 0);
	
#ifdef DEBUG
	printf("Loading device driver %s at segment %04x\n", 
	       szBuf, dev_seg);
#endif

	if (DosExec(3, &eb, szBuf) == SUCCESS)
	{
	    while(FP_OFF(dhp) != 0xFFFF)
	    {
		next_dhp = MK_FP(FP_SEG(dhp), FP_OFF(dhp -> dh_next));
		dhp -> dh_next = nul_dev.dh_next; 
		link_dhdr(&nul_dev, dhp, pLine); 
		dhp = next_dhp;
	    } 
	} else CfgFailure(pLine);
}

static VOID CfgFailure(BYTE *pLine)
{
	BYTE *pTmp = pLineStart;

	printf("CONFIG.SYS error in line %d\n", nCfgLine);
	printf(">>>%s\n", pTmp);
	while(++pTmp != pLine)
		printf(" ");
	printf("^\n");
}

#ifndef KDB
static BYTE FAR *
KernelAlloc(WORD nBytes)
{
	BYTE FAR *lpAllocated;

	lpBase = AlignParagraph(lpBase);
	lpAllocated = lpBase;

	if (0x10000 - FP_OFF(lpBase) <= nBytes)
	{
		UWORD newOffs = (FP_OFF(lpBase) + nBytes) & 0xFFFF;
		UWORD newSeg = FP_SEG(lpBase) + 0x1000;

		lpBase = MK_FP(newSeg, newOffs);
	} else lpBase += nBytes;

	return lpAllocated;
}
#endif

#ifdef I86
static VOID FAR *AlignParagraph(VOID FAR *lpPtr)
{
	ULONG lTemp;
	UWORD uSegVal;

	/* First, convert the segmented pointer to linear address	*/
	lTemp = FP_SEG(lpPtr);
	lTemp = (lTemp << 4) + FP_OFF(lpPtr);

	/* Next, round up the linear address to a paragraph boundary.	*/
	lTemp += 0x0f;
	lTemp &= 0xfffffff0l;

	/* Break it into segments.                                      */
	uSegVal = (UWORD)(lTemp >> 4);

	/* and return an adddress adjusted to the nearest paragraph     */
	/* boundary.                                                    */
	return MK_FP(uSegVal, 0);
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美体内she精视频| 欧美日韩免费不卡视频一区二区三区 | 欧美日韩在线直播| 欧美系列日韩一区| 91精品国产综合久久精品app| 制服丝袜亚洲精品中文字幕| 欧美日韩国产高清一区二区 | 亚洲人成网站在线| 亚洲综合在线免费观看| 天天色天天爱天天射综合| 免费一区二区视频| 不卡的av中国片| 制服视频三区第一页精品| 欧美mv日韩mv国产网站| 国产精品无圣光一区二区| 亚洲免费av在线| 激情综合网天天干| 91国产成人在线| 精品久久久久久久久久久久久久久久久 | 91精品国产91综合久久蜜臀| 久久久久久久久久久久久夜| 欧美高清一级片在线观看| 亚洲电影中文字幕在线观看| 国产一区亚洲一区| 911精品国产一区二区在线| 26uuu亚洲综合色| 一区二区三区91| 99久久精品一区二区| 国产日本欧洲亚洲| 日本成人在线一区| 欧美男男青年gay1069videost| 久久免费的精品国产v∧| 日本麻豆一区二区三区视频| 91热门视频在线观看| 中文字幕在线一区| 成人免费毛片片v| 国产精品久久网站| www.久久久久久久久| 欧美高清在线一区二区| 国产成人aaa| 日韩毛片一二三区| 91亚洲永久精品| 亚洲成av人片在www色猫咪| 欧美日韩亚洲另类| 理论电影国产精品| 日本一区二区三区电影| 99精品欧美一区| 午夜精品福利一区二区三区蜜桃| 欧美日韩1234| 国产一级精品在线| 亚洲人一二三区| 欧美日韩免费观看一区二区三区 | 国产一区日韩二区欧美三区| 精品入口麻豆88视频| 成人午夜电影久久影院| 亚洲精品视频免费观看| 精品国产露脸精彩对白| 国产欧美一区二区精品性色超碰 | 国产偷国产偷精品高清尤物| 国产高清精品网站| 亚洲成人av中文| 久久久久久久久久久久久女国产乱 | 99re热这里只有精品视频| 亚洲综合精品自拍| 久久久精品tv| 欧美大片日本大片免费观看| 成人激情动漫在线观看| 午夜免费久久看| 亚洲欧美日韩国产另类专区| 欧美一区三区四区| 色噜噜夜夜夜综合网| 大胆欧美人体老妇| 久久精品国产亚洲一区二区三区| 亚洲欧美色图小说| 国产视频911| 日本一区免费视频| 久久精品亚洲精品国产欧美kt∨| 欧美在线一二三四区| 在线观看视频一区二区欧美日韩| 国产真实乱偷精品视频免| 精品综合久久久久久8888| 久久精品国产精品亚洲红杏| 日韩激情av在线| 美女久久久精品| 国产一区二区在线观看免费| 麻豆91免费看| 成人h动漫精品一区二区| 国产成人av自拍| 99久久精品费精品国产一区二区| 国产成人亚洲综合a∨婷婷| 成人视屏免费看| 91蝌蚪porny九色| 91同城在线观看| 色哟哟一区二区在线观看| 成人动漫一区二区在线| 99精品欧美一区二区三区小说| 国产一区激情在线| 国产91精品一区二区麻豆网站| 国产在线精品一区二区不卡了| 最近日韩中文字幕| 亚洲欧美一区二区三区国产精品 | 亚洲一区二区影院| 亚洲一区在线播放| 日本欧美一区二区三区乱码| 男女男精品视频| 日韩激情视频在线观看| 久99久精品视频免费观看| 成人免费黄色大片| 欧美亚洲国产怡红院影院| 日韩欧美专区在线| 国产亚洲一二三区| 亚洲成人一二三| 国产一区二区三区电影在线观看| 成人免费视频caoporn| 56国语精品自产拍在线观看| 精品国产亚洲一区二区三区在线观看| 国产精品蜜臀av| 亚洲v精品v日韩v欧美v专区| 国产精品自拍毛片| 欧美久久久久免费| 欧美韩国一区二区| 秋霞午夜鲁丝一区二区老狼| 精品一区二区在线视频| 91日韩一区二区三区| 久久免费的精品国产v∧| 亚洲一区二区在线观看视频| 国产精品99精品久久免费| 91精品国产丝袜白色高跟鞋| 中文字幕日韩一区| 成人激情电影免费在线观看| 欧美刺激脚交jootjob| 偷窥少妇高潮呻吟av久久免费| 成人av影视在线观看| 久久综合久色欧美综合狠狠| 国产精品剧情在线亚洲| 狠狠色丁香久久婷婷综合丁香| 久久99国产精品久久99果冻传媒| 色呦呦网站一区| 国产精品国产三级国产aⅴ原创| 久久国产精品99久久人人澡| 欧美日本国产视频| 亚洲福利电影网| 51精品秘密在线观看| 日本少妇一区二区| 欧美www视频| 成人18精品视频| 国产精品国产馆在线真实露脸| 成人av电影在线网| 亚洲黄色尤物视频| 337p亚洲精品色噜噜狠狠| 日本va欧美va精品| 国产欧美日韩在线| 高清久久久久久| ●精品国产综合乱码久久久久 | 一本到三区不卡视频| 亚洲女爱视频在线| 精品乱人伦一区二区三区| 成人性生交大片免费看视频在线| 亚洲同性gay激情无套| 91麻豆精品91久久久久久清纯| 精品一区二区三区免费| 国产精品网曝门| 欧美群妇大交群中文字幕| 国产成人综合自拍| 亚洲美女偷拍久久| 中日韩av电影| 欧美肥胖老妇做爰| aaa亚洲精品一二三区| 日精品一区二区三区| 91精品国产麻豆国产自产在线| 99综合电影在线视频| 精品一二线国产| 三级亚洲高清视频| 亚洲影视在线播放| 国产欧美日韩精品a在线观看| 91精品久久久久久蜜臀| 99久久国产综合精品色伊| 国产精品一品视频| 欧美aaa在线| 国产精品日韩精品欧美在线| 精品欧美久久久| 精品国产乱码久久久久久1区2区| 欧美美女直播网站| 91成人国产精品| 国产91清纯白嫩初高中在线观看 | 国产成人免费av在线| 韩国v欧美v亚洲v日本v| 韩日av一区二区| 国产在线乱码一区二区三区| 精品亚洲成a人| 国产美女一区二区| 成人av在线资源网站| 不卡一区二区在线| 欧美影片第一页| 欧美日本一道本| 在线精品视频一区二区三四| 欧美日韩你懂得| 欧美日韩国产系列| 日韩视频一区二区三区| 久久精品一区二区三区av|