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

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

?? inthndlr.c

?? 這是DOS操作系統啟動的源代碼 里面是匯編語言 包括了部分的驅動程序
?? C
?? 第 1 頁 / 共 3 頁
字號:
		break;

	/* Get Child-program Return Value                               */
	case 0x4d:
		r -> AL = return_code;
		r -> AH = return_mode;
		break;

	/* Dos Find First                                               */
	case 0x4e:
		{
			psp FAR *p = MK_FP(cu_psp,0);
			/* dta for this call is set on entry.  This     */
			/* needs to be changed for new versions.        */

			if((rc = DosFindFirst((UCOUNT)r -> CX, (BYTE FAR *)MK_FP(r -> DS, r -> DX))) < 0)
				goto error_exit;
			else
			{
				r -> AX = 0;
				r -> FLAGS &= ~FLG_CARRY;
			}
		}
		break;

	/* Dos Find Next                                                */
	case 0x4f:
		{
			psp FAR *p = MK_FP(cu_psp,0);

			/* dta for this call is set on entry.  This     */
			/* needs to be changed for new versions.        */

			if((rc = DosFindNext()) < 0)
			{
				r -> AX = -rc;
				
				if (r -> AX == 2)
					r -> AX = 18;

				r -> FLAGS |= FLG_CARRY;
			}
			else
			{
				r -> FLAGS &= ~FLG_CARRY;
			}
		}
		break;

	/* Set PSP                                                      */
	case 0x50:
		cu_psp = r -> BX;
		break;

	/* Get PSP                                                      */
	case 0x51:
		r -> BX = cu_psp;
		break;

	/* ************UNDOCUMENTED**************************************/
	/* Get List of Lists                                            */
	case 0x52:
		{
			BYTE FAR *p;

			p = (BYTE FAR *)&DPBp;
			r -> ES = FP_SEG(p);
			r -> BX = FP_OFF(p);
		}
		break;

	/* Get verify state                                             */
	case 0x54:
		r -> AL = (verify_ena ? TRUE : FALSE);
		break;

	/* ************UNDOCUMENTED**************************************/
	/* Dos Create New Psp & set p_size                              */
	case 0x55:
		new_psp((psp FAR *)MK_FP(r -> DX, 0), r -> SI);
		break;

	/* Dos Rename                                                   */
	case 0x56:
		rc = dos_rename(
		 (BYTE FAR *)MK_FP(r -> DS, r -> DX),   /* OldName      */
		 (BYTE FAR *)MK_FP(r -> ES, r -> DI));  /* NewName      */
		if(rc < SUCCESS)
			goto error_exit;
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;

	/* Get/Set File Date and Time                                   */
	case 0x57:
		switch(r -> AL)
		{
		case 0x00:
			if(!DosGetFtime(
			 (COUNT)r -> BX,        /* Handle               */
			 (date FAR *)&r -> DX,  /* FileDate             */
			 (time FAR *)&r -> CX)) /* FileTime             */
			{
				r -> AX = -DE_INVLDHNDL;
				r -> FLAGS |= FLG_CARRY;
			}
			else
				r -> FLAGS &= ~FLG_CARRY;
			break;

		case 0x01:
			if(!DosSetFtime(
			 (COUNT)r -> BX,        /* Handle               */
			 (date FAR *)&r -> DX,  /* FileDate             */
			 (time FAR *)&r -> CX)) /* FileTime             */
			{
				r -> AX = -DE_INVLDHNDL;
				r -> FLAGS |= FLG_CARRY;
			}
			else
				r -> FLAGS &= ~FLG_CARRY;
			break;
		
		default:
			goto error_invalid;
		}
		break;


	/* Get/Set Allocation Strategy                                  */
	case 0x58:
		switch(r -> AL)
		{
		case 0x00:
			r -> AX = mem_access_mode;
			break;

		case 0x01:
			if(((COUNT)r -> BX) < 0 || r -> BX > 2)
				goto error_invalid;
			else
			{
				mem_access_mode = r -> BX;
				r -> FLAGS &= ~FLG_CARRY;
			}
			break;
		
		default:
			goto error_invalid;
#ifdef DEBUG
		case 0xff:
			show_chain();
			break;
#endif
		}
		break;

	case 0x5a:
		if((rc = DosMkTmp(MK_FP(r -> DS, r -> DX), r -> CX)) < 0)
			goto error_exit;
		else
		{
			 r -> AX = rc;
			 r -> FLAGS &= ~FLG_CARRY;
		}
		break;

	case 0x5b:
		
		if((rc = DosOpen(MK_FP(r -> DS, r -> DX), 0)) >= 0)
		{
			DosClose(rc);
			r -> AX = 80;
			r -> FLAGS |= FLG_CARRY;
		} 
		else 
		{
			   if((rc = DosCreat(MK_FP(r -> DS, r -> DX), r -> CX)) < 0)
				goto error_exit;
			   else
			   {
				r -> AX = rc;
				r -> FLAGS &= ~FLG_CARRY;
			   }
		}
		break;
	
	/* UNDOCUMENTED: server, share.exe and sda function		*/
	case 0x5d:
		switch(r -> AL)
		{
		case	0x06:
			r -> DS = FP_SEG(internal_data);
			r -> SI = FP_OFF(internal_data);
			r -> CX = swap_always - internal_data;
			r -> DX = swap_indos - internal_data;
			r -> FLAGS &= ~FLG_CARRY;
			break;

		default:
			goto error_invalid;
		}

	case 0x60:      /* TRUENAME */
		if ((rc = truename(MK_FP(r -> DS, r-> SI),
		 adjust_far(MK_FP( r -> ES, r -> DI)))) != SUCCESS)
			goto error_exit;
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;
		
#ifdef TSC
	/* UNDOCUMENTED: no-op						*/
	/*								*/
	/* DOS-C: tsc support						*/
	case 0x61:
		switch(r -> AL)
		{
		case 0x01:
			bTraceNext = TRUE;
			break;

		case 0x02:
			bDumpRegs = FALSE;
			break;
		}
#endif
		break;

	/* UNDOCUMENTED: return current psp                             */
	case 0x62:
		r -> BX = cu_psp;
		break;

	/* UNDOCUMENTED: Double byte and korean tables                  */
	case 0x63:
	{
#ifdef DBLBYTE
		static char dbcsTable[2] = 
		{
			0, 0
		};
		void FAR *dp = &dbcsTable;
		
		r -> DS = FP_SEG(dp);
		r -> SI = FP_OFF(dp);
		r -> AL = 0;
#else
		/* not really supported, but will pass.			*/
		r -> AL = 0xff;
#endif
		break;
	}

	/* Extended country info                                        */
	case 0x65:
		if(r -> AL <= 0x7)
		{
			if(ExtCtryInfo(
				r -> AL,
				r -> BX,
				r -> CX,
				MK_FP(r -> ES, r -> DI)))
				r -> FLAGS &= ~FLG_CARRY;
			else
				goto error_invalid;
		}
		else if((r -> AL >= 0x20) && (r -> AL <= 0x22))
		{
			switch(r -> AL)
			{
			case 0x20:
				r -> DL = upChar(r -> DL);
				goto okay;

			case 0x21:
				upMem(
					MK_FP(r -> DS, r -> DX),
					r -> CX);
				goto okay;

			case 0x22:
				upString(MK_FP(r -> DS, r -> DX));
			okay:
				r -> FLAGS &= ~FLG_CARRY;
				break;

			case 0x23:
				r -> AX = yesNo(r -> DL);
				goto okay;

			default:
				goto error_invalid;
			}
		}
		else
			r -> FLAGS |= FLG_CARRY;
		break;

	case 0x66:
		switch(r -> AL)
		{
		case 1:
			GetGlblCodePage(
				(UWORD FAR *)&(r -> BX),
				(UWORD FAR *)&(r -> DX));
			goto okay_66;

		case 2:
			SetGlblCodePage(
				(UWORD FAR *)&(r -> BX),
				(UWORD FAR *)&(r -> DX));
		okay_66:
			r -> FLAGS &= ~FLG_CARRY;
			break;

		default:
			goto error_invalid;
		}
		break;
	case 0x67: 
		if ((rc = SetJFTSize( r -> BX)) != SUCCESS)
			goto error_exit;
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;
	}

	if(bDumpRegs)
	{
		fbcopy((VOID FAR *)user_r  , (VOID FAR *)&error_regs,
		 sizeof(iregs));
		dump_regs = TRUE;
		dump();
	}
}



VOID INRPT FAR 
int22_handler (void)
{
}

#pragma argsused
VOID INRPT FAR 
int23_handler (int es, int ds, int di, int si, int bp, int sp, int bx, int dx, int cx, int ax, int ip, int cs, int flags)
{
	tsr = FALSE;
	return_mode = 1;
	return_code = -1;
	mod_sto(CTL_C);
	DosMemCheck();
#ifdef TSC
	StartTrace();
#endif
	return_user();
}


#pragma argsused
VOID INRPT FAR 
int24_handler (void)
{
}

/* Structures needed for int 25 / int 26 */
struct  HugeSectorBlock
{
	ULONG   blkno;  
	WORD    nblks;
	BYTE    FAR *buf;
};

struct  int25regs
{
	UWORD   es, ds;
	UWORD   di, si, bp, sp;
	UWORD   bx, dx, cx, ax;
	UWORD   flags, ip, cs;
};

/* this function is called from an assembler wrapper function */ 
VOID    int25_handler (struct int25regs FAR *r)
{
	ULONG   blkno;
	UWORD   nblks;
	BYTE    FAR *buf;
	UBYTE   drv = r->ax & 0xFF;

	InDOS++;

	if (r->cx == 0xFFFF)
	{
		struct HugeSectorBlock FAR *lb = MK_FP(r->ds, r->bx);
		blkno = lb->blkno;
		nblks = lb->nblks;
		buf = lb->buf;
	} else {
		nblks = r->cx;
		blkno = r->dx;
		buf = MK_FP(r->ds, r->bx);
	}

	if (drv >= nblkdev)
	{
		r->ax = 0x202; 
		r->flags |= FLG_CARRY; 
		return;
	}
	

	while (nblks--)
	{
		struct buffer FAR *bp;

		if ((bp = getblock(blkno + 1, drv)) == NULL) 
		{
			r->ax = 0x202; 
			r->flags |= FLG_CARRY; 
			return;
		}
		fbcopy(bp->b_buffer, buf, maxbksize);
		buf += maxbksize;
		blkno++;
	}
	r->ax = 0;
	r->flags &= ~FLG_CARRY;
	--InDOS;
}

VOID int26_handler (struct int25regs FAR *r)
{
	ULONG   blkno;
	UWORD   nblks;
	BYTE    FAR *buf;
	UBYTE    drv = r->ax & 0xFF;

	InDOS++;

	if (r->cx == 0xFFFF)
	{
		struct HugeSectorBlock FAR *lb = MK_FP(r->ds, r->bx);
		blkno = lb->blkno;
		nblks = lb->nblks;
		buf = lb->buf;
	} else {
		nblks = r->cx;
		blkno = r->dx;
		buf = MK_FP(r->ds, r->bx);
	}

	if (drv >= nblkdev)
	{
		r->ax = 0x202;
		r->flags |= FLG_CARRY;
		return;
	}

	while (nblks--)
	{
		struct buffer FAR *b;

		getbuf(&b, blkno + 1, drv);
		fbcopy(buf, b->b_buffer, maxbksize);
		b -> b_flag |= (BFR_DIRTY | BFR_VALID);
		b -> b_blkno = blkno + 1;
		b -> b_unit = drv;

		if (flush1(b) == FALSE)
		{
			r->ax = 0x202; 
			r->flags |= FLG_CARRY;
			return;
		}
		
		buf += maxbksize;
		blkno++;
	}
	r->ax = 0;
	r->flags &= ~FLG_CARRY;
	--InDOS;
}


VOID INRPT FAR 
int28_handler (void)
{
}


VOID INRPT FAR
empty_handler (void)
{
}


#ifdef TSC
static VOID StartTrace(VOID)
{
	if(bTraceNext)
	{
		bDumpRegs = TRUE;
		bTraceNext = FALSE;
	}
	else
		bDumpRegs = FALSE;
}
#endif

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品亚洲成av人在线观看| 亚洲靠逼com| 国产麻豆欧美日韩一区| 久久久久久99精品| 大尺度一区二区| 亚洲精品国产无套在线观| 欧美系列在线观看| 欧美a级理论片| 久久久99精品久久| 99re66热这里只有精品3直播| 亚洲素人一区二区| 欧美视频三区在线播放| 老司机精品视频在线| 国产丝袜欧美中文另类| 91免费版pro下载短视频| 午夜一区二区三区在线观看| 日韩欧美aaaaaa| www.欧美.com| 日日夜夜精品视频免费| 国产亚洲欧美一区在线观看| 99久久国产综合色|国产精品| 天天综合天天做天天综合| 久久久久国产精品人| 91日韩精品一区| 免费成人美女在线观看.| 国产精品久久午夜夜伦鲁鲁| 欧美在线免费观看亚洲| 激情综合网激情| 亚洲一级电影视频| 国产性色一区二区| 欧美日本在线一区| 波多野结衣精品在线| 日韩专区中文字幕一区二区| 国产午夜精品福利| 欧美军同video69gay| 国产东北露脸精品视频| 亚洲国产精品人人做人人爽| 国产欧美一区二区三区在线看蜜臀 | 久久99精品久久只有精品| 中文字幕一区二区三区四区| 欧美一区二区三区色| 91一区二区在线| 国产乱子轮精品视频| 亚洲线精品一区二区三区| 欧美经典三级视频一区二区三区| 欧美日韩在线不卡| 99国产精品视频免费观看| 极品尤物av久久免费看| 五月婷婷激情综合网| 最新国产成人在线观看| 久久久99久久精品欧美| 制服丝袜日韩国产| 在线观看视频一区二区 | 自拍偷拍国产精品| 26uuu成人网一区二区三区| 91.麻豆视频| 欧美亚洲综合久久| 色综合久久六月婷婷中文字幕| 国产精品自在欧美一区| 免费黄网站欧美| 日韩精品视频网站| 亚洲国产色一区| 亚洲中国最大av网站| 亚洲欧美日韩在线| 国产精品国产自产拍在线| 久久久久久久久99精品| 久久久久久久综合| 欧美精品一区二区三区蜜桃视频| 在线综合视频播放| 欧美一区中文字幕| 欧美一区二区精品久久911| 欧美高清dvd| 欧美日韩1区2区| 91精品国产品国语在线不卡| 欧美日韩国产天堂| 欧美日韩国产精品成人| 欧美视频完全免费看| 欧美日韩国产免费一区二区 | 国产一区二区在线免费观看| 蜜桃视频在线一区| 麻豆成人91精品二区三区| 全国精品久久少妇| 激情文学综合插| 国内偷窥港台综合视频在线播放| 国产在线精品一区在线观看麻豆| 国产麻豆精品在线观看| 成人免费精品视频| 99精品视频在线观看| 欧洲人成人精品| 91精品国产福利| 亚洲精品一区二区三区蜜桃下载| 久久在线观看免费| 国产精品短视频| 一区二区三区免费看视频| 亚洲成人1区2区| 蜜桃视频一区二区三区在线观看| 久久99热这里只有精品| 国产.精品.日韩.另类.中文.在线.播放 | 91看片淫黄大片一级| 在线中文字幕一区| 91麻豆精品国产91久久久久久久久 | 亚洲欧美日韩一区| 亚洲午夜久久久久久久久久久 | 欧美日韩国产色站一区二区三区| 91精品国产高清一区二区三区 | 久久久久久久久久久99999| 中文字幕一区二区5566日韩| 夜夜精品浪潮av一区二区三区| 日韩电影一区二区三区四区| 国产精选一区二区三区 | 欧美美女一区二区在线观看| 26uuu亚洲| 亚洲另类在线一区| 久久99久久99小草精品免视看| eeuss鲁一区二区三区| 56国语精品自产拍在线观看| 中文字幕欧美激情| 天堂成人国产精品一区| 成人高清在线视频| 欧美日本韩国一区二区三区视频| 国产亚洲美州欧州综合国| 一区二区三区91| 国产成人免费视| 精品视频色一区| 中文字幕精品在线不卡| 婷婷激情综合网| 成人av网站大全| 欧美电影免费观看高清完整版在线观看| 国产日韩欧美亚洲| 婷婷成人综合网| 一本色道综合亚洲| 国产亚洲短视频| 老鸭窝一区二区久久精品| 91久久国产最好的精华液| 精品久久国产97色综合| 亚洲chinese男男1069| 成人av网站在线观看免费| 日韩精品一区二区三区在线观看 | 国产精品日韩成人| 韩国女主播成人在线观看| 欧美私人免费视频| 一区在线观看免费| 丰满亚洲少妇av| 日韩三级免费观看| 亚欧色一区w666天堂| 在线观看精品一区| 亚洲欧美日韩一区二区三区在线观看| 国产黄色成人av| 精品国产乱码久久久久久浪潮| 香蕉加勒比综合久久| 在线视频中文字幕一区二区| 国产精品毛片大码女人| 国产精品一区二区在线观看网站 | 成人精品gif动图一区| 久久天天做天天爱综合色| 久久精品国产99久久6| 欧美高清视频在线高清观看mv色露露十八 | 毛片av一区二区三区| 91精品国产一区二区三区蜜臀 | 中文欧美字幕免费| 国产精品一级片在线观看| 久久免费视频色| 激情亚洲综合在线| 久久伊人蜜桃av一区二区| 国产精品一区二区三区99| 久久综合丝袜日本网| 蜜臀91精品一区二区三区| 欧美成人一级视频| 黑人巨大精品欧美一区| ww久久中文字幕| 国产在线精品免费| 国产人久久人人人人爽| 国产精品99久久不卡二区| 国产精品欧美综合在线| av一区二区久久| 亚洲精品视频一区二区| 欧美性生活一区| 日韩av一区二区三区| 亚洲精品一区二区精华| 国产高清在线精品| 国产精品高清亚洲| 欧美在线免费观看亚洲| 日本在线不卡视频| 精品国产乱码久久久久久久| 成人综合在线视频| 亚洲精品免费在线观看| 91麻豆精品国产91久久久资源速度 | 欧美另类videos死尸| 激情深爱一区二区| 国产精品亲子伦对白| 欧美视频第二页| 久久99久久精品| 国产精品超碰97尤物18| 欧美私模裸体表演在线观看| 久久99在线观看| 日韩伦理电影网| 91精品国产麻豆国产自产在线| 国产精品18久久久久久vr| 一区二区三区四区精品在线视频| 制服丝袜亚洲色图|