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

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

?? readcpu.c

?? 十七種模擬器源代碼 非常有用的作課程設計不可缺少的
?? C
?? 第 1 頁 / 共 2 頁
字號:
		 || srcmode == Apdi))	    {		srcgather = 1; srcpos = bitpos[bitD];	    }	    if (opcstr[pos] == '[') {		pos++;		if (opcstr[pos] == '!') {		    /* exclusion */		    do {			pos++;			if (mode_from_str(opcstr+pos) == srcmode)			    goto nomatch;			pos += 4;		    } while (opcstr[pos] == ',');		    pos++;		} else {		    if (opcstr[pos+4] == '-') {			/* replacement */			if (mode_from_str(opcstr+pos) == srcmode)			    srcmode = mode_from_str(opcstr+pos+5);			else			    goto nomatch;			pos += 10;		    } else {			/* normal */			while(mode_from_str(opcstr+pos) != srcmode) {			    pos += 4;			    if (opcstr[pos] == ']')				goto nomatch;			    pos++;			}			while(opcstr[pos] != ']') pos++;			pos++;			break;		    }		}	    }	    /* Some addressing modes are invalid as destination */	    if (srcmode == imm || srcmode == PC16 || srcmode == PC8r)		goto nomatch;	    break;	 case 's':	    srcreg = bitval[bitS];	    srcmode = mode_from_mr(bitval[bits],bitval[bitS]);	    if (srcmode == am_illg) continue;	    if (CPU_EMU_SIZE < 2 &&		(srcmode == Areg || srcmode == Dreg || srcmode == Aind		 || srcmode == Ad16 || srcmode == Ad8r || srcmode == Aipi		 || srcmode == Apdi))	    {		srcgather = 1; srcpos = bitpos[bitS];	    }	    if (opcstr[pos] == '[') {		pos++;		if (opcstr[pos] == '!') {		    /* exclusion */		    do {			pos++;			if (mode_from_str(opcstr+pos) == srcmode)			    goto nomatch;			pos += 4;		    } while (opcstr[pos] == ',');		    pos++;		} else {		    if (opcstr[pos+4] == '-') {			/* replacement */			if (mode_from_str(opcstr+pos) == srcmode)			    srcmode = mode_from_str(opcstr+pos+5);			else			    goto nomatch;			pos += 10;		    } else {			/* normal */			while(mode_from_str(opcstr+pos) != srcmode) {			    pos += 4;			    if (opcstr[pos] == ']')				goto nomatch;			    pos++;			}			while(opcstr[pos] != ']') pos++;			pos++;		    }		}	    }	    break;	 default: u020_abort();	}	/* safety check - might have changed */	if (srcmode != Areg && srcmode != Dreg && srcmode != Aind	    && srcmode != Ad16 && srcmode != Ad8r && srcmode != Aipi	    && srcmode != Apdi && srcmode != immi)	{	    srcgather = 0;	}	if (srcmode == Areg && sz == sz_byte)	    goto nomatch;	if (opcstr[pos] != ',')	    goto endofline;	pos++;	/* parse the destination address */	usedst = 1;	switch(opcstr[pos++]) {	 case 'D':	    destmode = Dreg;	    switch (opcstr[pos++]) {	     case 'r': destreg = bitval[bitr]; dstgather = 1; dstpos = bitpos[bitr]; break;	     case 'R': destreg = bitval[bitR]; dstgather = 1; dstpos = bitpos[bitR]; break;	     default: u020_abort();	    }	    break;	 case 'A':	    destmode = Areg;	    switch (opcstr[pos++]) {	     case 'r': destreg = bitval[bitr]; dstgather = 1; dstpos = bitpos[bitr]; break;	     case 'R': destreg = bitval[bitR]; dstgather = 1; dstpos = bitpos[bitR]; break;	     default: u020_abort();	    }	    switch (opcstr[pos]) {	     case 'p': destmode = Apdi; pos++; break;	     case 'P': destmode = Aipi; pos++; break;	    }	    break;	 case '#':	    switch(opcstr[pos++]) {	     case 'z': destmode = imm; break;	     case '0': destmode = imm0; break;	     case '1': destmode = imm1; break;	     case '2': destmode = imm2; break;	     case 'i': destmode = immi; destreg = (uae_s32)(uae_s8)bitval[biti]; break;	     case 'j': destmode = immi; destreg = bitval[bitj]; break;	     case 'J': destmode = immi; destreg = bitval[bitJ]; break;	     case 'k': destmode = immi; destreg = bitval[bitk]; break;	     case 'K': destmode = immi; destreg = bitval[bitK]; break;	     default: u020_abort();	    }	    break;	 case 'd':	    destreg = bitval[bitD];	    destmode = mode_from_mr(bitval[bitd],bitval[bitD]);	    if(destmode == am_illg) continue;	    if (CPU_EMU_SIZE < 1 &&		(destmode == Areg || destmode == Dreg || destmode == Aind		 || destmode == Ad16 || destmode == Ad8r || destmode == Aipi		 || destmode == Apdi))	    {		dstgather = 1; dstpos = bitpos[bitD];	    }	    if (opcstr[pos] == '[') {		pos++;		if (opcstr[pos] == '!') {		    /* exclusion */		    do {			pos++;			if (mode_from_str(opcstr+pos) == destmode)			    goto nomatch;			pos += 4;		    } while (opcstr[pos] == ',');		    pos++;		} else {		    if (opcstr[pos+4] == '-') {			/* replacement */			if (mode_from_str(opcstr+pos) == destmode)			    destmode = mode_from_str(opcstr+pos+5);			else			    goto nomatch;			pos += 10;		    } else {			/* normal */			while(mode_from_str(opcstr+pos) != destmode) {			    pos += 4;			    if (opcstr[pos] == ']')				goto nomatch;			    pos++;			}			while(opcstr[pos] != ']') pos++;			pos++;			break;		    }		}	    }	    /* Some addressing modes are invalid as destination */	    if (destmode == imm || destmode == PC16 || destmode == PC8r)		goto nomatch;	    break;	 case 's':	    destreg = bitval[bitS];	    destmode = mode_from_mr(bitval[bits],bitval[bitS]);	    if (destmode == am_illg) continue;	    if (CPU_EMU_SIZE < 1 &&		(destmode == Areg || destmode == Dreg || destmode == Aind		 || destmode == Ad16 || destmode == Ad8r || destmode == Aipi		 || destmode == Apdi))	    {		dstgather = 1; dstpos = bitpos[bitS];	    }	    if (opcstr[pos] == '[') {		pos++;		if (opcstr[pos] == '!') {		    /* exclusion */		    do {			pos++;			if (mode_from_str(opcstr+pos) == destmode)			    goto nomatch;			pos += 4;		    } while (opcstr[pos] == ',');		    pos++;		} else {		    if (opcstr[pos+4] == '-') {			/* replacement */			if (mode_from_str(opcstr+pos) == destmode)			    destmode = mode_from_str(opcstr+pos+5);			else			    goto nomatch;			pos += 10;		    } else {			/* normal */			while(mode_from_str(opcstr+pos) != destmode) {			    pos += 4;			    if (opcstr[pos] == ']')				goto nomatch;			    pos++;			}			while(opcstr[pos] != ']') pos++;			pos++;		    }		}	    }	    break;	 default: u020_abort();	}	/* safety check - might have changed */	if (destmode != Areg && destmode != Dreg && destmode != Aind	    && destmode != Ad16 && destmode != Ad8r && destmode != Aipi	    && destmode != Apdi)	{	    dstgather = 0;	}	if (destmode == Areg && sz == sz_byte)	    goto nomatch;#if 0	if (sz == sz_byte && (destmode == Aipi || destmode == Apdi)) {	    dstgather = 0;	}#endif	endofline:	/* now, we have a match */#if 0	if (table68k[opc].mnemo != i_ILLG)	    fprintf(stderr, "Double match: %x: %s\n", opc, opcstr);#endif	if (find == -1) {	    for(find = 0;; find++) {		if (strcmp(mnemonic, lookuptab[find].name) == 0) {		    table68k[opc].mnemo = lookuptab[find].mnemo;		    break;		}		if (strlen(lookuptab[find].name) == 0) u020_abort();	    }	}	else {	    table68k[opc].mnemo = lookuptab[find].mnemo;	}	table68k[opc].cc = bitval[bitc];	if (table68k[opc].mnemo == i_BTST	    || table68k[opc].mnemo == i_BSET	    || table68k[opc].mnemo == i_BCLR	    || table68k[opc].mnemo == i_BCHG)	{	    sz = destmode == Dreg ? sz_long : sz_byte;	}	table68k[opc].size = sz;	table68k[opc].sreg = srcreg;	table68k[opc].dreg = destreg;	table68k[opc].smode = srcmode;	table68k[opc].dmode = destmode;	table68k[opc].spos = srcgather ? srcpos : -1;	table68k[opc].dpos = dstgather ? dstpos : -1;	table68k[opc].suse = usesrc;	table68k[opc].duse = usedst;	table68k[opc].stype = srctype;	table68k[opc].plev = id.plevel;#if 0	for (i = 0; i < 5; i++) {	    table68k[opc].flaginfo[i].flagset = id.flaginfo[i].flagset;	    table68k[opc].flaginfo[i].flaguse = id.flaginfo[i].flaguse;	}#endif	table68k[opc].flagdead = flagdead;	table68k[opc].flaglive = flaglive;	nomatch:	/* FOO! */;    }}void read_table68k(void){    int i;    for(i = 0; i < 65536; i++) {	table68k[i].mnemo = i_ILLG;	table68k[i].handler = -1;    }    for (i = 0; i < n_defs68k; i++) {	build_insn (i);    }}static int mismatch;static void handle_merges(long int opcode){    uae_u16 smsk;    uae_u16 dmsk;    int sbitdst, dstend;    int srcreg, dstreg;    if (table68k[opcode].spos == -1) {	sbitdst = 1; smsk = 0;    } else {	switch (table68k[opcode].stype) {	 case 0:	    smsk = 7; sbitdst = 8; break;	 case 1:	    smsk = 255; sbitdst = 256; break;	 case 2:	    smsk = 15; sbitdst = 16; break;	 case 3:	    smsk = 7; sbitdst = 8; break;	 case 4:	    smsk = 7; sbitdst = 8; break;	 case 5:	    smsk = 63; sbitdst = 64; break;	 default:	    smsk = 0; sbitdst = 0;	    u020_abort();	    break;	}	smsk <<= table68k[opcode].spos;    }    if (table68k[opcode].dpos == -1) {	dstend = 1; dmsk = 0;    } else {	dmsk = 7 << table68k[opcode].dpos;	dstend = 8;    }    for (srcreg=0; srcreg < sbitdst; srcreg++) {	for (dstreg=0; dstreg < dstend; dstreg++) {	    uae_u16 code = opcode;	    code = (code & ~smsk) | (srcreg << table68k[opcode].spos);	    code = (code & ~dmsk) | (dstreg << table68k[opcode].dpos);	    /* Check whether this is in fact the same instruction.	     * The instructions should never differ, except for the	     * Bcc.(BW) case. */	    if (table68k[code].mnemo != table68k[opcode].mnemo		|| table68k[code].size != table68k[opcode].size		|| table68k[code].suse != table68k[opcode].suse		|| table68k[code].duse != table68k[opcode].duse)	    {		mismatch++; continue;	    }	    if (table68k[opcode].suse		&& (table68k[opcode].spos != table68k[code].spos		    || table68k[opcode].smode != table68k[code].smode		    || table68k[opcode].stype != table68k[code].stype))	    {		mismatch++; continue;	    }	    if (table68k[opcode].duse		&& (table68k[opcode].dpos != table68k[code].dpos		    || table68k[opcode].dmode != table68k[code].dmode))	    {		mismatch++; continue;	    }	    if (code != opcode)		table68k[code].handler = opcode;	}    }}void do_merges (){    long int opcode;    int nr = 0;    mismatch = 0;    for (opcode = 0; opcode < 65536; opcode++) {	if (table68k[opcode].handler != -1 || table68k[opcode].mnemo == i_ILLG)	    continue;	nr++;	handle_merges (opcode);    }    nr_cpuop_funcs = nr;}int get_no_mismatches (){    return mismatch;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
天堂一区二区在线| 午夜精品福利视频网站| 欧美亚一区二区| 在线一区二区三区四区五区 | 欧美精品一卡两卡| 91免费精品国自产拍在线不卡| 男女激情视频一区| 热久久久久久久| 亚洲国产日韩综合久久精品| 亚洲欧美日韩在线不卡| 国产精品色呦呦| 亚洲嫩草精品久久| 日韩国产欧美三级| 日韩国产在线观看一区| 日韩在线播放一区二区| 视频在线观看一区二区三区| 亚洲成人福利片| 三级欧美在线一区| 日韩激情av在线| 亚洲人成在线播放网站岛国| 亚洲色图清纯唯美| 亚洲精选视频免费看| 午夜免费久久看| 日本中文在线一区| 成人国产电影网| 欧美日韩成人在线一区| 精品国产伦一区二区三区观看体验 | 日韩欧美中文字幕公布| 精品欧美乱码久久久久久| 中文字幕av资源一区| 午夜电影网亚洲视频| 奇米综合一区二区三区精品视频| 韩国精品免费视频| 91国产视频在线观看| 久久精品欧美一区二区三区麻豆| 悠悠色在线精品| 国产成人av自拍| 欧美精品 国产精品| 国产精品99久久久久久似苏梦涵| 国产高清不卡一区| 91精品国产色综合久久不卡蜜臀| 国产精品久久二区二区| 国产一区二区三区蝌蚪| 成人av集中营| 久久久不卡网国产精品二区| 日韩高清一区在线| 色视频一区二区| 亚洲精品久久久蜜桃| 99在线热播精品免费| 91精品国产欧美一区二区| 国产精品国产三级国产普通话99| 国产精品一区二区不卡| 717成人午夜免费福利电影| 日本一区二区成人在线| 国产成人精品免费一区二区| 欧美一级搡bbbb搡bbbb| 日韩av网站免费在线| 欧美日韩免费高清一区色橹橹| 国产精品久久一级| 成人av在线播放网址| 亚洲天堂精品视频| 欧美日韩国产电影| 日日夜夜精品视频天天综合网| 欧美精品在线视频| 国产中文字幕一区| 中文字幕一区二区在线播放| 国产精品综合二区| 日韩理论片在线| 8x福利精品第一导航| 激情六月婷婷久久| 亚洲色图视频免费播放| 91精品久久久久久久99蜜桃| 韩国欧美一区二区| 国产亚洲婷婷免费| 欧美在线不卡视频| 国产精品亚洲综合一区在线观看| 中文字幕av一区二区三区高 | 久久99精品久久久久婷婷| 欧美性一二三区| 国产91精品入口| 久久99精品国产.久久久久久| 亚洲视频免费在线观看| 日韩免费高清av| 欧美亚洲自拍偷拍| 91美女视频网站| 国产乱一区二区| 久久99精品久久久久久国产越南| 亚洲天堂成人在线观看| 久久久久亚洲蜜桃| 精品国产人成亚洲区| 在线不卡免费欧美| 欧美日本韩国一区二区三区视频 | 久久69国产一区二区蜜臀| 亚洲综合自拍偷拍| 国产欧美日本一区二区三区| 日韩欧美美女一区二区三区| 精品视频999| 欧美日韩精品福利| 4438成人网| 麻豆91精品91久久久的内涵| 中文字幕一区不卡| 午夜精品一区在线观看| 九九精品视频在线看| 成人综合婷婷国产精品久久免费| 成人免费av资源| 欧美精品乱码久久久久久| 精品国产在天天线2019| 亚洲色图视频网站| 国产美女一区二区三区| 色婷婷av久久久久久久| 久久午夜羞羞影院免费观看| 亚洲男人的天堂在线aⅴ视频| 蜜桃免费网站一区二区三区| 国产ts人妖一区二区| 91精品国产aⅴ一区二区| 亚洲伦理在线精品| 国产成a人亚洲| 久久久综合视频| 日韩国产欧美在线播放| 欧美亚洲国产bt| 亚洲日本在线视频观看| 99久久久久久| 在线不卡中文字幕播放| 国产精品污www在线观看| 激情欧美一区二区三区在线观看| 在线观看不卡视频| 亚洲乱码国产乱码精品精可以看 | 欧洲精品中文字幕| 国产精品久久夜| 国产精品中文字幕欧美| 欧美成人一区二区三区片免费| 亚洲在线成人精品| 日本精品视频一区二区| 亚洲国产精品黑人久久久| 福利一区二区在线观看| 国产欧美日韩久久| 91免费看片在线观看| 一区二区三区久久久| 久久老女人爱爱| 本田岬高潮一区二区三区| 欧美日韩成人激情| 亚洲国产一区在线观看| 3d动漫精品啪啪一区二区竹菊 | 99久久精品一区二区| 日韩理论片在线| 91精品国产综合久久久久久久久久| 天天影视网天天综合色在线播放| 日韩欧美你懂的| 成人网在线播放| 香蕉加勒比综合久久| 亚洲精品在线观| 91麻豆免费观看| 激情深爱一区二区| 亚洲午夜羞羞片| 国产精品萝li| 欧美日韩dvd在线观看| 国产一区二区三区精品欧美日韩一区二区三区| 久久久一区二区| 8x8x8国产精品| 成人福利电影精品一区二区在线观看| 亚洲一区二区三区中文字幕在线| 欧美一卡二卡在线| 欧美日韩久久久久久| 成人一区二区在线观看| 美女一区二区久久| 亚洲va韩国va欧美va| 亚洲欧美日韩一区二区三区在线观看| 国产亚洲欧美日韩日本| 成人性生交大合| 五月综合激情婷婷六月色窝| 中文字幕日韩av资源站| 欧美精品一区二| 精品盗摄一区二区三区| 欧亚洲嫩模精品一区三区| 99久久婷婷国产综合精品| 不卡一二三区首页| 成人av免费网站| 91国产丝袜在线播放| 色天天综合久久久久综合片| eeuss鲁片一区二区三区在线看| 国产精品系列在线播放| 国产福利一区二区三区| 国产福利精品一区| 99久久免费视频.com| 色综合久久久久综合99| 色系网站成人免费| 欧美日韩精品一区二区三区蜜桃| 欧美色网一区二区| 日韩欧美国产一区二区三区| 久久午夜羞羞影院免费观看| 久久久亚洲精品石原莉奈| 中文字幕亚洲成人| 日本最新不卡在线| 国产精品一级二级三级| 一本色道**综合亚洲精品蜜桃冫| 精品视频一区三区九区| 日韩精品一区二区三区四区| 久久精品欧美一区二区三区麻豆| 亚洲激情欧美激情| 狠狠v欧美v日韩v亚洲ⅴ|