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

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

?? armos.c

?? skyeye是一個可以模擬嵌入式硬件開發板的系統軟件
?? C
?? 第 1 頁 / 共 2 頁
字號:
	res = read (f, local, len);	if (res > 0)		for (i = 0; i < res; i++)			ARMul_WriteByte (state, ptr + i, local[i]);	free (local);	state->Reg[0] = res == -1 ? -1 : len - res;	OSptr->ErrorNo = errno;}static voidSWIwrite (ARMul_State * state, ARMword f, ARMword ptr, ARMword len){	struct OSblock *OSptr = (struct OSblock *) state->OSptr;	int res;	ARMword i;	char *local = malloc (len);	if (local == NULL) {		fprintf (stderr,			 "sim: Unable to write 0x%lx bytes - out of memory\n",			 (int) len);		return;	}	for (i = 0; i < len; i++)		local[i] = ARMul_ReadByte (state, ptr + i);	res = write (f, local, len);	state->Reg[0] = res == -1 ? -1 : len - res;	free (local);	OSptr->ErrorNo = errno;}static voidSWIflen (ARMul_State * state, ARMword fh){	struct OSblock *OSptr = (struct OSblock *) state->OSptr;	ARMword addr;	if (fh == 0 || fh > FOPEN_MAX) {		OSptr->ErrorNo = EBADF;		state->Reg[0] = -1L;		return;	}	addr = lseek (fh, 0, SEEK_CUR);	state->Reg[0] = lseek (fh, 0L, SEEK_END);	(void) lseek (fh, addr, SEEK_SET);	OSptr->ErrorNo = errno;}/***************************************************************************\* The emulator calls this routine when a SWI instruction is encuntered. The ** parameter passed is the SWI number (lower 24 bits of the instruction).    *\***************************************************************************/unsignedARMul_OSHandleSWI (ARMul_State * state, ARMword number){	ARMword addr, temp;	struct OSblock *OSptr = (struct OSblock *) state->OSptr;	switch (number) {	case SWI_Read:		SWIread (state, state->Reg[0], state->Reg[1], state->Reg[2]);		return TRUE;	case SWI_Write:		SWIwrite (state, state->Reg[0], state->Reg[1], state->Reg[2]);		return TRUE;	case SWI_Open:		SWIopen (state, state->Reg[0], state->Reg[1]);		return TRUE;	case SWI_Clock:		/* return number of centi-seconds... */		state->Reg[0] =#ifdef CLOCKS_PER_SEC			(CLOCKS_PER_SEC >= 100)			? (ARMword) (clock () / (CLOCKS_PER_SEC / 100))			: (ARMword) ((clock () * 100) / CLOCKS_PER_SEC);#else			/* presume unix... clock() returns microseconds */			(ARMword) (clock () / 10000);#endif		OSptr->ErrorNo = errno;		return (TRUE);	case SWI_Time:		state->Reg[0] = (ARMword) time (NULL);		OSptr->ErrorNo = errno;		return (TRUE);	case SWI_Close:		state->Reg[0] = close (state->Reg[0]);		OSptr->ErrorNo = errno;		return TRUE;	case SWI_Flen:		SWIflen (state, state->Reg[0]);		return (TRUE);	case SWI_Exit:		state->Emulate = FALSE;		return TRUE;	case SWI_Seek:		{			/* We must return non-zero for failure */			state->Reg[0] =				-1 >= lseek (state->Reg[0], state->Reg[1],					     SEEK_SET);			OSptr->ErrorNo = errno;			return TRUE;		}	case SWI_WriteC:		(void) fputc ((int) state->Reg[0], stdout);		OSptr->ErrorNo = errno;		return (TRUE);	case SWI_Write0:		SWIWrite0 (state, state->Reg[0]);		return (TRUE);	case SWI_GetErrno:		state->Reg[0] = OSptr->ErrorNo;		return (TRUE);	case SWI_Breakpoint:		//chy 2005-09-12 change below line		//state->EndCondition = RDIError_BreakpointReached;		//printf ("SKYEYE: in armos.c : should not come here!!!!\n");		state->EndCondition = 0;		/*modified by ksh to support breakpoiont*/		state->Emulate = STOP;		return (TRUE);	case SWI_GetEnv:		state->Reg[0] = ADDRCMDLINE;		if (state->MemSize)			state->Reg[1] = state->MemSize;		else			state->Reg[1] = ADDRUSERSTACK;		WriteCommandLineTo (state, state->Reg[0]);		return (TRUE);		/* Handle Angel SWIs as well as Demon ones */	case AngelSWI_ARM:	case AngelSWI_Thumb:		/* R1 is almost always a parameter block */		addr = state->Reg[1];		/* R0 is a reason code */		switch (state->Reg[0]) {			/* Unimplemented reason codes */		case AngelSWI_Reason_ReadC:		case AngelSWI_Reason_IsTTY:		case AngelSWI_Reason_TmpNam:		case AngelSWI_Reason_Remove:		case AngelSWI_Reason_Rename:		case AngelSWI_Reason_System:		case AngelSWI_Reason_EnterSVC:		default:			state->Emulate = FALSE;			return (FALSE);		case AngelSWI_Reason_Clock:			/* return number of centi-seconds... */			state->Reg[0] =#ifdef CLOCKS_PER_SEC				(CLOCKS_PER_SEC >= 100)				? (ARMword) (clock () /					     (CLOCKS_PER_SEC / 100))				: (ARMword) ((clock () * 100) /					     CLOCKS_PER_SEC);#else				/* presume unix... clock() returns microseconds */				(ARMword) (clock () / 10000);#endif			OSptr->ErrorNo = errno;			return (TRUE);		case AngelSWI_Reason_Time:			state->Reg[0] = (ARMword) time (NULL);			OSptr->ErrorNo = errno;			return (TRUE);		case AngelSWI_Reason_WriteC:			(void) fputc ((int) ARMul_ReadByte (state, addr),				      stdout);			OSptr->ErrorNo = errno;			return (TRUE);		case AngelSWI_Reason_Write0:			SWIWrite0 (state, addr);			return (TRUE);		case AngelSWI_Reason_Close:			state->Reg[0] = close (ARMul_ReadWord (state, addr));			OSptr->ErrorNo = errno;			return (TRUE);		case AngelSWI_Reason_Seek:			state->Reg[0] =				-1 >= lseek (ARMul_ReadWord (state, addr),					     ARMul_ReadWord (state, addr + 4),					     SEEK_SET);			OSptr->ErrorNo = errno;			return (TRUE);		case AngelSWI_Reason_FLen:			SWIflen (state, ARMul_ReadWord (state, addr));			return (TRUE);		case AngelSWI_Reason_GetCmdLine:			WriteCommandLineTo (state,					    ARMul_ReadWord (state, addr));			return (TRUE);		case AngelSWI_Reason_HeapInfo:			/* R1 is a pointer to a pointer */			addr = ARMul_ReadWord (state, addr);			/* Pick up the right memory limit */			if (state->MemSize)				temp = state->MemSize;			else				temp = ADDRUSERSTACK;			ARMul_WriteWord (state, addr, 0);	/* Heap base */			ARMul_WriteWord (state, addr + 4, temp);	/* Heap limit */			ARMul_WriteWord (state, addr + 8, temp);	/* Stack base */			ARMul_WriteWord (state, addr + 12, temp);	/* Stack limit */			return (TRUE);		case AngelSWI_Reason_ReportException:			if (state->Reg[1] == ADP_Stopped_ApplicationExit)				state->Reg[0] = 0;			else				state->Reg[0] = -1;			state->Emulate = FALSE;			return TRUE;		case ADP_Stopped_ApplicationExit:			state->Reg[0] = 0;			state->Emulate = FALSE;			return (TRUE);		case ADP_Stopped_RunTimeError:			state->Reg[0] = -1;			state->Emulate = FALSE;			return (TRUE);		case AngelSWI_Reason_Errno:			state->Reg[0] = OSptr->ErrorNo;			return (TRUE);		case AngelSWI_Reason_Open:			SWIopen (state,				 ARMul_ReadWord (state, addr),				 ARMul_ReadWord (state, addr + 4));			return TRUE;		case AngelSWI_Reason_Read:			SWIread (state,				 ARMul_ReadWord (state, addr),				 ARMul_ReadWord (state, addr + 4),				 ARMul_ReadWord (state, addr + 8));			return TRUE;		case AngelSWI_Reason_Write:			SWIwrite (state,				  ARMul_ReadWord (state, addr),				  ARMul_ReadWord (state, addr + 4),				  ARMul_ReadWord (state, addr + 8));			return TRUE;		}	default:#if 0		state->Emulate = FALSE;#endif		return (FALSE);	}}#ifndef NOOS#ifndef ASIM/***************************************************************************\* The emulator calls this routine when an Exception occurs.  The second     ** parameter is the address of the relevant exception vector.  Returning     ** FALSE from this routine causes the trap to be taken, TRUE causes it to    ** be ignored (so set state->Emulate to FALSE!).                             *\***************************************************************************/unsignedARMul_OSException (ARMul_State * state ATTRIBUTE_UNUSED,		   ARMword vector ATTRIBUTE_UNUSED,		   ARMword pc ATTRIBUTE_UNUSED){				/* don't use this here */	return (FALSE);}#endif#endif /* NOOS */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧亚洲嫩模精品一区三区| 国产精品一级二级三级| 中文字幕一区二区三中文字幕| 欧美视频一区在线| 日本道免费精品一区二区三区| av亚洲精华国产精华精华| 大桥未久av一区二区三区中文| 精品一区二区三区久久| 久国产精品韩国三级视频| 精品一区二区三区视频 | 99视频国产精品| 国产福利一区二区三区在线视频| 国产一区二区在线电影| 国产丶欧美丶日本不卡视频| 成人永久免费视频| 91一区二区三区在线观看| 91网站在线观看视频| 91视频免费播放| 欧美色图12p| 欧美一区二区三区影视| 2023国产精华国产精品| 中文字幕欧美一区| 一色屋精品亚洲香蕉网站| 亚洲色图欧美偷拍| 喷白浆一区二区| 国产成a人亚洲精| 在线亚洲人成电影网站色www| 欧美日韩另类国产亚洲欧美一级| 日韩欧美一区二区久久婷婷| 国产喂奶挤奶一区二区三区| 亚洲免费观看高清完整版在线 | 午夜精品福利在线| 精品中文字幕一区二区| 91在线视频网址| 日韩欧美123| 国产精品成人免费在线| 秋霞影院一区二区| 国产高清精品久久久久| 欧美日韩精品是欧美日韩精品| 2023国产精华国产精品| 亚洲18色成人| av在线播放成人| 久久伊人蜜桃av一区二区| 亚洲情趣在线观看| 国产真实乱对白精彩久久| 在线免费精品视频| 国产精品天干天干在观线| 日产国产高清一区二区三区| 一本大道av一区二区在线播放 | 成人毛片在线观看| 91麻豆精品国产无毒不卡在线观看 | 亚洲精品免费在线观看| 午夜欧美电影在线观看| 成人av在线播放网站| 日韩视频免费观看高清完整版在线观看 | 国产精品自拍一区| 日本高清视频一区二区| 国产日韩欧美一区二区三区乱码| 天天综合日日夜夜精品| 在线观看免费视频综合| 国产精品毛片大码女人| 国产伦精品一区二区三区在线观看| 欧美日韩在线观看一区二区| 亚洲欧美日韩国产另类专区| 国产精品亚洲午夜一区二区三区| 欧美一级精品在线| 午夜不卡av免费| 欧美在线不卡一区| 一区二区三区.www| 日本韩国一区二区三区| 亚洲欧美偷拍三级| 91视频在线观看| 亚洲啪啪综合av一区二区三区| www.亚洲激情.com| 中文字幕一区二区三区蜜月| 成人爱爱电影网址| 亚洲图片另类小说| 日本韩国一区二区三区| 一级女性全黄久久生活片免费| 一道本成人在线| 亚洲不卡av一区二区三区| 在线一区二区三区| 日韩精品亚洲一区二区三区免费| 制服丝袜亚洲色图| 免费视频最近日韩| 久久免费美女视频| 99re这里只有精品6| 亚洲综合一区二区| 日韩欧美黄色影院| 国产精品综合视频| 中文字幕在线观看不卡| 91久久精品网| 美女视频黄免费的久久| 久久久精品欧美丰满| 91在线视频观看| 日韩综合一区二区| 久久精品一区二区三区四区| 不卡影院免费观看| 性久久久久久久久| 久久美女艺术照精彩视频福利播放| 国产精品99久久久久久久vr| 中文字幕日本不卡| 制服.丝袜.亚洲.中文.综合| 国产成人av网站| 亚洲一区中文日韩| 日韩精品中文字幕在线不卡尤物 | 国产精品区一区二区三区| 91国产精品成人| 看电视剧不卡顿的网站| 国产精品美女久久久久av爽李琼 | 天天亚洲美女在线视频| 久久久亚洲精品一区二区三区| 91免费小视频| 黄页视频在线91| 亚洲一区在线看| 中文字幕欧美日本乱码一线二线 | 精品在线你懂的| 日韩理论片网站| 精品国产人成亚洲区| 99视频在线精品| 激情综合网天天干| 同产精品九九九| 中文字幕综合网| 久久久精品国产99久久精品芒果| 日本电影欧美片| 99久久精品一区二区| 国内精品久久久久影院薰衣草| 亚洲第一电影网| 国产精品久久久久影院亚瑟| 精品国精品国产| 欧美电影一区二区三区| 成人动漫视频在线| 国产麻豆精品95视频| 日韩电影在线观看一区| 亚洲在线观看免费视频| 亚洲欧洲精品一区二区三区不卡| 精品久久久久99| 日韩午夜电影在线观看| 欧美精品在线一区二区| 一本到不卡免费一区二区| 风间由美性色一区二区三区| 国内精品伊人久久久久av影院 | 久久精品综合网| 精品99一区二区| 精品日韩一区二区三区免费视频| 欧美久久久久中文字幕| 欧美亚洲免费在线一区| 色偷偷久久人人79超碰人人澡| 国产iv一区二区三区| 国内精品写真在线观看| 国内精品久久久久影院薰衣草| 麻豆精品久久精品色综合| 亚洲成人激情综合网| 亚洲一级二级在线| 丝袜脚交一区二区| 日本va欧美va瓶| 久久精品99国产精品日本| 久久99久久精品| 国产白丝精品91爽爽久久| 不卡欧美aaaaa| 色一情一乱一乱一91av| 欧美亚日韩国产aⅴ精品中极品| 色94色欧美sute亚洲线路二| 91福利视频网站| 欧美男人的天堂一二区| 日韩一区二区中文字幕| 欧美va亚洲va在线观看蝴蝶网| 精品sm在线观看| 国产精品免费久久| 亚洲精品视频免费看| 亚洲一二三区视频在线观看| 丝袜亚洲另类欧美| 国产乱色国产精品免费视频| 成a人片国产精品| 欧美亚洲国产一区二区三区va| 欧美日韩一区二区三区免费看| 日韩亚洲欧美成人一区| 欧美激情一区二区三区在线| 亚洲欧洲日产国码二区| 日韩电影免费在线| 高清beeg欧美| 欧美三级电影网| 精品99一区二区| 一区二区三区在线免费观看| 日产精品久久久久久久性色| 国产成人啪免费观看软件| 91黄视频在线观看| 欧美精品一区在线观看| 中文字幕一区二区三区精华液| 天堂资源在线中文精品| 豆国产96在线|亚洲| 欧美日韩一二三区| 久久久www免费人成精品| 夜夜嗨av一区二区三区四季av | 亚洲成人免费在线| 国产精品18久久久久久久久 | 国产电影一区在线| 欧美精品久久天天躁| 国产精品福利一区| 久久99国产精品久久99果冻传媒|