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

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

?? ri.c

?? 國產CPU-龍芯(loongson)BIOS源代碼
?? C
?? 第 1 頁 / 共 2 頁
字號:
//extern onintr(int a,int *b);//#include "mips/cpu.h"#include <prid.h>#include <stdio.h>	#include <sys/sys/signal.h>#ifdef R3081#include "r3081.h"#endif#ifdef R3041#include "r3041.h"#endif#include "ri.h"#ifdef	GODSONEV1int global_div_num=0;#endifextern int do_ri (struct pt_regs *xcp);int __compute_return_epc(struct pt_regs *regs);static unsigned long mips_get_word_l(struct pt_regs *xcp, void *va, int *perr){		*perr = 0;		return(*(unsigned long *)va);}static int mips_put_word_l(struct pt_regs *xcp, void *va, unsigned long val){		*(unsigned long *)va = val;		return 0;}static int emu_lwl(struct pt_regs * regs,mips_instruction ir,vaddr_t_l emulpc){ 	int err = 0;	/*the "ir" is the instruction causing the exception*/	/*get the real address,perhaps the address is not word aligned*/	void *va = REG_TO_VA_l (regs->regs[MIPSInst_RS(ir)])+ MIPSInst_SIMM(ir);		unsigned long addr = 0;	unsigned long emul_pc = (unsigned long)emulpc;		unsigned long little_three_bits;	unsigned long value,value_tmp;//	printf("emu_lwl\r\n");	/*compute the correct position in the RT*/	/*note !!!!: we have supposed the CPU is little_Endianness and status regiester's RE bit =0 */	/*little Endianness*/	little_three_bits = (unsigned long)va&(0x7);	value_tmp = regs->regs[MIPSInst_RT(ir)];	switch(little_three_bits) {		case 0:		case 4:		 /*must check lwl valid*/		 addr = (unsigned long) va;		 check_axs(emul_pc,addr,4);		 value = mips_get_word_l(regs,va,&err);		 if(err){			 return SIGBUS;		 }		 value<<=24;		 value_tmp &= 0xffffff;	         regs->regs[MIPSInst_RT(ir)] =value_tmp|value;			break;					case 1:		case 5:		addr = (unsigned long)va -1;		check_axs(emul_pc,addr,4);		value = mips_get_word_l(regs,(void *)((unsigned long) va-1),&err);		if(err){			return SIGBUS;		}		value<<=16;		value_tmp&=0xffff;		regs->regs[MIPSInst_RT(ir)] =value_tmp|value;			break;		case 2:		case 6:		addr = (unsigned long)va - 2;		check_axs(emul_pc,addr,4);		value = mips_get_word_l(regs,(void *)((unsigned long)va-2),&err);		if(err){			return SIGBUS;		}		value<<=8;		value_tmp &= 0xff;		regs->regs[MIPSInst_RT(ir)] =value_tmp|value;			break;					case 3:		case 7:		addr = (unsigned long)va - 3;		check_axs(emul_pc,addr,4);		value = mips_get_word_l(regs,(void *)((unsigned long)va-3),&err);		if(err){			return SIGBUS;		};		regs->regs[MIPSInst_RT(ir)] = value;			break;	} /*swith ended*/	return 0;}static int emu_lwr(struct pt_regs *regs,mips_instruction ir,vaddr_t_l emulpc){ 	int err = 0;	/*the "ir" is the instruction causing the exception*/	/*get the real address,perhaps the address is not word aligned*/	void *va = REG_TO_VA_l (regs->regs[MIPSInst_RS(ir)])		+ MIPSInst_SIMM(ir);	unsigned long addr;	unsigned long emul_pc = (unsigned long)emulpc;	unsigned long little_three_bits;	unsigned long value,value_tmp;//	printf("emu_lwr\r\n");	/*compute the correct position in the RT*/	/*note !!!!: we have supposed the CPU is little_Endianness and status regiester's RE bit =0 */	little_three_bits = (unsigned long)va&(0x7);	value_tmp = regs->regs[MIPSInst_RT(ir)];	switch(little_three_bits) {		case 0:		case 4:		 /*must check lwl valid*/		addr = (unsigned long)va ;		check_axs(emul_pc,addr,4);		 value = mips_get_word_l(regs,va,&err);		 if(err){			 return SIGBUS;		 }	         regs->regs[MIPSInst_RT(ir)] =value;			break;					case 1:		case 5:		addr = (unsigned long)va -1;		check_axs(emul_pc,addr,4);		value = mips_get_word_l(regs,(void *)((unsigned long)va-1),&err);		if(err){			return SIGBUS;		}		value>>=8;		value_tmp&=0xff000000;		regs->regs[MIPSInst_RT(ir)] =value_tmp|value;			break;		case 2:		case 6:		addr = (unsigned long)va-2;		check_axs(emul_pc,addr,4);		value = mips_get_word_l(regs,(void *)((unsigned long)va-2),&err);		if(err){			return SIGBUS;		}		value>>=16;		value_tmp &= 0xffff0000;		regs->regs[MIPSInst_RT(ir)] =value_tmp|value;			break;					case 3:		case 7:		addr = (unsigned long)va -3;		check_axs(emul_pc,addr,4);		value = mips_get_word_l(regs,(void *)((unsigned long)va-3),&err);		if(err){			return SIGBUS;		};		value>>=24;		value_tmp &= 0xffffff00;		regs->regs[MIPSInst_RT(ir)] = value_tmp|value;			break;	} /*swith ended*/	return 0;}static int emu_swl(struct pt_regs *regs,mips_instruction ir, vaddr_t_l emulpc){	int err = 0;	/*the "ir" is the instruction causing the exception*/	/*get the real address,perhaps the address is not word aligned*/	void *va = REG_TO_VA_l (regs->regs[MIPSInst_RS(ir)])		+ MIPSInst_SIMM(ir);	unsigned long addr;	unsigned long emul_pc = (unsigned long)emulpc;	unsigned long little_three_bits;	unsigned long value,value_tmp;//	printf("emu_swl\r\n");	/*compute the correct position in the RT*/	/*note !!!!: we have supposed the CPU is little_Endianness and status re	* giester's RE bit =0 */	little_three_bits = (unsigned long)va&(0x7);	value_tmp = regs->regs[MIPSInst_RT(ir)];	switch(little_three_bits) {		case 0:		case 4:			addr = (unsigned long)va;			check_axs(emul_pc,addr,4);			value_tmp >>= 24;			value = mips_get_word_l(regs,va,&err);			if(err){				return SIGBUS;			}			value &=0xffffff00;			value |= value_tmp;			if(mips_put_word_l(regs,va,value)){				return SIGBUS;			}			break;		case 1:		case 5:			addr = (unsigned long)va -1;			check_axs(emul_pc,addr,4);			value_tmp >>= 16;			value = mips_get_word_l(regs,(void *)((unsigned long)va-1),&err);			if(err){				return SIGBUS;			}			value &=0xffff0000;			value |= value_tmp;			if(mips_put_word_l(regs,(void *)((unsigned long)va-1),value)){				return SIGBUS;			}			break;		case 2:		case 6:			addr = (unsigned long)va - 2;			check_axs(emul_pc,addr,4);			value_tmp >>= 8;			value = mips_get_word_l(regs,(void *)((unsigned long)va-2),&err);			if(err){				return SIGBUS;			}			value &=0xff000000;			value |= value_tmp;			if(mips_put_word_l(regs,(void *)((unsigned long)va-2),value)){				return SIGBUS;			}			break;		case 3:		case 7:			addr = (unsigned long)va - 3;			check_axs(emul_pc,addr,4);			value = value_tmp;									if(mips_put_word_l(regs,(void *)((unsigned long)va-3),value)){				return SIGBUS;			}			break;	}	return 0;}static int emu_swr(struct pt_regs *regs,mips_instruction ir, vaddr_t_l emulpc){	int err = 0;	/*the "ir" is the instruction causing the exception*/	/*get the real address,perhaps the address is not word aligned*/	void *va = REG_TO_VA_l (regs->regs[MIPSInst_RS(ir)])		+ MIPSInst_SIMM(ir);	unsigned long addr;	unsigned long emul_pc = (unsigned long)emulpc;		unsigned long little_three_bits;	unsigned long value,value_tmp;	//	printf("emu_swr\r\n");	/*compute the correct position in the RT*/	/*note !!!!: we have supposed the CPU is little_Endianness and status re	* giester's RE bit =0 */	little_three_bits = (unsigned long)va&(0x7);	value_tmp = regs->regs[MIPSInst_RT(ir)];	switch(little_three_bits) {		case 0:		case 4:			addr = (unsigned long) va;			check_axs(emul_pc,addr,4);			value = value_tmp;			if(mips_put_word_l(regs,va,value)){				return SIGBUS;			}			break;		case 1:		case 5:			addr = (unsigned long)va -1;			check_axs(emul_pc,addr,4);			value_tmp <<= 8;			value = mips_get_word_l(regs,(void *)((unsigned long)va-1),&err);			if(err){				return SIGBUS;			}			value &=0xff;			value |= value_tmp;			if(mips_put_word_l(regs,(void *)((unsigned long)va-1),value)){				return SIGBUS;			}			break;		case 2:		case 6:			addr = (unsigned long)va - 2;			check_axs(emul_pc,addr,4);			value_tmp <<= 16;			value = mips_get_word_l(regs,(void *)((unsigned long)va-2),&err);			if(err){				return SIGBUS;			}			value &=0xffff;			value |= value_tmp;			if(mips_put_word_l(regs,(void *)((unsigned long)va-2),value)){				return SIGBUS;			}			break;		case 3:		case 7:			addr = (unsigned long)va -3;			check_axs(emul_pc,addr,4);			value_tmp <<= 24;			value = mips_get_word_l(regs,(void *)((unsigned long)va-3),&err);			if(err){				return SIGBUS;			}			value &= 0xffffff;			value |= value_tmp;						if(mips_put_word_l(regs,(void *)((unsigned long)va-3),value)){				return SIGBUS;			}			break;	}	return 0;}static int emu_div(struct pt_regs *regs,mips_instruction ir){	int x,y;	int flag = 0;	int quotient = 0,remainder = 0;	unsigned int absx,absy,absquotient = 0,absremainder = 0,bm = 1;	/*the "ir" is the instruction causing the exception*/	x = regs->regs[MIPSInst_RS(ir)];	y = regs->regs[MIPSInst_RT(ir)];	#ifdef __test_ri__	//printf("now in function:emu_div().\r\n");#endif	if( y == 0 ) {/*overflow*/		return SIGABRT;	}	/*x and y 符號是否不同*/	flag = (x&0x80000000)^(y&0x80000000);		/*get the abs(x)*/	if(x<0){		absx = (unsigned int)-x;	}else {		absx = (unsigned int)x;	}		/*get the abs(y)*/	if(y<0){		absy = (unsigned int) -y;	}else {		absy = (unsigned int)y;	}		/*caculate the absx/absy*/			if(absx<absy) {/*don't need to calculate*/		absquotient = 0;		absremainder = absx;		goto end;	}       	while(!(absy&0x80000000))

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美日韩激情一区二区三区| 亚洲免费视频成人| 亚洲精品菠萝久久久久久久| 美脚の诱脚舐め脚责91| 色成人在线视频| 国产欧美日本一区视频| 毛片av一区二区| 欧美熟乱第一页| 亚洲欧美一区二区久久| 成人一区二区三区在线观看| 91精品欧美综合在线观看最新| 亚洲婷婷综合久久一本伊一区| 国产综合久久久久久鬼色| 欧美日韩视频不卡| 亚洲制服欧美中文字幕中文字幕| 成人av资源网站| 国产日韩精品久久久| 国内成+人亚洲+欧美+综合在线 | 一区二区三区四区亚洲| 国产成人免费xxxxxxxx| 日韩免费电影一区| 日韩精品一区第一页| 欧美视频中文字幕| 亚洲一区二区高清| 欧美视频在线播放| 亚洲亚洲人成综合网络| 欧美性做爰猛烈叫床潮| 一区二区三区四区在线播放| 97久久超碰精品国产| 自拍偷拍国产精品| 91在线观看污| 亚洲精品免费播放| 欧美性生活影院| 午夜精品一区二区三区三上悠亚| 欧美日免费三级在线| 亚洲国产va精品久久久不卡综合| 91极品视觉盛宴| 首页国产欧美日韩丝袜| 欧美一区二区三区人| 久久99国产精品久久99 | 老司机精品视频导航| 欧美v亚洲v综合ⅴ国产v| 久久99这里只有精品| 欧美精品一区二区三区很污很色的 | gogo大胆日本视频一区| 最新欧美精品一区二区三区| 99精品视频一区二区| 亚洲国产欧美日韩另类综合| 欧美年轻男男videosbes| 麻豆国产91在线播放| 国产日韩在线不卡| 99re66热这里只有精品3直播 | 成人欧美一区二区三区在线播放| 91在线高清观看| 午夜精品久久久久久久久久久 | 国产精品久久久久天堂| 色成年激情久久综合| 日韩成人一区二区| 国产日韩欧美一区二区三区乱码| 97精品视频在线观看自产线路二| 亚洲综合色婷婷| 精品电影一区二区| 色妹子一区二区| 美女一区二区视频| 亚洲人成网站精品片在线观看| 欧美日韩不卡一区二区| 国产精品18久久久久久久久久久久 | 99视频在线精品| 人人超碰91尤物精品国产| 国产午夜精品福利| 欧美亚洲动漫另类| 粉嫩aⅴ一区二区三区四区五区 | 日韩理论片在线| 日韩免费电影网站| 色综合视频一区二区三区高清| 免费亚洲电影在线| 亚洲激情图片qvod| 久久男人中文字幕资源站| 91国模大尺度私拍在线视频| 精品一区二区三区久久久| 一区二区三区四区在线| 国产色综合久久| 欧美一二三在线| 91在线视频播放地址| 麻豆91精品91久久久的内涵| 夜色激情一区二区| 中文字幕欧美三区| 日韩无一区二区| 欧美少妇xxx| 懂色av一区二区三区免费看| 亚洲电影一区二区三区| 国产精品久久看| 久久久精品免费观看| 欧美色网一区二区| 99国产精品视频免费观看| 精品写真视频在线观看| 亚洲va欧美va人人爽| 中文字幕一区在线观看| 国产调教视频一区| 欧美哺乳videos| 日韩精品一区二区三区在线播放| 91国偷自产一区二区使用方法| 大桥未久av一区二区三区中文| 蜜臀av一区二区| 亚洲午夜电影网| 亚洲超丰满肉感bbw| 亚洲色图欧美激情| 中文字幕亚洲在| 国产精品短视频| 中文字幕一区二区三区精华液| 国产欧美精品一区aⅴ影院| 欧美精品一区在线观看| 久久天天做天天爱综合色| 欧美videos中文字幕| 日韩视频一区二区| 欧美成人精品高清在线播放| 欧美不卡一区二区三区| 久久久国产综合精品女国产盗摄| 欧美精品一区二区在线观看| 久久久久久久久久久99999| 久久一留热品黄| 欧美国产一区视频在线观看| 国产精品丝袜黑色高跟| 国产精品久久看| 亚洲欧美视频一区| 一区二区三区精品视频在线| 夜夜精品视频一区二区| 亚洲高清三级视频| 日本不卡一二三| 精品一区二区三区视频| 国产.精品.日韩.另类.中文.在线.播放| 久久99精品久久久久久动态图| 韩国女主播成人在线观看| 国产成人av一区二区| 91在线porny国产在线看| 欧美三级资源在线| 日韩欧美一区二区三区在线| 精品国产1区二区| 亚洲欧美影音先锋| 亚洲电影你懂得| 精品中文av资源站在线观看| 国产福利一区二区三区视频在线 | 综合久久久久综合| 亚欧色一区w666天堂| 免费一级片91| 成人av影院在线| 欧美一区二区三区日韩视频| 国产亚洲综合性久久久影院| 一区二区欧美精品| 韩国理伦片一区二区三区在线播放| 成人一区二区三区| 欧美一区二区在线看| 中文子幕无线码一区tr| 亚洲福利国产精品| 顶级嫩模精品视频在线看| 欧美性色黄大片手机版| 国产午夜亚洲精品羞羞网站| 亚洲国产精品精华液网站| 国产一区二区三区av电影| 91成人在线观看喷潮| 久久夜色精品国产噜噜av| 一区二区三区在线播放| 国产大陆精品国产| 欧美一区二区私人影院日本| 国产精品久久久久久久久免费相片 | 国产精一区二区三区| 欧美日韩一区精品| ●精品国产综合乱码久久久久| 久久精品国产秦先生| 欧美综合色免费| 中文字幕av在线一区二区三区| 日本大胆欧美人术艺术动态| 色婷婷av一区二区三区之一色屋| 久久久久99精品一区| 免费成人小视频| 欧美日韩视频专区在线播放| 亚洲色图一区二区| 粉嫩嫩av羞羞动漫久久久| 久久一区二区三区国产精品| 日韩国产精品久久久久久亚洲| 91麻豆自制传媒国产之光| 国产视频一区在线观看| 免费日韩伦理电影| 777色狠狠一区二区三区| 亚洲网友自拍偷拍| 91麻豆国产福利精品| 国产精品国产三级国产aⅴ原创 | 国产日韩精品久久久| 国产一区二区三区观看| 欧美大尺度电影在线| 蜜桃视频在线观看一区二区| 在线不卡中文字幕播放| 亚洲超碰97人人做人人爱| 欧美在线视频全部完| 亚洲啪啪综合av一区二区三区| 91同城在线观看| 亚洲精品欧美在线| 欧美视频在线不卡| 三级在线观看一区二区| 91精品国产综合久久久蜜臀图片|