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

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

?? readcpu.c

?? 十七種模擬器源代碼 非常有用的作課程設計不可缺少的
?? C
?? 第 1 頁 / 共 2 頁
字號:
#include "68020.h"#include "readcpu.h"#define CPU_EMU_SIZE 0int nr_cpuop_funcs;struct mnemolookup lookuptab[] = {    { i_ILLG, "ILLEGAL" },    { i_OR, "OR" },    { i_CHK, "CHK" },    { i_CHK2, "CHK2" },    { i_AND, "AND" },    { i_EOR, "EOR" },    { i_ORSR, "ORSR" },    { i_ANDSR, "ANDSR" },    { i_EORSR, "EORSR" },    { i_SUB, "SUB" },    { i_SUBA, "SUBA" },    { i_SUBX, "SUBX" },    { i_SBCD, "SBCD" },    { i_ADD, "ADD" },    { i_ADDA, "ADDA" },    { i_ADDX, "ADDX" },    { i_ABCD, "ABCD" },    { i_NEG, "NEG" },    { i_NEGX, "NEGX" },    { i_NBCD, "NBCD" },    { i_CLR, "CLR" },    { i_NOT, "NOT" },    { i_TST, "TST" },    { i_BTST, "BTST" },    { i_BCHG, "BCHG" },    { i_BCLR, "BCLR" },    { i_BSET, "BSET" },    { i_CMP, "CMP" },    { i_CMPM, "CMPM" },    { i_CMPA, "CMPA" },    { i_MVPRM, "MVPRM" },    { i_MVPMR, "MVPMR" },    { i_MOVE, "MOVE" },    { i_MOVEA, "MOVEA" },    { i_MVSR2, "MVSR2" },    { i_MV2SR, "MV2SR" },    { i_SWAP, "SWAP" },    { i_EXG, "EXG" },    { i_EXT, "EXT" },    { i_MVMEL, "MVMEL" },    { i_MVMLE, "MVMLE" },    { i_TRAP, "TRAP" },    { i_MVR2USP, "MVR2USP" },    { i_MVUSP2R, "MVUSP2R" },    { i_NOP, "NOP" },    { i_RESET, "RESET" },    { i_RTE, "RTE" },    { i_RTD, "RTD" },    { i_LINK, "LINK" },    { i_UNLK, "UNLK" },    { i_RTS, "RTS" },    { i_STOP, "STOP" },    { i_TRAPV, "TRAPV" },    { i_RTR, "RTR" },    { i_JSR, "JSR" },    { i_JMP, "JMP" },    { i_BSR, "BSR" },    { i_Bcc, "Bcc" },    { i_LEA, "LEA" },    { i_PEA, "PEA" },    { i_DBcc, "DBcc" },    { i_Scc, "Scc" },    { i_DIVU, "DIVU" },    { i_DIVS, "DIVS" },    { i_MULU, "MULU" },    { i_MULS, "MULS" },    { i_ASR, "ASR" },    { i_ASL, "ASL" },    { i_LSR, "LSR" },    { i_LSL, "LSL" },    { i_ROL, "ROL" },    { i_ROR, "ROR" },    { i_ROXL, "ROXL" },    { i_ROXR, "ROXR" },    { i_ASRW, "ASRW" },    { i_ASLW, "ASLW" },    { i_LSRW, "LSRW" },    { i_LSLW, "LSLW" },    { i_ROLW, "ROLW" },    { i_RORW, "RORW" },    { i_ROXLW, "ROXLW" },    { i_ROXRW, "ROXRW" },    { i_MOVE2C, "MOVE2C" },    { i_MOVEC2, "MOVEC2" },    { i_CAS, "CAS" },    { i_CAS2, "CAS2" },    { i_MULL, "MULL" },    { i_DIVL, "DIVL" },    { i_BFTST, "BFTST" },    { i_BFEXTU, "BFEXTU" },    { i_BFCHG, "BFCHG" },    { i_BFEXTS, "BFEXTS" },    { i_BFCLR, "BFCLR" },    { i_BFFFO, "BFFFO" },    { i_BFSET, "BFSET" },    { i_BFINS, "BFINS" },    { i_PACK, "PACK" },    { i_UNPK, "UNPK" },    { i_TAS, "TAS" },    { i_BKPT, "BKPT" },    { i_CALLM, "CALLM" },    { i_RTM, "RTM" },    { i_TRAPcc, "TRAPcc" },    { i_MOVES, "MOVES" },    { i_FPP, "FPP" },    { i_FDBcc, "FDBcc" },    { i_FScc, "FScc" },    { i_FTRAPcc, "FTRAPcc" },    { i_FBcc, "FBcc" },    { i_FBcc, "FBcc" },    { i_FSAVE, "FSAVE" },    { i_FRESTORE, "FRESTORE" },    { i_MMUOP, "MMUOP" },    { i_ILLG, "" },};struct instr *table68k;// Remove libc referencesstatic int u020_strncmp(const char *a, const char *b, int len){   int i;   for(i=0;i<len;i++){      if(a[i] != b[i])         return 1;   }   return 0;}static void u020_abort(void){}static int u020_isspace(char a){   if((a == 0x20) || (a == 0x0D) || (a == 0x0A) || (a == 0x09))      return 1;   else      return 0;}static DEF_INLINE amodes mode_from_str(const char *str){    if (! u020_strncmp(str,"Dreg",4)) return Dreg;    if (! u020_strncmp(str,"Areg",4)) return Areg;    if (! u020_strncmp(str,"Aind",4)) return Aind;    if (! u020_strncmp(str,"Apdi",4)) return Apdi;    if (! u020_strncmp(str,"Aipi",4)) return Aipi;    if (! u020_strncmp(str,"Ad16",4)) return Ad16;    if (! u020_strncmp(str,"Ad8r",4)) return Ad8r;    if (! u020_strncmp(str,"absw",4)) return absw;    if (! u020_strncmp(str,"absl",4)) return absl;    if (! u020_strncmp(str,"PC16",4)) return PC16;    if (! u020_strncmp(str,"PC8r",4)) return PC8r;    if (! u020_strncmp(str,"Immd",4)) return imm;    u020_abort();    return(0);}static DEF_INLINE amodes mode_from_mr(int mode, int reg){    switch(mode) {     case 0: return Dreg;     case 1: return Areg;     case 2: return Aind;     case 3: return Aipi;     case 4: return Apdi;     case 5: return Ad16;     case 6: return Ad8r;     case 7:	switch(reg) {	 case 0: return absw;	 case 1: return absl;	 case 2: return PC16;	 case 3: return PC8r;	 case 4: return imm;	 case 5:	 case 6:	 case 7: return am_illg;	}    }    u020_abort();    return(0);}static void build_insn(int insn){    int find = -1;    int variants;    struct instr_def id;    const char *opcstr;    int i;    int flaglive = 0, flagdead = 0;    id = defs68k[insn];    for(i = 0; i < 5; i++) {	switch(id.flaginfo[i].flagset){	 case fa_unset: break;	 case fa_isjmp: break;	 case fa_zero: flagdead |= 1 << i; break;	 case fa_one: flagdead |= 1 << i; break;	 case fa_dontcare: flagdead |= 1 << i; break;	 case fa_unknown: flagdead = -1; goto out1;	 case fa_set: flagdead |= 1 << i; break;	}    }    out1:    for(i = 0; i < 5; i++) {	switch(id.flaginfo[i].flaguse) {	 case fu_unused: break;	 case fu_isjmp: flaglive |= 1 << i; break;	 case fu_maybecc: flaglive |= 1 << i; break;	 case fu_unknown: flaglive = -1; goto out2;	 case fu_used: flaglive |= 1 << i; break;	}    }    out2:    opcstr = id.opcstr;    for (variants = 0; variants < (1 << id.n_variable); variants++) {	int bitcnt[lastbit];	int bitval[lastbit];	int bitpos[lastbit];	int i;	uae_u16 opc = id.bits;	uae_u16 msk, vmsk;	int pos = 0;	int mnp = 0;	int bitno = 0;	char mnemonic[10];	wordsizes sz = sz_long;	int srcgather = 0, dstgather = 0;	int usesrc = 0, usedst = 0;	int srctype = 0;	int srcpos = -1, dstpos = -1;	amodes srcmode = am_unknown, destmode = am_unknown;	int srcreg = -1, destreg = -1;	for(i = 0; i < lastbit; i++)	    bitcnt[i] = bitval[i] = 0;	vmsk = 1 << id.n_variable;	for(i = 0, msk = 0x8000; i < 16; i++, msk >>= 1) {	    if (!(msk & id.mask)) {		int currbit = id.bitpos[bitno++];		int bit_set;		vmsk >>= 1;		bit_set = variants & vmsk ? 1 : 0;		if (bit_set)		    opc |= msk;		bitpos[currbit] = 15 - i;		bitcnt[currbit]++;		bitval[currbit] <<= 1;		bitval[currbit] |= bit_set;	    }	}	if (bitval[bitj] == 0) bitval[bitj] = 8;	/* first check whether this one does not match after all */	if (bitval[bitz] == 3 || bitval[bitC] == 1)	    continue;	if (bitcnt[bitI] && (bitval[bitI] == 0x00 || bitval[bitI] == 0xff))	    continue;	/* bitI and bitC get copied to biti and bitc */	if (bitcnt[bitI]) {	    bitval[biti] = bitval[bitI]; bitpos[biti] = bitpos[bitI];	}	if (bitcnt[bitC])	    bitval[bitc] = bitval[bitC];	pos = 0;	while (opcstr[pos] && !u020_isspace(opcstr[pos])) {	    if (opcstr[pos] == '.') {		pos++;		switch(opcstr[pos]) {		 case 'B': sz = sz_byte; break;		 case 'W': sz = sz_word; break;		 case 'L': sz = sz_long; break;		 case 'z':		    switch(bitval[bitz]) {		     case 0: sz = sz_byte; break;		     case 1: sz = sz_word; break;		     case 2: sz = sz_long; break;		     default: u020_abort();		    }		    break;		 default: u020_abort();		}	    } else {		mnemonic[mnp] = opcstr[pos];		if(mnemonic[mnp] == 'f') {		    find = -1;		    switch(bitval[bitf]) {		     case 0: mnemonic[mnp] = 'R'; break;		     case 1: mnemonic[mnp] = 'L'; break;		     default: u020_abort();		    }		}		mnp++;	    }	    pos++;	}	mnemonic[mnp] = 0;	/* now, we have read the mnemonic and the size */	while (opcstr[pos] && u020_isspace(opcstr[pos]))	    pos++;	/* A goto a day keeps the D******a away. */	if (opcstr[pos] == 0)	    goto endofline;	/* parse the source address */	usesrc = 1;	switch(opcstr[pos++]) {	 case 'D':	    srcmode = Dreg;	    switch (opcstr[pos++]) {	     case 'r': srcreg = bitval[bitr]; srcgather = 1; srcpos = bitpos[bitr]; break;	     case 'R': srcreg = bitval[bitR]; srcgather = 1; srcpos = bitpos[bitR]; break;	     default: u020_abort();	    }	    break;	 case 'A':	    srcmode = Areg;	    switch (opcstr[pos++]) {	     case 'r': srcreg = bitval[bitr]; srcgather = 1; srcpos = bitpos[bitr]; break;	     case 'R': srcreg = bitval[bitR]; srcgather = 1; srcpos = bitpos[bitR]; break;	     default: u020_abort();	    }	    switch (opcstr[pos]) {	     case 'p': srcmode = Apdi; pos++; break;	     case 'P': srcmode = Aipi; pos++; break;	    }	    break;	 case '#':	    switch(opcstr[pos++]) {	     case 'z': srcmode = imm; break;	     case '0': srcmode = imm0; break;	     case '1': srcmode = imm1; break;	     case '2': srcmode = imm2; break;	     case 'i': srcmode = immi; srcreg = (uae_s32)(uae_s8)bitval[biti];		if (CPU_EMU_SIZE < 4) {		    /* Used for branch instructions */		    srctype = 1;		    srcgather = 1;		    srcpos = bitpos[biti];		}		break;	     case 'j': srcmode = immi; srcreg = bitval[bitj];		if (CPU_EMU_SIZE < 3) {		    /* 1..8 for ADDQ/SUBQ and rotshi insns */		    srcgather = 1;		    srctype = 3;		    srcpos = bitpos[bitj];		}		break;	     case 'J': srcmode = immi; srcreg = bitval[bitJ];		if (CPU_EMU_SIZE < 5) {		    /* 0..15 */		    srcgather = 1;		    srctype = 2;		    srcpos = bitpos[bitJ];		}		break;	     case 'k': srcmode = immi; srcreg = bitval[bitk];		if (CPU_EMU_SIZE < 3) {		    srcgather = 1;		    srctype = 4;		    srcpos = bitpos[bitk];		}		break;	     case 'K': srcmode = immi; srcreg = bitval[bitK];		if (CPU_EMU_SIZE < 5) {		    /* 0..15 */		    srcgather = 1;		    srctype = 5;		    srcpos = bitpos[bitK];		}		break;	     default: u020_abort();	    }	    break;	 case 'd':	    srcreg = bitval[bitD];	    srcmode = mode_from_mr(bitval[bitd],bitval[bitD]);	    if (srcmode == am_illg) continue;	    if (CPU_EMU_SIZE < 2 &&		(srcmode == Areg || srcmode == Dreg || srcmode == Aind		 || srcmode == Ad16 || srcmode == Ad8r || srcmode == Aipi

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
免费在线观看视频一区| 91女人视频在线观看| 久久综合色一综合色88| 91老司机福利 在线| 欧美电影免费观看高清完整版在线观看| 国产一区二区精品在线观看| 亚洲一区免费视频| 国产精品情趣视频| 国产日产亚洲精品系列| 国产欧美精品日韩区二区麻豆天美| 亚洲午夜精品网| 日韩在线一二三区| 日本不卡一区二区三区高清视频| 日韩av在线播放中文字幕| 色婷婷一区二区三区四区| 99精品视频一区二区三区| 91网址在线看| 欧美激情一区三区| 亚洲一区二区不卡免费| 成人av网站免费观看| 色综合久久99| 中文字幕综合网| 亚洲国产日韩一区二区| 99久久免费精品高清特色大片| 久久精品人人爽人人爽| 国产成人一级电影| av一本久道久久综合久久鬼色| 看片网站欧美日韩| 午夜精品在线视频一区| 精品一区二区三区影院在线午夜| 成人午夜视频免费看| 欧美色倩网站大全免费| 日韩视频在线观看一区二区| 久久影视一区二区| 精品一区二区三区不卡 | 久久久久97国产精华液好用吗| 中文字幕中文字幕中文字幕亚洲无线| 精品国产91乱码一区二区三区| 国产精品初高中害羞小美女文| 高清不卡在线观看av| 欧美日韩一二区| 亚洲综合在线观看视频| 麻豆精品国产传媒mv男同| 91猫先生在线| 亚洲一区二区三区视频在线| 欧美私人免费视频| 欧美精彩视频一区二区三区| 成人综合激情网| 亚洲黄色免费网站| 风间由美性色一区二区三区| 欧美国产欧美亚州国产日韩mv天天看完整 | 另类小说色综合网站| 欧美一级片免费看| 中文字幕亚洲综合久久菠萝蜜| 爽好多水快深点欧美视频| 91精品国产综合久久久蜜臀粉嫩| 久久精品网站免费观看| 成人福利视频网站| 亚洲va欧美va天堂v国产综合| 成人做爰69片免费看网站| 中文字幕一区二区三区在线不卡| 色国产精品一区在线观看| 国产欧美1区2区3区| 91久久国产综合久久| 美美哒免费高清在线观看视频一区二区 | 欧美国产欧美综合| 欧美影院精品一区| 精东粉嫩av免费一区二区三区| 一区在线观看视频| 欧美一卡在线观看| av中文字幕一区| 久久er99热精品一区二区| 综合久久一区二区三区| 日韩视频在线你懂得| 91在线免费视频观看| 久久电影网站中文字幕| 亚洲免费观看高清完整版在线 | 国产精品久线观看视频| 欧美午夜电影在线播放| 国产精品一色哟哟哟| 精品国产乱码久久久久久闺蜜| av中文字幕一区| 精品一区二区久久久| 亚洲无人区一区| 国产精品久久久久久久久免费樱桃 | 午夜国产精品影院在线观看| 中文字幕不卡的av| 欧美成人一区二区三区| 国产一区二区成人久久免费影院 | 色综合中文字幕国产 | 国产在线视频一区二区| 久久一日本道色综合| 色国产精品一区在线观看| 老色鬼精品视频在线观看播放| 艳妇臀荡乳欲伦亚洲一区| 亚洲国产激情av| 精品美女一区二区| 91精品国产欧美一区二区18| 欧美在线一区二区| 日韩精品国产欧美| 亚洲欧美日韩国产成人精品影院| 久久综合五月天婷婷伊人| 欧美日韩精品久久久| 午夜国产精品影院在线观看| 亚洲男人都懂的| 国产精品剧情在线亚洲| 国产清纯在线一区二区www| 日韩欧美一区在线| 制服丝袜激情欧洲亚洲| 欧美性猛片xxxx免费看久爱| 91丨porny丨最新| 床上的激情91.| 大白屁股一区二区视频| 福利一区二区在线观看| 成人永久免费视频| 国内精品嫩模私拍在线| 精品亚洲国产成人av制服丝袜| 日韩精品乱码av一区二区| 日韩精品成人一区二区在线| 午夜成人在线视频| 麻豆成人91精品二区三区| 蜜臀av性久久久久av蜜臀妖精| 久久精品国产免费| 韩国av一区二区三区四区| 国内精品免费**视频| 国产在线日韩欧美| 国产福利91精品一区二区三区| 国产福利精品导航| 91视频免费看| 欧美日韩免费视频| 91麻豆精品久久久久蜜臀 | 老司机精品视频导航| 精品伊人久久久久7777人| 国产精品自拍三区| 99久精品国产| 在线电影欧美成精品| 成人av网站在线观看| 在线观看成人免费视频| 欧美日韩国产高清一区| 欧美成人精精品一区二区频| 国产日韩三级在线| 亚洲欧洲精品一区二区三区 | 中文乱码免费一区二区| 日韩毛片精品高清免费| 亚洲亚洲人成综合网络| 美腿丝袜在线亚洲一区| 成人ar影院免费观看视频| 精品国产一区二区三区不卡| 国产自产视频一区二区三区| 国产福利精品一区| 色综合久久综合| 7777精品伊人久久久大香线蕉| 精品国产一区二区三区av性色| 成人免费一区二区三区视频| 日日嗨av一区二区三区四区| 国产91富婆露脸刺激对白| 91国产免费观看| 欧美精品一区二区三区一线天视频| 国产精品久久福利| 三级欧美在线一区| 成人精品国产一区二区4080| 欧美日韩精品欧美日韩精品| 国产精品色一区二区三区| 日本欧美一区二区三区乱码| 成人禁用看黄a在线| 欧美一级生活片| 中文字幕中文乱码欧美一区二区| 免费日本视频一区| 日本韩国欧美三级| 国产午夜亚洲精品午夜鲁丝片| 亚洲午夜私人影院| 欧美a级一区二区| www.亚洲在线| 欧美tickling挠脚心丨vk| 一区二区三区四区在线免费观看| 国产精品资源在线观看| 欧美一区二区私人影院日本| 亚洲综合视频网| av资源站一区| 中文av一区二区| 国产精品小仙女| 亚洲精品一区二区三区在线观看 | 91精品黄色片免费大全| 亚洲男帅同性gay1069| 波多野结衣中文字幕一区| 精品国产91乱码一区二区三区| 日本aⅴ免费视频一区二区三区| 欧美午夜精品久久久久久孕妇| 国产精品成人免费在线| 粉嫩高潮美女一区二区三区| 欧美v日韩v国产v| 麻豆精品一区二区综合av| 欧美嫩在线观看| 丝袜美腿亚洲一区| 欧美日韩一区二区三区不卡| 一区二区国产视频| 在线精品国精品国产尤物884a| 一区二区三区在线观看国产| 色综合天天综合网国产成人综合天| 中文字幕日韩精品一区|