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

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

?? inthndlr.c

?? Free 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一区二区三区免费野_久草精品视频
欧美日韩精品是欧美日韩精品| 国产综合色在线| 国产精品美女一区二区三区| 制服丝袜成人动漫| 欧美精品视频www在线观看 | 国产成人精品三级| youjizz久久| 99久久精品免费看国产免费软件| 国产成人av一区二区三区在线| 国产毛片精品国产一区二区三区| 久久精品99久久久| 国产精品自拍三区| 日本韩国欧美三级| 欧美电影免费观看高清完整版在 | 亚洲色图在线看| 偷拍一区二区三区| 国产精品一区在线| 在线亚洲高清视频| 2020国产精品久久精品美国| 欧美国产综合色视频| 日韩欧美亚洲一区二区| 日本高清成人免费播放| 欧美一区永久视频免费观看| 久久美女艺术照精彩视频福利播放| 国产午夜亚洲精品羞羞网站| 亚洲色图另类专区| 国产综合久久久久影院| 色婷婷香蕉在线一区二区| 久久久久久久久岛国免费| 亚洲精选免费视频| av一二三不卡影片| 中国色在线观看另类| 老鸭窝一区二区久久精品| 欧美日韩精品一区视频| 亚洲日本欧美天堂| 91亚洲国产成人精品一区二三| 日韩一区二区电影| 看片的网站亚洲| 日韩色视频在线观看| 天天亚洲美女在线视频| 欧美三级韩国三级日本一级| 亚洲免费成人av| 色国产精品一区在线观看| 中文字幕在线观看不卡视频| 从欧美一区二区三区| 国产精品美女一区二区| 亚洲一区国产视频| 91精品国产乱| 国产麻豆精品95视频| 国产片一区二区三区| 老司机精品视频在线| 91麻豆免费看| 天涯成人国产亚洲精品一区av| 欧美亚洲一区二区在线观看| 亚洲国产日韩a在线播放| 欧美猛男男办公室激情| 美国十次综合导航| 久久蜜桃av一区精品变态类天堂| 国产成人免费视频一区| 亚洲乱码国产乱码精品精小说| 欧洲一区二区三区免费视频| 日韩激情中文字幕| 欧美激情一区二区三区在线| 欧洲av一区二区嗯嗯嗯啊| 激情都市一区二区| 亚洲精品视频在线| 久久婷婷国产综合精品青草| 91理论电影在线观看| 精品在线视频一区| 亚洲18女电影在线观看| 国产精品国产自产拍在线| 日韩一区二区免费高清| 色哟哟一区二区| 亚洲成a人v欧美综合天堂下载 | 国产精品灌醉下药二区| 在线观看av一区二区| 大白屁股一区二区视频| 精品影视av免费| 无码av中文一区二区三区桃花岛| 久久久综合网站| 91麻豆福利精品推荐| 亚洲激情欧美激情| 中文久久乱码一区二区| 欧美sm美女调教| 日韩手机在线导航| 日韩欧美国产电影| 日韩欧美久久久| 欧美一区二区视频免费观看| 欧美日韩日日夜夜| 91麻豆精品国产91久久久| 欧美日韩一区高清| 91精品1区2区| 欧美一区二区三区日韩视频| 欧美日韩三级视频| 亚洲精品在线电影| 国产精品网站在线播放| 亚洲色大成网站www久久九九| 中文字幕亚洲区| 天堂蜜桃一区二区三区| 日韩精品免费专区| 久久国产精品无码网站| 成人黄色小视频| 欧美在线不卡视频| 久久尤物电影视频在线观看| 中文字幕 久热精品 视频在线 | 青青草国产成人av片免费| 激情综合色播激情啊| zzijzzij亚洲日本少妇熟睡| 91久久久免费一区二区| 精品成人a区在线观看| 成人欧美一区二区三区视频网页| 亚洲最大色网站| 自拍偷拍欧美精品| 亚洲免费观看在线观看| 看片的网站亚洲| 欧美精品一卡两卡| 国产精品欧美极品| 精品一区二区三区免费毛片爱| av电影一区二区| 精品不卡在线视频| 日本一不卡视频| 欧美日韩一二区| 中文字幕一区二区5566日韩| 激情文学综合插| 日韩欧美一区二区三区在线| 午夜av区久久| 91麻豆精品国产自产在线 | 蜜臀va亚洲va欧美va天堂 | 一区二区在线免费| 色哟哟日韩精品| 亚洲欧美视频在线观看| 大尺度一区二区| 亚洲色图视频网| 色爱区综合激月婷婷| 亚洲成人一二三| 91精品国产一区二区三区香蕉 | 色哟哟一区二区三区| 亚洲六月丁香色婷婷综合久久 | 日本丰满少妇一区二区三区| 中文在线资源观看网站视频免费不卡| 亚洲天天做日日做天天谢日日欢| 成人免费观看视频| 一二三四社区欧美黄| 色婷婷av一区二区三区大白胸| 亚洲美女视频一区| 欧美高清激情brazzers| 国产一区二区美女诱惑| 欧美国产一区二区在线观看 | 亚洲国产激情av| 欧美午夜宅男影院| 国产麻豆精品一区二区| 亚洲人一二三区| 久久久久亚洲蜜桃| 在线免费不卡视频| 狠狠v欧美v日韩v亚洲ⅴ| 中文字幕字幕中文在线中不卡视频| 91丨porny丨国产入口| 日韩黄色在线观看| 国产精品系列在线| 欧美精品一区二区三区在线| 一本色道亚洲精品aⅴ| 免费的成人av| 日韩国产在线观看| 日韩毛片在线免费观看| 国产亚洲综合在线| 日韩女优av电影在线观看| 欧美日韩成人在线| 在线观看视频欧美| 色哟哟精品一区| 91麻豆精东视频| av在线播放一区二区三区| 国产一区二区三区四区五区美女 | 悠悠色在线精品| 亚洲人成在线播放网站岛国| www国产精品av| 日韩欧美黄色影院| 欧美久久免费观看| 91精品国产品国语在线不卡 | 亚洲欧洲中文日韩久久av乱码| 欧美成人三级电影在线| 日韩欧美一区中文| 91精品国产全国免费观看| 欧美三级日本三级少妇99| 欧美日韩电影在线播放| 日韩一区二区三区四区| 日韩一区二区视频| 国产欧美精品国产国产专区| 国产午夜精品福利| 国产精品短视频| 亚洲一区二区在线免费看| 亚洲福利一二三区| 极品少妇xxxx偷拍精品少妇| 国产精品一级片| 欧美综合亚洲图片综合区| 欧美影视一区在线| 久久综合九色综合欧美亚洲| 欧美激情中文不卡| 午夜av电影一区| 91视频在线观看免费| 欧美精品日韩一本|