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

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? gencpu.c

?? 樹大根深三棱盡所標桿ssfsfsa fdsafs
?? C
?? 第 1 頁 / 共 5 頁
字號:
/*  * UAE - The Un*x Amiga Emulator * * MC68000 emulation generator * * This is a fairly stupid program that generates a lot of case labels that  * can be #included in a switch statement. * As an alternative, it can generate functions that handle specific * MC68000 instructions, plus a prototype header file and a function pointer * array to look up the function for an opcode. * Error checking is bad, an illegal table68k file will cause the program to * call abort(). * The generated code is sometimes sub-optimal, an optimizing compiler should  * take care of this. *  * (c) 1995 Bernd Schmidt *  */#include "sysdeps.h"#include <ctype.h>#include "readcpu.h"#define BOOL_TYPE "int"long int counts[65536];static int isspecific(int opcode){    return counts[opcode]>5;}static void read_counts(void){    FILE *file;    unsigned long opcode,count, total;    int trapcount=0;    int trap=0;    memset(counts, 0, sizeof counts);    file=fopen("insncount","r");    if(file)    {	fscanf(file,"Total: %d",&total);	while(fscanf(file,"%x: %d\n",&opcode,&count)==2)	{	    counts[opcode]=10000.0*count/total;	    if(isspecific(opcode))	    {		trapcount+=count;		trap++;	    }	}#if 0	fprintf(stderr,"trap %d function: %f%\n",trap,100.0*trapcount/total);#endif    }}static int n_braces = 0;static void start_brace(void){    n_braces++;    printf("{");}static void close_brace(void){    assert (n_braces > 0);    n_braces--;    printf("}");}static void finish_braces(void){    while (n_braces > 0)	close_brace();}static void pop_braces(int to){    while (n_braces > to)	close_brace();}static void genamode(amodes mode, char *reg, wordsizes size, char *name, int getv, int movem){    start_brace ();    switch(mode) {     case Dreg:	if (movem)	    abort();	if (getv)	    switch(size) {	  	     case sz_byte:		printf("\tBYTE %s = regs.d[%s];\n", name, reg);		break;	     case sz_word:		printf("\tWORD %s = regs.d[%s];\n", name, reg);		break;	     case sz_long:		printf("\tLONG %s = regs.d[%s];\n", name, reg);		break;	     default: abort();	    }	break;     case Areg:	if (movem)	    abort();	if (getv)	    switch(size) {	  	     case sz_word:		printf("\tWORD %s = regs.a[%s];\n", name, reg);		break;	     case sz_long:		printf("\tLONG %s = regs.a[%s];\n", name, reg);		break;	     default: abort();	    }	break;     case Aind:	printf("\tCPTR %sa = regs.a[%s];\n", name, reg);	if (getv)	    switch(size) {	  	     case sz_byte:		printf("\tBYTE %s = get_byte(%sa);\n", name, name);		break;	     case sz_word:		printf("\tWORD %s = get_word(%sa);\n", name, name);		break;	     case sz_long:		printf("\tLONG %s = get_long(%sa);\n", name, name);		break;	     default: abort();	    }	break;     case Aipi:	printf("\tCPTR %sa = regs.a[%s];\n", name, reg);	switch(size) {	 case sz_byte:	    	    if (getv) printf("\tBYTE %s = get_byte(%sa);\n", name, name);	    if (!movem) {		start_brace();		printf("\tregs.a[%s] += areg_byteinc[%s];\n", reg, reg);	    }	    break;	 case sz_word:	    if (getv) printf("\tWORD %s = get_word(%sa);\n", name, name);	    if (!movem) {		start_brace();		printf("\tregs.a[%s] += 2;\n", reg);	    }	    break;	 case sz_long:	    if (getv) printf("\tLONG %s = get_long(%sa);\n", name, name);	    if (!movem) {		start_brace();		printf("\tregs.a[%s] += 4;\n", reg);	    }	    break;	 default: abort();	}	break;     case Apdi:	switch(size) {	  	 case sz_byte:	    if (!movem) printf("\tregs.a[%s] -= areg_byteinc[%s];\n", reg, reg);	    start_brace();	    printf("\tCPTR %sa = regs.a[%s];\n", name, reg);	    if (getv) printf("\tBYTE %s = get_byte(%sa);\n", name, name);	    break;	 case sz_word:	    if (!movem) printf("\tregs.a[%s] -= 2;\n", reg);	    start_brace();	    printf("\tCPTR %sa = regs.a[%s];\n", name, reg);	    if (getv) printf("\tWORD %s = get_word(%sa);\n", name, name);	    break;	 case sz_long:	    if (!movem) printf("\tregs.a[%s] -= 4;\n", reg);	    start_brace();	    printf("\tCPTR %sa = regs.a[%s];\n", name, reg);	    if (getv) printf("\tLONG %s = get_long(%sa);\n", name, name);	    break;	 default: abort();	}	break;     case Ad16:	printf("\tCPTR %sa = regs.a[%s] + (LONG)(WORD)nextiword();\n", name, reg);	if (getv) 	    switch(size) {	  	     case sz_byte:		printf("\tBYTE %s = get_byte(%sa);\n", name, name);		break;	     case sz_word:		printf("\tWORD %s = get_word(%sa);\n", name, name);		break;	     case sz_long:		printf("\tLONG %s = get_long(%sa);\n", name, name);		break;	     default: abort();	    }	break;     case Ad8r:	printf("\tCPTR %sa = regs.a[%s];\n", name, reg);#if 0	printf("\tUWORD %sdp = nextiword();\n", name);	printf("\t%sa += (LONG)(BYTE)(%sdp & 0xFF);\n", name, name);	start_brace();	printf("\tULONG %sdpr = %sdp & 0x8000 ? regs.a[(%sdp & 0x7000) >> 12] : regs.d[(%sdp & 0x7000) >> 12];\n", name, name, name, name);	printf("\tif (!(%sdp & 0x800)) %sdpr = (LONG)(WORD)%sdpr;\n", name, name, name);	printf("\t%sa += %sdpr;\n", name, name);#endif	printf("\t%sa = get_disp_ea (%sa, nextiword());\n", name, name);	if (getv) {	    start_brace();	    switch(size) {	  	     case sz_byte:		printf("\tBYTE %s = get_byte(%sa);\n", name, name);		break;	     case sz_word:		printf("\tWORD %s = get_word(%sa);\n", name, name);		break;	     case sz_long:		printf("\tLONG %s = get_long(%sa);\n", name, name);		break;	     default: abort();	    }	}	break;     case PC16:	printf("\tCPTR %sa = m68k_getpc();\n", name);	printf("\t%sa += (LONG)(WORD)nextiword();\n", name);	if (getv) {	    start_brace();	    switch(size) {	  	     case sz_byte:		printf("\tBYTE %s = get_byte(%sa);\n", name, name);		break;	     case sz_word:		printf("\tWORD %s = get_word(%sa);\n", name, name);		break;	     case sz_long:		printf("\tLONG %s = get_long(%sa);\n", name, name);		break;	     default: abort();	    }	}	break;     case PC8r:	printf("\tCPTR %sa = m68k_getpc();\n", name);#if 0	printf("\tUWORD %sdp = nextiword();\n", name);	printf("\t%sa += (LONG)(BYTE)(%sdp & 0xFF);\n", name, name);	start_brace();	printf("\tULONG %sdpr = %sdp & 0x8000 ? regs.a[(%sdp & 0x7000) >> 12] : regs.d[(%sdp & 0x7000) >> 12];\n", name, name, name, name);	printf("\tif (!(%sdp & 0x800)) %sdpr = (LONG)(WORD)%sdpr;\n", name, name, name);	printf("\t%sa += %sdpr;\n", name, name);#endif	printf("\t%sa = get_disp_ea (%sa, nextiword());\n", name, name);	if (getv) {	    start_brace();	    switch(size) {	  	     case sz_byte:		printf("\tBYTE %s = get_byte(%sa);\n", name, name);		break;	     case sz_word:		printf("\tWORD %s = get_word(%sa);\n", name, name);		break;	     case sz_long:		printf("\tLONG %s = get_long(%sa);\n", name, name);		break;	     default: abort();	    }	}	break;     case absw:	printf("\tCPTR %sa = (LONG)(WORD)nextiword();\n", name);	if (getv) 	    switch(size) {	  	     case sz_byte:		printf("\tBYTE %s = get_byte(%sa);\n", name, name);		break;	     case sz_word:		printf("\tWORD %s = get_word(%sa);\n", name, name);		break;	     case sz_long:		printf("\tLONG %s = get_long(%sa);\n", name, name);		break;	     default: abort();	    }	break;     case absl:	printf("\tCPTR %sa = nextilong();\n", name);	if (getv) 	    switch(size) {	  	     case sz_byte:		printf("\tBYTE %s = get_byte(%sa);\n", name, name);		break;	     case sz_word:		printf("\tWORD %s = get_word(%sa);\n", name, name);		break;	     case sz_long:		printf("\tLONG %s = get_long(%sa);\n", name, name);		break;	     default: abort();	    }	break;     case imm:	if (getv) 	    switch(size) {	     case sz_byte:		printf("\tBYTE %s = nextiword();\n", name);		break;	     case sz_word:		printf("\tWORD %s = nextiword();\n", name);		break;	     case sz_long:		printf("\tLONG %s = nextilong();\n", name);		break;	     default: abort();	    }	break;     case imm0:	if (!getv) abort();	printf("\tBYTE %s = nextiword();\n", name);	break;     case imm1:	if (!getv) abort();	printf("\tWORD %s = nextiword();\n", name);	break;     case imm2:	if (!getv) abort();        printf("\tLONG %s = nextilong();\n", name);	break;     case immi:	if (!getv) abort();	printf("\tULONG %s = %s;\n", name, reg);	break;     default: 	abort();    }}static void genastore(char *from, amodes mode, char *reg, wordsizes size, char *to){    switch(mode) {     case Dreg:	switch(size) {	  	 case sz_byte:	    printf("\tregs.d[%s] &= ~0xff; regs.d[%s] |= (%s) & 0xff;\n", reg, reg, from);	    break;	 case sz_word:	    printf("\tregs.d[%s] &= ~0xffff; regs.d[%s] |= (%s) & 0xffff;\n", reg, reg, from);	    break;	 case sz_long:	    printf("\tregs.d[%s] = (%s);\n", reg, from);	    break;	 default: abort();	}	break;     case Areg:	switch(size) {	  	 case sz_word:	    printf("\tregs.a[%s] = (LONG)(WORD)(%s);\n", reg, from);	    break;	 case sz_long:	    printf("\tregs.a[%s] = (%s);\n", reg, from);	    break;	 default: abort();	}	break;     case Aind:     case Aipi:     case Apdi:     case Ad16:     case Ad8r:

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美一区二区啪啪| 国产校园另类小说区| 亚洲欧洲综合另类| 成人性生交大合| 日韩精品一区二区三区在线 | 国产很黄免费观看久久| 欧美成人一级视频| 天天影视网天天综合色在线播放 | 91免费观看视频| 一区二区中文视频| 91在线免费看| 亚洲综合清纯丝袜自拍| 欧美艳星brazzers| 亚洲成人三级小说| 欧美日韩三级视频| 日本中文字幕一区二区视频| 欧美肥妇bbw| 狠狠网亚洲精品| 国产精品对白交换视频| 欧美日韩国产美| 狠狠色狠狠色综合| 国产精品婷婷午夜在线观看| 欧美性大战久久| 久久99国产精品麻豆| 亚洲欧美电影一区二区| 欧美一区二区美女| 成人性生交大合| 蜜桃在线一区二区三区| 国产精品免费视频一区| 欧美一区二区不卡视频| 一本一道综合狠狠老| 狠狠狠色丁香婷婷综合激情| 亚洲视频一区二区在线| 精品日韩一区二区三区 | av亚洲精华国产精华| 亚洲欧美一区二区不卡| 欧美成人欧美edvon| 色综合天天狠狠| 国内精品写真在线观看| 夜夜精品浪潮av一区二区三区| 91精品国产乱| 成人免费视频视频在线观看免费| 亚洲主播在线观看| 中文字幕免费不卡| 精品少妇一区二区三区免费观看| 国产成人免费9x9x人网站视频| 亚洲午夜电影在线观看| 日韩毛片精品高清免费| 日本一区二区免费在线观看视频| 欧美一级二级三级乱码| 欧美精品 国产精品| 在线观看欧美黄色| 95精品视频在线| 国产精品综合网| 国产精品亚洲第一| 国产一区二区久久| 国产一区999| 成人aa视频在线观看| av在线这里只有精品| 韩国一区二区三区| 国产中文字幕精品| 国产69精品久久久久777| 大陆成人av片| 色激情天天射综合网| 欧美性受xxxx| 欧美精品黑人性xxxx| 日韩欧美一二三四区| 精品国产三级a在线观看| 国产日韩欧美精品综合| 亚洲精品成人悠悠色影视| 亚洲r级在线视频| 国产麻豆欧美日韩一区| 91精品国产欧美日韩| 精品粉嫩aⅴ一区二区三区四区| 久久久亚洲精品石原莉奈| 亚洲精品视频自拍| 亚洲成人资源在线| 国产成人亚洲精品狼色在线| 91网址在线看| 久久久91精品国产一区二区精品| 久久久久久久电影| 亚洲二区视频在线| 高清在线不卡av| 日韩欧美国产综合| 一区二区在线免费观看| 韩国三级中文字幕hd久久精品| 97成人超碰视| 久久久91精品国产一区二区精品| 夜夜亚洲天天久久| 成人午夜激情在线| 欧美性淫爽ww久久久久无| 日韩欧美国产综合| 偷窥国产亚洲免费视频| 99这里都是精品| 日韩午夜在线观看视频| 亚洲国产一区二区在线播放| 国产高清不卡二三区| 6080日韩午夜伦伦午夜伦| 亚洲无线码一区二区三区| 成人免费视频视频| 久久亚洲春色中文字幕久久久| 亚洲国产精品嫩草影院| 91在线免费视频观看| 国产性色一区二区| 国产成人午夜片在线观看高清观看| 久久尤物电影视频在线观看| 日韩影视精彩在线| 69堂精品视频| 狠狠狠色丁香婷婷综合激情 | 日本一区二区视频在线| 男男成人高潮片免费网站| 91精品国产色综合久久不卡电影| 午夜久久久久久久久| 91.xcao| 国产乱码精品一品二品| 亚洲国产精品t66y| 91豆麻精品91久久久久久| 日韩专区在线视频| 欧美日韩激情一区| 丁香激情综合国产| 亚洲va国产天堂va久久en| 欧美成va人片在线观看| 在线观看成人小视频| 久久99国产精品久久99果冻传媒| 中文字幕欧美日韩一区| 欧美日韩在线免费视频| 国产成人av网站| 午夜影视日本亚洲欧洲精品| 精品福利av导航| 欧美在线你懂的| 国产精品白丝jk白祙喷水网站 | 91老师国产黑色丝袜在线| 日韩精品色哟哟| 亚洲精品自拍动漫在线| 久久久久国产成人精品亚洲午夜| 欧美日韩精品一区二区天天拍小说| 国精品**一区二区三区在线蜜桃| 夜夜精品浪潮av一区二区三区 | 99久久精品国产一区| 国内外精品视频| 日韩在线一区二区| 一区二区三区高清| 亚洲精品水蜜桃| 18欧美亚洲精品| 中文字幕久久午夜不卡| 欧美韩日一区二区三区| 久久九九久久九九| 自拍偷拍国产亚洲| 国产情人综合久久777777| 日韩欧美黄色影院| 久久久三级国产网站| 欧美日韩国产另类不卡| 欧美在线啊v一区| 精品视频一区三区九区| 欧美日韩国产精品成人| 日韩一级视频免费观看在线| 日韩一区二区三区四区五区六区 | www久久精品| 精品久久久久久最新网址| 久久综合久久久久88| 国产蜜臀97一区二区三区 | 欧美精选一区二区| 日韩欧美三级在线| 中文字幕精品在线不卡| 亚洲同性gay激情无套| 亚洲日本一区二区三区| 一区二区三区在线高清| 精品一区二区免费| 国产在线观看一区二区| 国产乱对白刺激视频不卡| 精品一区二区免费在线观看| 国产精品99久久久| 色一情一乱一乱一91av| 在线免费观看不卡av| 精品少妇一区二区三区免费观看 | 7777精品伊人久久久大香线蕉的| 日韩欧美激情一区| 亚洲精选一二三| 国产风韵犹存在线视精品| 91视视频在线观看入口直接观看www| 日本福利一区二区| 久久只精品国产| 日韩精品91亚洲二区在线观看| 高清成人在线观看| 精品sm捆绑视频| 免费在线一区观看| 欧美三级日韩在线| 一区二区三区成人在线视频| www.99精品| 亚洲精品大片www| www.欧美日韩| 亚洲视频你懂的| 99久久99久久免费精品蜜臀| 国产日韩精品一区二区三区 | 樱花草国产18久久久久| 99久久99久久综合| 亚洲欧美另类久久久精品2019| 播五月开心婷婷综合| 国产精品久久久久久久久晋中 | 91麻豆精品国产91久久久|