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

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

?? arm9es.h

?? 一個任天堂掌上游戲機NDS的源代碼
?? H
?? 第 1 頁 / 共 2 頁
字號:
/**************************************************************************
* DSemu - The Next Generation                                             *
* Portable ARM9ES core: Class definition [arm9es.h]                       *
* Copyright Imran Nazar, 2005; released under the BSD public licence.     *
**************************************************************************/

#ifndef __ARM9ES_H_
#define __ARM9ES_H_

#include <utility>
#include <map>
#include <stdio.h>
#include "defs.h"
#include "plgcpu.h"
#include "plgmmu32.h"
#include "plggui.h"
#include "datadefs.h"
#include "armdasm.h"
#include "armcopro.h"

// An implementation of the CPU plugin interface.
class ARM9ES : public CPUPlugin
{
    public:
        ARM9ES(std::string name,REQPTR req, UNREQPTR unreq);
        ~ARM9ES();

        PLUGININFO *getinfo();
        void reset();
        void release();
        void status(int,int);

        int exec(int);
	void clockAdd(int);
	void interrupt(int);
	
	void dbgBkptToggle(u32);
	std::map<u32, int> dbgBkptGet();

	void setPC(u32);

    private:

        //---Plugin-generic stuff
        std::string pName, pClass;
        REQPTR pRequest;
        UNREQPTR pUnrequest;
	static PLUGININFO pInfo;
        
        static std::string pluginName;

	//---Start of the stuff we'll be needing
        static MMU32Plugin *MMU;
	static GUIPlugin *GUI;
	
	static u32 *dbgbuffer;
	static int dbgwinID;
        static ARMDasm dasm;
	static u32 rdWhelper(u32);

        static FILE *dumpfile;
	
        //---Register set
        typedef struct {
            u32 r[16], cpsr, spsr[7], flags[8];
            u32 curop, curmode;
            uint64_t clkcount;

            u32 r0,r1,r2,r3,r4,r5,r6,r7,r8,r9,r10,r11,r12,r13,r14,r15;
            u32 r8fiq, r9fiq, r10fiq, r11fiq, r12fiq, r13fiq, r14fiq;
            u32 r13svc, r14svc, r13abt, r14abt, r13irq, r14irq, r13und, r14und;

            u32 tmp1, tmp2, tmp3, tmp4, tmpc;
	    uint64_t tmp64_1, tmp64_2;
        } REGS;

        static REGS reg;

        static std::map<u32, int> bkpts;

	//---Internal flag to/from CPSR helpers
        static void cpsrSplit(), cpsrUpdate();
	
        //---Coprocessors
	static ARMCopro *copro[16];
	
        //---Opcode tables
        typedef int OPCODE;
        typedef OPCODE (*opfptr)();
	typedef int (*intfptr)();

        static const opfptr OLUT[4096];
	static const opfptr TLUT[256];
	static const intfptr condLUT[16];

	//---Mode-switching
	static const char *modeStrings[7];
	static const int modeToCpsrLUT[7];
	static const int modeFromCpsrLUT[16];
	static void modeSwitch(int, int);

        //---Conditional execution helpers
	static int condEQ(), condNE(), condCS(), condCC();
	static int condMI(), condPL(), condVS(), condVC();
	static int condHI(), condLS(), condGE(), condLT();
	static int condGT(), condLE(), condAL(), condNV();
	
        //---Instructions

	// Helper functions
	static u32 nlpo2(u32);
	static int ssum16(u16);
        
	static OPCODE opUNP();   // Unpredictable op
        static OPCODE opUND();   // Undefined op
        static OPCODE opUNI();   // Unimplemented op
	static OPCODE opUNL();   // Unlinked (opcode cache filler)
	
        //---Branch (with Link)----------------------------------------------------

        static OPCODE opB(), opBL();
        static OPCODE opBX();
	
        static OPCODE opBLX(), opBLXr();

        //---DP (DataProcessing); LsL/LsR/AsR/RoR; Immediate/Register--------------

        static OPCODE opANDlli(), opANDllr();
        static OPCODE opANDlri(), opANDlrr();
        static OPCODE opANDari(), opANDarr();
        static OPCODE opANDrri(), opANDrrr();
        static OPCODE opANDimm();

        static OPCODE opEORlli(), opEORllr();
        static OPCODE opEORlri(), opEORlrr();
        static OPCODE opEORari(), opEORarr();
        static OPCODE opEORrri(), opEORrrr();
        static OPCODE opEORimm();

        static OPCODE opSUBlli(), opSUBllr();
        static OPCODE opSUBlri(), opSUBlrr();
        static OPCODE opSUBari(), opSUBarr();
        static OPCODE opSUBrri(), opSUBrrr();
        static OPCODE opSUBimm();

        static OPCODE opRSBlli(), opRSBllr();
        static OPCODE opRSBlri(), opRSBlrr();
        static OPCODE opRSBari(), opRSBarr();
        static OPCODE opRSBrri(), opRSBrrr();
        static OPCODE opRSBimm();

        static OPCODE opADDlli(), opADDllr();
        static OPCODE opADDlri(), opADDlrr();
        static OPCODE opADDari(), opADDarr();
        static OPCODE opADDrri(), opADDrrr();
        static OPCODE opADDimm();

        static OPCODE opADClli(), opADCllr();
        static OPCODE opADClri(), opADClrr();
        static OPCODE opADCari(), opADCarr();
        static OPCODE opADCrri(), opADCrrr();
        static OPCODE opADCimm();

        static OPCODE opSBClli(), opSBCllr();
        static OPCODE opSBClri(), opSBClrr();
        static OPCODE opSBCari(), opSBCarr();
        static OPCODE opSBCrri(), opSBCrrr();
        static OPCODE opSBCimm();

        static OPCODE opRSClli(), opRSCllr();
        static OPCODE opRSClri(), opRSClrr();
        static OPCODE opRSCari(), opRSCarr();
        static OPCODE opRSCrri(), opRSCrrr();
        static OPCODE opRSCimm();

        static OPCODE opORRlli(), opORRllr();
        static OPCODE opORRlri(), opORRlrr();
        static OPCODE opORRari(), opORRarr();
        static OPCODE opORRrri(), opORRrrr();
        static OPCODE opORRimm();

        static OPCODE opMOVlli(), opMOVllr();
        static OPCODE opMOVlri(), opMOVlrr();
        static OPCODE opMOVari(), opMOVarr();
        static OPCODE opMOVrri(), opMOVrrr();
        static OPCODE opMOVimm();

        static OPCODE opBIClli(), opBICllr();
        static OPCODE opBIClri(), opBIClrr();
        static OPCODE opBICari(), opBICarr();
        static OPCODE opBICrri(), opBICrrr();
        static OPCODE opBICimm();

        static OPCODE opMVNlli(), opMVNllr();
        static OPCODE opMVNlri(), opMVNlrr();
        static OPCODE opMVNari(), opMVNarr();
        static OPCODE opMVNrri(), opMVNrrr();
        static OPCODE opMVNimm();

        static OPCODE opANDSlli(), opANDSllr();
        static OPCODE opANDSlri(), opANDSlrr();
        static OPCODE opANDSari(), opANDSarr();
        static OPCODE opANDSrri(), opANDSrrr();
        static OPCODE opANDSimm();

        static OPCODE opEORSlli(), opEORSllr();
        static OPCODE opEORSlri(), opEORSlrr();
        static OPCODE opEORSari(), opEORSarr();
        static OPCODE opEORSrri(), opEORSrrr();
        static OPCODE opEORSimm();

        static OPCODE opSUBSlli(), opSUBSllr();
        static OPCODE opSUBSlri(), opSUBSlrr();
        static OPCODE opSUBSari(), opSUBSarr();
        static OPCODE opSUBSrri(), opSUBSrrr();
        static OPCODE opSUBSimm();

        static OPCODE opRSBSlli(), opRSBSllr();
        static OPCODE opRSBSlri(), opRSBSlrr();
        static OPCODE opRSBSari(), opRSBSarr();
        static OPCODE opRSBSrri(), opRSBSrrr();
        static OPCODE opRSBSimm();

        static OPCODE opADDSlli(), opADDSllr();
        static OPCODE opADDSlri(), opADDSlrr();
        static OPCODE opADDSari(), opADDSarr();
        static OPCODE opADDSrri(), opADDSrrr();
        static OPCODE opADDSimm();

        static OPCODE opADCSlli(), opADCSllr();
        static OPCODE opADCSlri(), opADCSlrr();
        static OPCODE opADCSari(), opADCSarr();
        static OPCODE opADCSrri(), opADCSrrr();
        static OPCODE opADCSimm();

        static OPCODE opSBCSlli(), opSBCSllr();
        static OPCODE opSBCSlri(), opSBCSlrr();
        static OPCODE opSBCSari(), opSBCSarr();
        static OPCODE opSBCSrri(), opSBCSrrr();
        static OPCODE opSBCSimm();

        static OPCODE opRSCSlli(), opRSCSllr();
        static OPCODE opRSCSlri(), opRSCSlrr();
        static OPCODE opRSCSari(), opRSCSarr();
        static OPCODE opRSCSrri(), opRSCSrrr();
        static OPCODE opRSCSimm();

        static OPCODE opTSTSlli(), opTSTSllr();
        static OPCODE opTSTSlri(), opTSTSlrr();
        static OPCODE opTSTSari(), opTSTSarr();
        static OPCODE opTSTSrri(), opTSTSrrr();
        static OPCODE opTSTSimm();

        static OPCODE opTEQSlli(), opTEQSllr();
        static OPCODE opTEQSlri(), opTEQSlrr();
        static OPCODE opTEQSari(), opTEQSarr();
        static OPCODE opTEQSrri(), opTEQSrrr();
        static OPCODE opTEQSimm();

        static OPCODE opCMPSlli(), opCMPSllr();
        static OPCODE opCMPSlri(), opCMPSlrr();
        static OPCODE opCMPSari(), opCMPSarr();
        static OPCODE opCMPSrri(), opCMPSrrr();
        static OPCODE opCMPSimm();

        static OPCODE opCMNSlli(), opCMNSllr();
        static OPCODE opCMNSlri(), opCMNSlrr();
        static OPCODE opCMNSari(), opCMNSarr();
        static OPCODE opCMNSrri(), opCMNSrrr();
        static OPCODE opCMNSimm();

        static OPCODE opORRSlli(), opORRSllr();
        static OPCODE opORRSlri(), opORRSlrr();
        static OPCODE opORRSari(), opORRSarr();
        static OPCODE opORRSrri(), opORRSrrr();
        static OPCODE opORRSimm();

        static OPCODE opMOVSlli(), opMOVSllr();
        static OPCODE opMOVSlri(), opMOVSlrr();
        static OPCODE opMOVSari(), opMOVSarr();
        static OPCODE opMOVSrri(), opMOVSrrr();
        static OPCODE opMOVSimm();

        static OPCODE opBICSlli(), opBICSllr();
        static OPCODE opBICSlri(), opBICSlrr();
        static OPCODE opBICSari(), opBICSarr();
        static OPCODE opBICSrri(), opBICSrrr();
        static OPCODE opBICSimm();

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
亚洲超碰97人人做人人爱| 一区二区三区视频在线看| 日本一区二区三区久久久久久久久不| 国产校园另类小说区| 国产精品久久久久影院老司| 亚洲成av人片一区二区梦乃| 亚洲自拍欧美精品| 美日韩一区二区| 视频一区免费在线观看| 国产福利精品一区| 色爱区综合激月婷婷| 高清在线成人网| 欧美一区二区观看视频| 亚洲综合一区二区三区| 99在线精品一区二区三区| 久久一夜天堂av一区二区三区| 亚洲午夜久久久久久久久久久 | av男人天堂一区| 久久午夜电影网| 看电视剧不卡顿的网站| 欧美精品1区2区| 国产精品福利一区二区三区| 欧美一区二区在线观看| 91免费国产在线| 成人精品视频一区二区三区| 日本乱人伦一区| 成人一级片在线观看| 日韩精品一二区| 日韩激情一区二区| 国产精品伦一区| 91久久一区二区| 国产精品久久久久7777按摩 | 91啪在线观看| 久久精品视频一区二区| 国内精品视频666| 精品国产伦一区二区三区观看体验| 日本不卡视频一二三区| 欧美男生操女生| 麻豆极品一区二区三区| 欧美不卡一区二区| 国内精品视频666| 日本一区二区三区久久久久久久久不| 国产伦精品一区二区三区免费迷| 欧美变态凌虐bdsm| 久热成人在线视频| 国产女人水真多18毛片18精品视频| 国产一区二三区| 91黄色免费版| 亚洲高清免费视频| 欧美日韩一区不卡| 亚洲一区在线观看免费观看电影高清| 色天天综合色天天久久| 国产精品高潮久久久久无| 蜜桃av一区二区| 国产精品萝li| 欧美日韩精品一区视频| 国内欧美视频一区二区| 欧美国产日韩一二三区| 99久久精品免费看国产免费软件| 亚洲一区在线免费观看| 制服丝袜亚洲精品中文字幕| 久久99精品久久只有精品| 国产女人aaa级久久久级| 99re这里都是精品| 日韩精品乱码免费| 国产亚洲一区字幕| 欧美性淫爽ww久久久久无| 国内精品伊人久久久久av一坑| 7777精品伊人久久久大香线蕉完整版 | 欧美成人精品1314www| 国产99久久久精品| 一级中文字幕一区二区| 久久久久久日产精品| 欧洲激情一区二区| 国内精品国产成人| 一区二区三区四区av| 精品三级在线看| 91黄色激情网站| 国产在线播精品第三| 亚洲激情一二三区| 色呦呦日韩精品| 亚州成人在线电影| 久久久99久久| 国产精品一线二线三线| 亚洲韩国一区二区三区| 在线一区二区观看| 国产精品一区一区三区| 亚洲午夜久久久久| 中文字幕一区三区| 欧美精品一区二区三区四区| 欧美私人免费视频| 成人av中文字幕| 国产美女精品在线| 日韩精品一级二级| 亚洲一区二区三区精品在线| 国产精品日产欧美久久久久| 欧美v日韩v国产v| 欧美电影在哪看比较好| 色婷婷久久久亚洲一区二区三区| 国模一区二区三区白浆| 日韩精品久久久久久| 亚洲欧美色图小说| 亚洲国产精品成人综合色在线婷婷| 91麻豆精品国产91久久久久久 | 亚洲一区二区三区精品在线| 亚洲国产成人一区二区三区| 日韩精品在线一区| 欧美日免费三级在线| 色域天天综合网| 成人精品免费网站| 成人免费看的视频| 成人激情动漫在线观看| 波多野结衣中文字幕一区二区三区| 久久成人久久鬼色| 亚洲一卡二卡三卡四卡无卡久久 | 成人免费精品视频| 色综合色狠狠天天综合色| 欧美老人xxxx18| 中文字幕va一区二区三区| 亚洲国产视频直播| 国产成人一区在线| 91.com在线观看| 国产精品免费aⅴ片在线观看| 午夜精品久久久久久不卡8050| 国产一区美女在线| 欧美探花视频资源| 国产精品欧美一区喷水| 麻豆91精品视频| 一本一道久久a久久精品综合蜜臀| 日韩一区二区三区电影| 亚洲欧美另类小说| 久久 天天综合| 欧美日韩国产另类一区| 国产精品丝袜黑色高跟| 五月天激情综合| 日本精品一区二区三区四区的功能| 精品久久久久久最新网址| 亚洲国产精品综合小说图片区| 成人美女在线视频| 欧美精品一区二区三区在线| 日本不卡的三区四区五区| 欧美亚洲动漫另类| 亚洲免费成人av| 成人深夜在线观看| 久久只精品国产| 日韩中文字幕一区二区三区| 色哟哟国产精品| 国产精品久久久久久久久图文区| 久久成人免费网| 日韩精品一区二区三区蜜臀 | 欧美吻胸吃奶大尺度电影| 久久综合成人精品亚洲另类欧美 | 黄色日韩网站视频| 91精品国产一区二区三区蜜臀| 一区二区三区欧美久久| 色综合久久久久久久久久久| 国产精品久久二区二区| 成人免费视频app| 中文一区二区在线观看| 国产精品亚洲一区二区三区妖精| 精品人在线二区三区| 久久精品国产在热久久| 884aa四虎影成人精品一区| 天天做天天摸天天爽国产一区| 欧美男人的天堂一二区| 偷偷要91色婷婷| 欧美三级日韩三级国产三级| 午夜精品久久久久久| 在线播放91灌醉迷j高跟美女| 午夜视频一区二区| 337p亚洲精品色噜噜| 免费av网站大全久久| 精品嫩草影院久久| 国产呦萝稀缺另类资源| 久久久久国产一区二区三区四区| 国产露脸91国语对白| 日本一区二区视频在线| 99国产精品久久久久久久久久久 | 欧美老女人在线| 美日韩黄色大片| 欧美精品一区二区三区在线| 国产成人精品三级| 亚洲欧美日韩精品久久久久| 在线观看网站黄不卡| 视频一区视频二区中文字幕| 欧美成人一区二区三区在线观看| 国产一区在线不卡| 亚洲天堂福利av| 欧美日韩一级二级| 精品亚洲成a人在线观看| 中文字幕欧美日韩一区| 在线精品视频一区二区| 免费成人av资源网| 国产亚洲1区2区3区| 91国产精品成人| 久久国产尿小便嘘嘘尿| 国产精品国产三级国产aⅴ中文 | 欧美日韩国产首页在线观看| 韩国毛片一区二区三区| 亚洲激情综合网|