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

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

?? inthndlr.c

?? Free Dos 源代碼 操作系統 可以參照學習操作系統
?? C
?? 第 1 頁 / 共 3 頁
字號:
		else
			r -> AL = 0xff;
		break;

	case 0x24:
		FcbSetRandom(MK_FP(r -> DS, r -> DX));
		break;

	/* Set Interrupt Vector                                         */
	case 0x25:
		{
			VOID (INRPT FAR *p)() = MK_FP(r -> DS, r -> DX);

			
			setvec(r -> AL, p);
		}
		break;

	/* Dos Create New Psp                                           */
	case 0x26:
		{
			psp FAR *p = MK_FP(cu_psp, 0);

			new_psp((psp FAR *)MK_FP(r -> DX, 0), p -> ps_size);
		}
		break;

	case 0x27:
		{
			COUNT nErrorCode;

			if(FcbRandomBlockRead(MK_FP(r -> DS, r -> DX), r -> CX, &nErrorCode))
				r -> AL = 0;
			else
				r -> AL = nErrorCode;
			break;
		}

	case 0x28:
		{
			COUNT nErrorCode;

			if(FcbRandomBlockWrite(MK_FP(r -> DS, r -> DX), r -> CX, &nErrorCode))
				r -> AL = 0;
			else
				r -> AL = nErrorCode;
			break;
		}

	/* Parse File Name                                              */
	case 0x29:
		{
			BYTE FAR *lpFileName;

			lpFileName = MK_FP(r -> DS, r -> SI);
			r -> AL = FcbParseFname(r -> AL,
			 &lpFileName,
			 MK_FP(r -> ES, r -> DI));
			r -> DS = FP_SEG(lpFileName);
			r -> SI = FP_OFF(lpFileName);
		}
		break;

	/* Get Date                                                     */
	case 0x2a:
		DosGetDate(
		 (BYTE FAR *)&(r -> AL),        /* WeekDay              */
		 (BYTE FAR *)&(r -> DH),        /* Month                */
		 (BYTE FAR *)&(r -> DL),        /* MonthDay             */
		 (COUNT FAR *)&(r -> CX));      /* Year                 */
		break;

	/* Set Date                                                     */
	case 0x2b:
		rc = DosSetDate(
		 (BYTE FAR *)&(r -> DH),        /* Month                */
		 (BYTE FAR *)&(r -> DL),        /* MonthDay             */
		 (COUNT FAR *)&(r -> CX));      /* Year                 */
		if(rc != SUCCESS)
			r -> AL = 0xff;
		else
			r -> AL = 0;
		break;

	/* Get Time                                                     */
	case 0x2c:
		DosGetTime(
		 (BYTE FAR *)&(r -> CH),        /* Hour                 */
		 (BYTE FAR *)&(r -> CL),        /* Minutes              */
		 (BYTE FAR *)&(r -> DH),        /* Seconds              */
		 (BYTE FAR *)&(r -> DL));       /* Hundredths           */
		break;

	/* Set Date                                                     */
	case 0x2d:
		rc = DosSetTime(
		 (BYTE FAR *)&(r -> CH),        /* Hour                 */
		 (BYTE FAR *)&(r -> CL),        /* Minutes              */
		 (BYTE FAR *)&(r -> DH),        /* Seconds              */
		 (BYTE FAR *)&(r -> DL));       /* Hundredths           */
		if(rc != SUCCESS)
			r -> AL = 0xff;
		else
			r -> AL = 0;
		break;

	/* Set verify flag                                              */
	case 0x2e:
		verify_ena = (r -> AL ? TRUE : FALSE);
		break;

	/* Get DTA                                                      */
	case 0x2f:
		r -> ES = FP_SEG(dta);
		r -> BX = FP_OFF(dta);
		break;

	/* Get DOS Version                                              */
	case 0x30:
		r -> AL = os_major;
		r -> AH = os_minor;
		
		switch(r -> AL)
		{
		default:
		case 0:
			r -> BH= OEM_ID;
			break;

		case 1:
			r -> BH = 0;    /* RAM only for now             */
			break;
		}
		r -> BL = 0xff;         /* for now                      */
		r -> CX = 0xffff;
		break;

	/* Keep Program                                                 */
	case 0x31:
		DosMemChange(cu_psp, r -> DX < 6 ? 6 : r -> DX, 0);
		//flush();
		return_mode = 3;
		return_code = r -> AL;
		tsr = TRUE;
		return_user();
		break;

	/* Get DPB                                                      */
	case 0x32:
		if (r -> DL < nblkdev)
		{
			struct dpb FAR *dpb = &blk_devices[r -> DL];
			r -> DS = FP_SEG(dpb);
			r -> BX = FP_OFF(dpb);
			r -> AL = 0;
		} else r->AL = 0xFF;
		break;

	/* Get InDOS flag                                               */
	case 0x34:
		{
			BYTE FAR *p;

			p = (BYTE FAR *)((BYTE *)&InDOS);
			r -> ES = FP_SEG(p);
			r -> BX = FP_OFF(p);
		}
		break;
		
	/* Get Interrupt Vector                                         */
	case 0x35:
		{
			BYTE FAR *p;

			p = getvec((COUNT)r -> AL);
			r -> ES = FP_SEG(p);
			r -> BX = FP_OFF(p);
		}
		break;

	/* Dos Get Disk Free Space                                      */
	case 0x36:
		DosGetFree(
			(COUNT)r -> DL,
			(COUNT FAR *)&r -> AX,
			(COUNT FAR *)&r -> BX,
			(COUNT FAR *)&r -> CX,
			(COUNT FAR *)&r -> DX);
		break;

	/* Undocumented Get/Set Switchar                                */
	case 0x37:
		switch(r -> AL)
		{
		case 0:
			r -> DL = switchar;
			break;

		case 1:
			switchar = r -> DL;
			break;

		case 2:
		case 3:
			r -> DL = 0xff;
			break;
		
		default:
			goto error_invalid;
		}
		break;

	/* Get/Set Country Info                                         */
	case 0x38:
		{
			BYTE FAR *lpTable
				= (BYTE FAR *)MK_FP(r -> DS, r -> DX);
			BYTE nRetCode;

			if(0xffff == r -> DX)
			{
				r->AX = 0xff;
				r->FLAGS |= FLG_CARRY;
				break;

				r -> BX = SetCtryInfo(
					(UBYTE FAR *)&(r -> AL),
					(UWORD FAR *)&(r -> BX),
					(BYTE FAR *)&lpTable,
					(UBYTE *)&nRetCode);
				
				if(nRetCode != 0)
				{
					r -> AX = 0xff;
					r -> FLAGS |= FLG_CARRY;
				}
				else
				{
					r -> AX = nRetCode;
					r -> FLAGS &= ~FLG_CARRY;
				}
			}
			else
			{
				r -> BX = GetCtryInfo(&(r -> AL), &(r -> BX), lpTable);
				r -> FLAGS &= ~FLG_CARRY;
			}
		}
		break;

	/* Dos Create Directory                                         */
	case 0x39:
		rc = dos_mkdir((BYTE FAR *)MK_FP(r -> DS, r -> DX));
		if(rc != SUCCESS)
			goto error_exit;
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;

	/* Dos Remove Directory                                         */
	case 0x3a:
		rc = dos_rmdir((BYTE FAR *)MK_FP(r -> DS, r -> DX));
		if(rc != SUCCESS)
			goto error_exit;
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;

	/* Dos Change Directory                                         */
	case 0x3b:
		if((rc = DosChangeDir((BYTE FAR *)MK_FP(r -> DS, r -> DX))) < 0)
			goto error_exit;
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;

	/* Dos Create File                                              */
	case 0x3c:
		if((rc = DosCreat(MK_FP(r -> DS, r -> DX), r -> CX)) < 0)
			goto error_exit;
		else
		{
			r -> AX = rc;
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;

	/* Dos Open                                                     */
	case 0x3d:
		if((rc = DosOpen(MK_FP(r -> DS, r -> DX), r -> AL)) < 0)
			goto error_exit;
		else
		{
			r -> AX = rc;
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;

	/* Dos Close                                                    */
	case 0x3e:
		if((rc = DosClose(r -> BX)) < 0)
			goto error_exit;
		else
			r -> FLAGS &= ~FLG_CARRY;
		break;

	/* Dos Read                                                     */
	case 0x3f:
		rc = DosRead(r -> BX, r -> CX, MK_FP(r -> DS, r -> DX), (COUNT FAR *)&rc1);

		if(rc1 != SUCCESS)
		{
			r -> FLAGS |= FLG_CARRY;
			r -> AX = -rc1;
		}
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
			r -> AX = rc;
		}
		break;

	/* Dos Write                                                    */
	case 0x40:
		rc = DosWrite(r -> BX, r -> CX, MK_FP(r -> DS, r -> DX), (COUNT FAR *)&rc1);
		if(rc1 != SUCCESS)
		{
			r -> FLAGS |= FLG_CARRY;
			r -> AX = -rc1;
		}
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
			r -> AX = rc;
		}
		break;

	/* Dos Delete File                                              */
	case 0x41:
		rc = dos_delete((BYTE FAR *)MK_FP(r -> DS, r -> DX));
		if(rc < 0)
		{
			r -> FLAGS |= FLG_CARRY;
			r -> AX = -rc1;
		}
		else
			r -> FLAGS &= ~FLG_CARRY;
		break;

	/* Dos Seek                                                     */
	case 0x42:
		if((rc = DosSeek(r -> BX, (LONG)((((LONG)(r -> CX)) << 16) + r -> DX), r -> AL, &lrc)) < 0)
			goto error_exit;
		else
		{
			r -> DX = (lrc >> 16);
			r -> AX = lrc & 0xffff;
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;

	/* Get/Set File Attributes                                      */
	case 0x43:
		switch(r -> AL)
		{
		case 0x00:
			rc = DosGetFattr((BYTE FAR *)MK_FP(r -> DS, r -> DX), (UWORD FAR *)&r -> CX);
			if(rc < SUCCESS)
				goto error_exit;
			else
			{
				r -> FLAGS &= ~FLG_CARRY;
			}
			break;

		case 0x01:
			rc = DosSetFattr((BYTE FAR *)MK_FP(r -> DS, r -> DX), (UWORD FAR *)&r -> CX);
			if(rc != SUCCESS)
				goto error_exit;
			else
				r -> FLAGS &= ~FLG_CARRY;
			break;
		
		default:
			goto error_invalid;
			break;
		}
		break;

	/* Device I/O Control                                           */
	case 0x44:
		{
			BOOL bNoChangeAx;
			
			bNoChangeAx = ((r -> AL == 0) || (r -> AL == 1));
			rc = DosDevIOctl(r, (COUNT FAR *)&rc1);

			if(rc1 != SUCCESS)
			{
				r -> FLAGS |= FLG_CARRY;
				r -> AX = -rc1;
			}
			else
			{
				r -> FLAGS &= ~FLG_CARRY;
				//if(!bNoChangeAx)
				//   r -> AX = rc;
			}
		}
		break;

	/* Duplicate File Handle                                        */
	case 0x45:
		rc = DosDup(r -> BX);
		if(rc < SUCCESS)
			goto error_exit;
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
			r -> AX = rc;
		}
		break;

	/* Force Duplicate File Handle                                  */
	case 0x46:
		rc = DosForceDup(r -> BX, r -> CX);
		if(rc < SUCCESS)
			goto error_exit;
		else
			r -> FLAGS &= ~FLG_CARRY;
		break;

	/* Get Current Directory                                        */
	case 0x47:
		if((rc = DosGetCuDir(r -> DL, MK_FP(r -> DS, r -> SI))) < 0)
			goto error_exit;
		else
		{
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;
			
	/* Memory management                                            */
	case 0x48:
		if((rc = DosMemAlloc(r -> BX, mem_access_mode, &(r -> AX), &(r -> BX))) < 0)
		{
			DosMemLargest(&(r -> BX));
			goto error_exit;
		}
		else
		{
			++(r -> AX);
			r -> FLAGS &= ~FLG_CARRY;
		}
		break;
			

	case 0x49:
		if((rc = DosMemFree(--(r -> ES))) < 0)
			goto error_exit;
		else
			r -> FLAGS &= ~FLG_CARRY;
		break;

	case 0x4a:
	{
		UWORD maxSize;

		if((rc = DosMemChange(r -> ES, r -> BX, &maxSize)) < 0)
		{
			if (rc == DE_NOMEM)
				r -> BX = maxSize;

#if 0
			if(cu_psp == r -> ES)
			{
				
				psp FAR *p;

				p = MK_FP(cu_psp, 0);
				p -> ps_size = r -> BX + cu_psp;
			}
#endif
			goto error_exit;
		}
		else
			r -> FLAGS &= ~FLG_CARRY;

		break;
	}

	/* Load and Execute Program                                     */
	case 0x4b:
		break_flg = FALSE;

		if((rc = DosExec(r -> AL, MK_FP(r -> ES, r -> BX), MK_FP(r -> DS, r -> DX))) 
			!= SUCCESS)
			goto error_exit;
		else
			r -> FLAGS &= ~FLG_CARRY;
		break;

	/* End Program                                                  */
	case 0x4c:
		tsr = FALSE;
		return_mode = break_flg ? 1 : 0;
		return_code = r -> AL;
		DosMemCheck();
#ifdef TSC
		StartTrace();
#endif
		return_user();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲一区成人在线| 欧美系列日韩一区| 一区二区三区在线观看动漫| 日韩欧美一级在线播放| 97久久精品人人做人人爽50路| 亚瑟在线精品视频| 国产精品乱码一区二三区小蝌蚪| 欧美一区二区三区四区高清 | 午夜精品免费在线| 国产精品久久久久天堂| 日韩美一区二区三区| 欧美欧美欧美欧美首页| 99久久婷婷国产精品综合| 国产一区二区看久久| 三级影片在线观看欧美日韩一区二区| 国产精品久久久久四虎| 精品少妇一区二区三区日产乱码 | 精品一区二区三区欧美| 亚洲国产cao| 亚洲免费在线播放| 国产精品视频你懂的| 久久综合av免费| 日韩欧美色综合| 欧美一二区视频| 欧美日韩电影在线| 欧美丝袜自拍制服另类| 日本乱人伦一区| 色综合色狠狠天天综合色| 成人免费视频免费观看| 国产不卡高清在线观看视频| 国产自产v一区二区三区c| 奇米一区二区三区av| 日韩中文字幕av电影| 香蕉成人伊视频在线观看| 亚洲一卡二卡三卡四卡五卡| 亚洲综合免费观看高清在线观看| 亚洲日韩欧美一区二区在线| 国产精品成人午夜| 国产精品久久久久精k8 | 精品国产欧美一区二区| 日韩欧美一卡二卡| 亚洲精品一区二区三区香蕉| 久久久久久久久免费| 久久久精品国产免大香伊| 国产欧美日韩亚州综合| 中文字幕欧美激情| 最好看的中文字幕久久| 亚洲综合久久久| 亚洲韩国一区二区三区| 天天av天天翘天天综合网| 日韩av在线发布| 久久99国产精品免费网站| 国产精品一区二区男女羞羞无遮挡| 国产一本一道久久香蕉| 懂色av一区二区三区免费看| jlzzjlzz欧美大全| 欧美午夜精品一区二区三区| 欧美一卡2卡3卡4卡| 久久这里只有精品视频网| 国产精品理伦片| 一区二区三区成人在线视频| 日日噜噜夜夜狠狠视频欧美人| 蜜桃免费网站一区二区三区| 国产精品白丝jk黑袜喷水| 99精品视频一区| 欧美一区二区三区视频在线观看| 亚洲人妖av一区二区| 一区二区在线观看视频| 全国精品久久少妇| 成人一区二区三区视频在线观看| 色呦呦一区二区三区| 日韩亚洲欧美中文三级| 中文字幕久久午夜不卡| 亚洲国产精品影院| 激情五月婷婷综合| 色呦呦一区二区三区| 精品久久人人做人人爽| 综合av第一页| 久久爱www久久做| 91免费观看国产| 日韩免费高清av| 亚洲色图都市小说| 精品一区精品二区高清| 色偷偷久久一区二区三区| 日韩欧美一区二区久久婷婷| 亚洲三级电影全部在线观看高清| 免费av成人在线| 91视视频在线直接观看在线看网页在线看 | 91麻豆精品国产无毒不卡在线观看| 精品久久久久久亚洲综合网| 亚洲欧美日韩国产中文在线| 激情成人午夜视频| 欧美午夜精品一区二区蜜桃| 国产日韩欧美电影| 日本免费新一区视频| 色av综合在线| 国产精品国产三级国产| 日本va欧美va瓶| 欧美日韩一区二区欧美激情| 国产精品美女久久久久久久久久久| 免费一级片91| 91国产成人在线| 国产精品美女久久久久aⅴ国产馆| 日韩专区一卡二卡| 色噜噜狠狠一区二区三区果冻| 久久精子c满五个校花| 秋霞午夜鲁丝一区二区老狼| 日本高清不卡视频| 国产精品超碰97尤物18| 国产精品18久久久久久久久久久久| 制服丝袜av成人在线看| 亚洲精品成人悠悠色影视| 成人免费视频一区| 国产肉丝袜一区二区| 国产资源在线一区| 日韩免费电影网站| 免费不卡在线观看| 日韩视频在线你懂得| 香蕉乱码成人久久天堂爱免费| 色婷婷激情久久| 亚洲品质自拍视频| 成人性生交大片免费看视频在线 | 亚洲一二三专区| 色综合天天综合网国产成人综合天 | 五月婷婷综合激情| 在线观看亚洲精品视频| 亚洲乱码国产乱码精品精小说| 成人精品在线视频观看| 国产精品美女久久久久久2018| 国产高清精品网站| 久久久久久99久久久精品网站| 国内精品视频666| 2020国产成人综合网| 久草精品在线观看| 26uuu成人网一区二区三区| 久久精品国产网站| 久久久影院官网| 国产精品69毛片高清亚洲| 亚洲国产成人自拍| 波多野结衣一区二区三区| 中文字幕一区二区三区不卡在线| 成人免费视频网站在线观看| 1000精品久久久久久久久| 色综合天天性综合| 五月开心婷婷久久| 欧美大片一区二区三区| 精品午夜一区二区三区在线观看| 久久久www成人免费毛片麻豆| 国产.精品.日韩.另类.中文.在线.播放| 国产婷婷精品av在线| 91污片在线观看| 图片区小说区国产精品视频| 欧美一区二区三区视频在线观看| 激情综合色播五月| 国产精品久久影院| 欧美亚洲一区二区在线观看| 日本不卡的三区四区五区| 久久综合99re88久久爱| 成年人国产精品| 亚洲高清在线精品| 精品久久久久久久久久久久包黑料 | 国产精品久久毛片| 欧美在线不卡一区| 免费人成精品欧美精品| 国产清纯美女被跳蛋高潮一区二区久久w| www.欧美.com| 香蕉av福利精品导航| 国产三级一区二区三区| 色偷偷88欧美精品久久久| 日韩精品一二区| 国产精品久久毛片| 宅男噜噜噜66一区二区66| 国产成人精品免费在线| 亚洲一区二区在线视频| 欧美大尺度电影在线| 99久久er热在这里只有精品15| 肉色丝袜一区二区| 国产日产欧美一区二区三区| 欧美亚洲综合网| 国产精品白丝jk白祙喷水网站| 一区二区三区不卡视频 | 亚洲综合无码一区二区| 精品国产91久久久久久久妲己| 一本久久a久久免费精品不卡| 视频在线在亚洲| 国产精品久久三| 精品国免费一区二区三区| 一本久道中文字幕精品亚洲嫩| 免费观看一级特黄欧美大片| 国产精品免费看片| 日韩欧美aaaaaa| 欧美中文字幕一区| 国产成人亚洲精品青草天美| 亚洲国产综合色| 中文字幕一区二区日韩精品绯色| 日韩丝袜美女视频| 精品视频一区 二区 三区| 成人亚洲一区二区一| 久久国产精品72免费观看| 一区二区三区欧美亚洲|