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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專(zhuān)輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? dpic.cpp

?? PIC16C5X反匯編源代碼!只要建好表格,反匯編其實(shí)很簡(jiǎn)單!
?? CPP
?? 第 1 頁(yè) / 共 2 頁(yè)
字號(hào):
//=====================================================================================
//
//	模塊:	反匯編PIC16C5X
//
//	版本:	1.00
//
//	日期:	2007-07-10
//
//	作者:	施探宇
//
//	說(shuō)明:	dpic -n rom.bin src.asm
//
//=====================================================================================
#include "stdafx.h"

//	保存標(biāo)號(hào)個(gè)數(shù)
#define MAX_LABELS			256

//	代碼地址上限
#define MAX_ADDRESS			0x400

//	最長(zhǎng)代碼字節(jié)(字節(jié)對(duì)齊)
#define CODE_MAX_BYTES		4

//  普通代碼長(zhǎng)度(字節(jié)對(duì)齊)
#define CODE_BYTES			2

//	代碼位數(shù)(實(shí)際指令位數(shù))
#define CODE_BITS			12

//	專(zhuān)用指令識(shí)別碼
#define CODE_GOTO_ID		0x0a00
#define CODE_CALL_ID		0x0900

//	狀態(tài)寄存器地址
#define REG_STATUS_ID		0x03

//	長(zhǎng)整型,所有指令都要改長(zhǎng),這樣改成別語(yǔ)言就方便;
typedef unsigned long		UINT64;
typedef unsigned int		UINT32;
typedef unsigned short		UINT16;
typedef unsigned char		UINT8;
typedef unsigned char		BYTE;

//-----------------------------------------------------------------------------------
//	列表
//-----------------------------------------------------------------------------------
typedef struct tagDASM
{
	//	代碼值
	UINT64	CodeData;
	//	代碼位
	UINT64	CodeMask;
	//	寄存器位
	UINT64	RegsMask;
	//	比特位
	UINT64	BitsMask;
	//	數(shù)據(jù)位
	UINT64	DataMask;
	//	輸出格式
	_TCHAR *pCodeFmt;
}DASM_TBL;

//-----------------------------------------------------------------------------------
//	代碼轉(zhuǎn)換有優(yōu)先順序:格式為 printf("CODE %S,%S,%S",REG,BIT,DAT)
//-----------------------------------------------------------------------------------
// PIC指令有方向指令,ADDWF 0x06,W,ADDWF 0x05,F
// 共32調(diào)指令.
DASM_TBL tblCode[]=
{
	//  CODE-ID CO-MASK RG-MASK BI-MASK DA-MASK FORMAT
	//	沒(méi)有操作數(shù),(5)
	{	0x0000,	0x0fff,	0x0000,	0x0000,	0x0000,	_T("NOP")},
	{	0x0002,	0x0fff,	0x0000,	0x0000,	0x0000,	_T("OPTION")},
	{	0x0003,	0x0fff,	0x0000,	0x0000,	0x0000,	_T("SLEEP")},
	{	0x0004,	0x0fff,	0x0000,	0x0000,	0x0000,	_T("CLRWDT")},
	{	0x0040,	0x0fff,	0x0000,	0x0000,	0x0000,	_T("CLRW")},

	//	單操作數(shù),不指定方向(3)
	{	0x0000,	0x0ff8,	0x0007,	0x0000,	0x0007,	_T("TRIS    %s")},
	{	0x0020,	0x0fe0,	0x001f,	0x0000,	0x0000,	_T("MOVWF   %s")},
	{	0x0060,	0x0fe0,	0x001f,	0x0000,	0x0000,	_T("CLRF    %s")},

	//	單操作數(shù),需指定方向(13)
	{	0x0080,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("SUBWF   %s,%s")},
	{	0x00c0,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("DECF    %s,%s")},
	{	0x0100,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("IORWF   %s,%s")},
	{	0x0140,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("ANDWF   %s,%s")},
	{	0x01c0,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("ADDWF   %s,%s")},
	{	0x0200,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("MOVF    %s,%s")},
	{	0x0260,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("COMF    %s,%s")},
	{	0x0280,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("INCF    %s,%s")},
	{	0x02c0,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("DECFSZ  %s,%s")},
	{	0x0300,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("RRF     %s,%s")},
	{	0x0340,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("RLF     %s,%s")},
	{	0x0380,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("SWAPF   %s,%s")},
	{	0x03c0,	0x0fc0,	0x001f,	0x0020,	0x0000,	_T("INCFSZ  %s,%s")},

	//	位操作,雙操作數(shù)(4)
	{	0x0400,	0x0f00,	0x001f,	0x00e0,	0x0000,	_T("BCF     %s,%s")},
	{	0x0500,	0x0f00,	0x001f,	0x00e0,	0x0000,	_T("BSF     %s,%s")},
	{	0x0600,	0x0f00,	0x001f,	0x00e0,	0x0000,	_T("BTFSC   %s,%s")},
	{	0x0700,	0x0f00,	0x001f,	0x00e0,	0x0000,	_T("BTFSS   %s,%s")},

	//	立即數(shù)操作,單操作數(shù)(7)
	{	0x0800,	0x0f00,	0x0000,	0x0000,	0x00ff,	_T("RETLW   %s")},
	{	0x0900,	0x0f00,	0x0000,	0x0000,	0x00ff,	_T("CALL    %s")},
	{	0x0a00,	0x0e00,	0x0000,	0x0000,	0x01ff,	_T("GOTO    %s")},
	{	0x0d00,	0x0f00,	0x0000,	0x0000,	0x00ff,	_T("IORLW   %s")},
	{	0x0c00,	0x0f00,	0x0000,	0x0000,	0x00ff,	_T("MOVLW   %s")},
	{	0x0e00,	0x0f00,	0x0000,	0x0000,	0x00ff,	_T("ANDLW   %s")},
	{	0x0f00,	0x0f00,	0x0000,	0x0000,	0x00ff,	_T("XORLW   %s")},
};

//-----------------------------------------------------------------------------------
//	寄存器名稱(chēng)
//-----------------------------------------------------------------------------------
_TCHAR *arrRegs[]=
{
/*0x00*/	_T("INDF"),
/*0x01*/	_T("TMR0"),
/*0x02*/	_T("PCL"),
/*0x03*/	_T("STATUS"),
/*0x04*/	_T("FSR"),
/*0x05*/	_T("PORTA"),
/*0x06*/	_T("PORTB"),
/*0x07*/	_T("PORTC"),
};

//-----------------------------------------------------------------------------------
//	狀態(tài)位
//-----------------------------------------------------------------------------------
_TCHAR *arrStatus[]=
{
/*0x00*/	_T("C"),
/*0x01*/	_T("DC"),
/*0x02*/	_T("Z"),
/*0x03*/	_T("P"),
/*0x04*/	_T("T"),
/*0x05*/	_T("GP0"),
/*0x06*/	_T("GP1"),
/*0x07*/	_T("RST"),
};

//-----------------------------------------------------------------------------------
//	默認(rèn)文件名稱(chēng)
//-----------------------------------------------------------------------------------
_TCHAR *pStart = _T("");
_TCHAR *pBinFile = _T("rom.bin");
_TCHAR *pSrcFile = _T("src.asm");
_TCHAR buff[]=_T("0x0000");

//	文件指針
FILE *fpBin;
FILE *fpSrc;

//	默認(rèn)起始地址:
int iCodeStart = 0;

//	參數(shù)序號(hào)
int idArgv = 1;

//	指令緩沖區(qū)
BYTE pCodeBuff[CODE_MAX_BYTES];

//	存儲(chǔ)標(biāo)號(hào)和函數(shù)地址
UINT64 useLabels[MAX_LABELS];
UINT64 posLabels = 0;

//	顯示幫助
void ShowHelp();

//	狀態(tài)名
_TCHAR *GetStatuName(UINT64 nBits);

//	寄存器名
_TCHAR *GetRegname(UINT64 nReg);

//	登記標(biāo)號(hào)
int Preparse(UINT64 lCode);

//	代碼分析
int ParseCode(UINT64 lLine,UINT64 lCode,FILE *fpOut);

//	查找已登記標(biāo)號(hào)
int FindLabel(UINT64 lLine);

//	文件分析
int ParseFile(int iStart, FILE *pIn,FILE *pOut);

//=====================================================================================
//	開(kāi)始函數(shù)
//=====================================================================================
int main(int argc, _TCHAR* argv[])
{
	//	判斷參數(shù)
	if(argc < 2 || argc > 4)
	{
		ShowHelp();
#ifdef _DEBUG
		getchar();
#endif
		return -1;
	}

	//	默認(rèn)指向第一個(gè)參數(shù)
	idArgv = 1;
	pStart = argv[idArgv];

	//	是否有地址參數(shù)?
	if(pStart[0] == '-')
	{
		iCodeStart = atoi(&pStart[1]);
		idArgv ++;
	}

	if(argc > idArgv )
	{
		pBinFile = argv[idArgv ];
	}

	if(argc > idArgv + 1)
	{
		pSrcFile = argv[idArgv +1];
	}
	
	fpBin = fopen(pBinFile,"rb");
	if(!fpBin)
	{
		printf("Can't open bin file: %s!\n",pBinFile);
#ifdef _DEBUG
		getchar();
#endif
		return -1;
	}

	fpSrc = fopen(pSrcFile,"w+a");
	if(!fpSrc)
	{
		fclose(fpBin);
		printf("Can open src file: %s!\n",pSrcFile);
#ifdef _DEBUG
		getchar();
#endif
		return -1;
	}

	//	顯示抬頭
	printf(_T(" PIC16C5X DISASM TOOLS(C) Version 1.00\n"));
	printf(_T("---------------------------------------------------------------\n"));
	printf(_T(" Code start:  %x.\n"),iCodeStart);
	printf(_T(" Input file:  %s.\n"),pBinFile);
	printf(_T(" Output file: %s.\n"),pSrcFile);
	printf(_T("---------------------------------------------------------------\n"));
	printf(_T(" QQ:190376601,TEL:13751152175              --Aleck.Shi\n"));

	//	分析文件
	ParseFile(iCodeStart,fpBin,fpSrc);

	fclose(fpBin);
	fclose(fpSrc);

	//	處理完畢!
	printf(_T(" Processed done!\n"));

#ifdef _DEBUG
	getchar();
#endif
	return 0;
}

//=====================================================================================
//	顯示幫助
//=====================================================================================
void ShowHelp()
{
	printf(_T(" PIC16C5X DISASM TOOLS(C) Version:1.00\n"));
	printf(_T("---------------------------------------------------------------\n"));
	printf(_T(" usage:dpic [-code address] <bin file> [src file]\n"));
	printf(_T("   exp:dpic rom.bin\n"));
	printf(_T("       dpic -2 rom.bin\n"));
	printf(_T("       dpic -10 rom.bin src.asm\n"));
	printf(_T("---------------------------------------------------------------\n"));
	printf(_T(" QQ:190376601,TEL:13751152175                     ----Aleck.Shi\n"));
}

//=====================================================================================
//	文件分析
//=====================================================================================
int ParseFile(int iStart, FILE *fpIn,FILE *fpOut)
{
	UINT64 lCodePos = 0;
	UINT64 lCode = 0;

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩精品在线网站| 中文字幕色av一区二区三区| 成人精品视频一区二区三区| 亚洲国产精品欧美一二99 | 日韩福利视频导航| 久久久精品欧美丰满| 欧美日本在线播放| 91天堂素人约啪| 国产精品亚洲第一区在线暖暖韩国| 亚洲国产欧美日韩另类综合 | 欧美亚日韩国产aⅴ精品中极品| 精品一区二区日韩| 亚洲超碰精品一区二区| 国产精品久久久久久久久快鸭| 欧美一区二区高清| 欧美三级三级三级爽爽爽| 91在线观看污| 成人免费不卡视频| 国产原创一区二区| 麻豆91在线看| 视频一区二区中文字幕| 亚洲午夜日本在线观看| 亚洲欧美在线视频| 欧美激情一区二区三区不卡| 欧美变态凌虐bdsm| 日韩欧美视频在线| 日韩三级.com| 91精品国产91久久综合桃花| 欧美色老头old∨ideo| 欧美影片第一页| 欧美最猛黑人xxxxx猛交| 日本国产一区二区| 91丝袜美女网| 色一区在线观看| 91极品视觉盛宴| 色噜噜狠狠成人网p站| 99久久久久久| 一本大道综合伊人精品热热| 91精品1区2区| 欧美剧情电影在线观看完整版免费励志电影| 91蜜桃免费观看视频| 色综合色狠狠天天综合色| av在线播放不卡| 91影视在线播放| 日本精品一级二级| 欧美精品1区2区3区| 日韩欧美一卡二卡| 久久久久综合网| 国产精品久久久久毛片软件| 亚洲欧洲日韩在线| 一区二区在线看| 亚洲超碰精品一区二区| 日韩精品成人一区二区在线| 日韩国产精品久久久久久亚洲| 奇米精品一区二区三区四区 | 欧美精品一区二区久久婷婷| 精品日韩一区二区三区| 久久婷婷成人综合色| 精品国产3级a| 国产精品免费视频一区| 伊人婷婷欧美激情| 免费成人在线网站| 国产成人av电影在线播放| 不卡av免费在线观看| 综合激情网...| 五月婷婷久久综合| 久久99国产精品尤物| 成人爱爱电影网址| 欧美日韩黄视频| 久久久电影一区二区三区| ㊣最新国产の精品bt伙计久久| 亚洲国产中文字幕在线视频综合| 日本午夜精品视频在线观看| 成人在线一区二区三区| 色视频成人在线观看免| 日韩一级视频免费观看在线| 中文字幕欧美区| 亚洲国产精品精华液网站| 激情亚洲综合在线| 91同城在线观看| 亚洲精品一区在线观看| 亚洲免费在线看| 久久99国产精品久久| 色诱视频网站一区| 久久婷婷成人综合色| 亚洲福利国产精品| 国产成人综合在线观看| 欧美日韩免费一区二区三区| 久久久久久久综合狠狠综合| 一区二区三区日韩欧美| 国产乱国产乱300精品| 欧美这里有精品| 国产精品视频麻豆| 美女视频一区在线观看| 91高清在线观看| 国产日韩av一区| 青青草国产精品97视觉盛宴| 91蝌蚪porny| 欧美国产亚洲另类动漫| 麻豆精品在线播放| 欧美亚洲综合色| 日韩理论片在线| 精品一区二区免费| 欧美午夜精品一区二区三区| 国产精品丝袜久久久久久app| 亚洲1区2区3区4区| 99riav久久精品riav| 久久久久久亚洲综合| 日韩中文字幕不卡| av在线这里只有精品| 久久久亚洲精品石原莉奈| 免费人成精品欧美精品| 欧美日韩免费一区二区三区视频| 中文字幕一区二区三区蜜月| 国产伦精品一区二区三区免费 | 欧美卡1卡2卡| 亚洲综合一区二区| 色婷婷亚洲精品| 亚洲欧美色图小说| 99视频一区二区三区| 日本一区二区三区四区| 国产美女在线精品| 亚洲第四色夜色| 欧美在线综合视频| 亚洲图片有声小说| 色欧美乱欧美15图片| 国产精品国产a级| 成人激情校园春色| 国产精品久久久久久久久动漫| 国产一区二区三区视频在线播放| 日韩一区二区三区免费看| 婷婷一区二区三区| 欧美日韩国产天堂| 图片区小说区区亚洲影院| 欧美肥妇bbw| 日韩成人伦理电影在线观看| 91精品国产综合久久福利| 亚洲3atv精品一区二区三区| 欧美日韩中文字幕一区二区| 亚洲国产一区视频| 欧美日韩国产片| 午夜天堂影视香蕉久久| 欧美一区二区三区免费观看视频| 亚洲h在线观看| 欧美一区二区三区免费在线看| 美女爽到高潮91| 久久久久久久久免费| 国产夫妻精品视频| 中文字幕中文乱码欧美一区二区| 成人av免费网站| 亚洲一区二区在线观看视频| 欧美私模裸体表演在线观看| 调教+趴+乳夹+国产+精品| 欧美成人福利视频| 国产一区二区不卡| 国产精品久久久久久久久果冻传媒| 99久久伊人网影院| 一本一本久久a久久精品综合麻豆| 亚洲另类色综合网站| 欧美探花视频资源| 免费三级欧美电影| 欧美激情一区二区在线| 色婷婷久久一区二区三区麻豆| 亚洲电影你懂得| 久久毛片高清国产| 91免费在线看| 欧美bbbbb| 国产精品福利一区| 欧美日韩国产免费| 久草热8精品视频在线观看| 中文字幕亚洲欧美在线不卡| 欧美亚洲一区二区在线观看| 久久99国产乱子伦精品免费| 中文字幕视频一区二区三区久| 欧美一区二区视频在线观看2020| 国产成人免费高清| 亚洲一区二区视频在线| 久久久99久久精品欧美| 91极品美女在线| 国产精品综合一区二区三区| 一区二区三区电影在线播| 日韩精品一区二| 色哦色哦哦色天天综合| 国产乱码精品一区二区三区忘忧草| 亚洲综合小说图片| 国产亚洲欧美在线| 欧美一区二区三区在线| www.亚洲人| 久久99久久精品| 亚洲一区二区三区四区在线观看| 久久久99精品久久| 欧美日韩成人综合在线一区二区| 国产大陆精品国产| 日韩电影在线观看网站| 亚洲天堂2014| 久久精品亚洲国产奇米99| 欧美精品v国产精品v日韩精品| www.66久久| 国产精品综合在线视频| 青青草国产成人av片免费|