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

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

?? descparserdlg.cpp

?? pc保護模式描述符分析工具,采用VC編寫,是你了解保護模式,分析描述符的好工具.
?? CPP
字號:
// DescParserDlg.cpp : implementation file
//

#include "stdafx.h"
#include "DescParser.h"
#include "DescParserDlg.h"

#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif

/////////////////////////////////////////////////////////////////////////////
// CAboutDlg dialog used for App About

class CAboutDlg : public CDialog
{
public:
	CAboutDlg();

// Dialog Data
	//{{AFX_DATA(CAboutDlg)
	enum { IDD = IDD_ABOUTBOX };
	//}}AFX_DATA

	// ClassWizard generated virtual function overrides
	//{{AFX_VIRTUAL(CAboutDlg)
	protected:
	virtual void DoDataExchange(CDataExchange* pDX);    // DDX/DDV support
	//}}AFX_VIRTUAL

// Implementation
protected:
	//{{AFX_MSG(CAboutDlg)
	//}}AFX_MSG
	DECLARE_MESSAGE_MAP()
};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)
{
	//{{AFX_DATA_INIT(CAboutDlg)
	//}}AFX_DATA_INIT
}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CAboutDlg)
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)
	//{{AFX_MSG_MAP(CAboutDlg)
		// No message handlers
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDescParserDlg dialog

CDescParserDlg::CDescParserDlg(CWnd* pParent /*=NULL*/)
	: CDialog(CDescParserDlg::IDD, pParent)
{
	//{{AFX_DATA_INIT(CDescParserDlg)
		// NOTE: the ClassWizard will add member initialization here
	//}}AFX_DATA_INIT
	// Note that LoadIcon does not require a subsequent DestroyIcon in Win32
	m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);
}

void CDescParserDlg::DoDataExchange(CDataExchange* pDX)
{
	CDialog::DoDataExchange(pDX);
	//{{AFX_DATA_MAP(CDescParserDlg)
		// NOTE: the ClassWizard will add DDX and DDV calls here
	//}}AFX_DATA_MAP
}

BEGIN_MESSAGE_MAP(CDescParserDlg, CDialog)
	//{{AFX_MSG_MAP(CDescParserDlg)
	ON_WM_SYSCOMMAND()
	ON_WM_PAINT()
	ON_WM_QUERYDRAGICON()
	ON_BN_CLICKED(IDC_BUTTON_START, OnButtonStart)
	ON_BN_CLICKED(IDC_BUTTON_HELP, OnButtonHelp)
	//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CDescParserDlg message handlers

BOOL CDescParserDlg::OnInitDialog()
{
	CDialog::OnInitDialog();

	// Add "About..." menu item to system menu.

	// IDM_ABOUTBOX must be in the system command range.
	ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);
	ASSERT(IDM_ABOUTBOX < 0xF000);

	CMenu* pSysMenu = GetSystemMenu(FALSE);
	if (pSysMenu != NULL)
	{
		CString strAboutMenu;
		strAboutMenu.LoadString(IDS_ABOUTBOX);
		if (!strAboutMenu.IsEmpty())
		{
			pSysMenu->AppendMenu(MF_SEPARATOR);
			pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);
		}
	}

	// Set the icon for this dialog.  The framework does this automatically
	//  when the application's main window is not a dialog
	SetIcon(m_hIcon, TRUE);			// Set big icon
	SetIcon(m_hIcon, FALSE);		// Set small icon
	
	//::SetWindowText(::GetDlgItem(this->m_hWnd, IDC_EDIT_DESCRIPTOR), "07ff00009a0000c0");
	//::SetWindowText(::GetDlgItem(this->m_hWnd, IDC_EDIT_DESCRIPTOR), "ff070000009AC000");
	::SetWindowText(::GetDlgItem(this->m_hWnd, IDC_EDIT_DESCRIPTOR), "ff 07 00 00,00 9A C0 00");
	
	
	return TRUE;  // return TRUE  unless you set the focus to a control
}

void CDescParserDlg::OnSysCommand(UINT nID, LPARAM lParam)
{
	if ((nID & 0xFFF0) == IDM_ABOUTBOX)
	{
		CAboutDlg dlgAbout;
		dlgAbout.DoModal();
	}
	else
	{
		CDialog::OnSysCommand(nID, lParam);
	}
}

// If you add a minimize button to your dialog, you will need the code below
//  to draw the icon.  For MFC applications using the document/view model,
//  this is automatically done for you by the framework.

void CDescParserDlg::OnPaint() 
{
	if (IsIconic())
	{
		CPaintDC dc(this); // device context for painting

		SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

		// Center icon in client rectangle
		int cxIcon = GetSystemMetrics(SM_CXICON);
		int cyIcon = GetSystemMetrics(SM_CYICON);
		CRect rect;
		GetClientRect(&rect);
		int x = (rect.Width() - cxIcon + 1) / 2;
		int y = (rect.Height() - cyIcon + 1) / 2;

		// Draw the icon
		dc.DrawIcon(x, y, m_hIcon);
	}
	else
	{
		CDialog::OnPaint();
	}
}

// The system calls this to obtain the cursor to display while the user drags
//  the minimized window.
HCURSOR CDescParserDlg::OnQueryDragIcon()
{
	return (HCURSOR) m_hIcon;
}

const int TEXT_LEN = 512;

void CDescParserDlg::OnButtonStart() 
{
	char szDescType[][TEXT_LEN] = {
		"數據段 - 只讀",
		"數據段 - 只讀、已訪問",
		"數據段 - 讀/寫",
		"數據段 - 讀/寫、已訪問",
		"數據段 - 只讀、向下擴展",
		"數據段 - 只讀、向下擴展、已訪問",
		"數據段 - 讀/寫、向下擴展",
		"代碼段 - 讀/寫、向下擴展、已訪問",
		"代碼段 - 只執行",
		"代碼段 - 只執行、已訪問",
		"代碼段 - 執行/讀",
		"代碼段 - 執行/讀、已訪問",
		"代碼段 - 只執行、一致碼段",
		"代碼段 - 只執行、一致碼段、已訪問",
		"代碼段 - 執行/讀、一致碼段",
		"代碼段 - 執行/讀、一致碼段、已訪問"
	};
	
	char szGateType[][TEXT_LEN] = {
		"系統段/門 - <未定義>",
		"系統段/門 - 可用286TSS",
		"系統段/門 - LDT",
		"系統段/門 - 忙的286TSS",
		"系統段/門 - 286調用門",
		"系統段/門 - 任務門",
		"系統段/門 - 286中斷門",
		"系統段/門 - 286陷阱門",
		"系統段/門 - 未定義",
		"系統段/門 - 可用386TSS",
		"系統段/門 - <未定義>",
		"系統段/門 - 忙的386TSS",
		"系統段/門 - 386調用門",
		"系統段/門 - <未定義>",
		"系統段/門 - 386中斷門",
		"系統段/門 - 386陷阱門"
			
	};

	char szDT[][TEXT_LEN] = {
		"系統段描述符或門",
		"存儲段描述符"
			
	};
	
	char szG[][TEXT_LEN] = {
		"界限粒度為字節",
		"界限粒度為4K字節"
			
	};

	char szText[TEXT_LEN];
	::GetWindowText(::GetDlgItem(this->m_hWnd, IDC_EDIT_DESCRIPTOR), szText, TEXT_LEN);

	// set other bytes of the string '0'
	::memset(szText + ::strlen(szText), '0', TEXT_LEN - ::strlen(szText));

	int iDesc[8];
	int iHigh;
	int iLow;

	int j = 0;
	for(int i=0;i<8;i++){
		while (!(((szText[j] >= '0') && (szText[j] <= '9')) ||
			((::toupper(szText[j]) >= 'A') && (::toupper(szText[j]) <= 'F')))
			) {
			j++;
		}// jump over invalid char
		iHigh	= szText[j+0] >= ::toupper('a') ? ::toupper(szText[j+0]) - 'A' + 10 : szText[j+0] - '0';
		iLow	= szText[j+1] >= ::toupper('a') ? ::toupper(szText[j+1]) - 'A' + 10 : szText[j+1] - '0';
		iDesc[i] = iHigh * 0x10 + iLow;
		j += 2;
	}

	char szOutput[TEXT_LEN];

	int iBase	= iDesc[2] + (iDesc[3] << 8) + (iDesc[4] << 16) + (iDesc[7] << 24);
	int iLimit	= iDesc[0] + (iDesc[1] << 8) + (iDesc[6] & 0xF);
	int iType	= iDesc[5] & 0xF;
	int iG		= (iDesc[6] >> 7) & 1;
	int iD		= (iDesc[6] >> 6) & 1;
	int iAVL	= (iDesc[6] >> 4) & 1;
	int iP		= (iDesc[5] >> 7) & 1;
	int iDPL	= (iDesc[5] >> 5) & 3;
	int iDT		= (iDesc[5] >> 4) & 1;

	// Type
	char szType[TEXT_LEN];
	::strcpy(szType, iDT ? szDescType[iType] : szGateType[iType]);

	// Limit
	if (iG) {
		iLimit *= 4 * 1024;
	}
	
	::sprintf(szOutput, "\r\n\r\n\
		------------------Output-------------------\r\n\r\n\r\n\
		Base:\t0x%X\r\n\r\n\r\n\
		Limit:\t0x%X\r\n\r\n\r\n\
		Type:\t%s\r\n\r\n\r\n\
		DPL:\t%x\r\n\r\n\r\n\
		G:\t%x\t%s\r\n\r\n\r\n\
		D:\t%x\r\n\r\n\r\n\
		AVL:\t%x\r\n\r\n\r\n\
		P:\t%x\r\n\r\n\r\n\
		DT:\t%x\t%s\r\n\r\n\r\n\
		--------------------END--------------------", 
		iBase, iLimit, szType, iDPL, iG, szG[iG], iD, iAVL, iP, iDT, szDT[iDT]);

	//::MessageBox(this->m_hWnd, szOutput, szText, MB_OK);

	::SetWindowText(::GetDlgItem(this->m_hWnd, IDC_EDIT_OUTPUT), szOutput);

}

void CDescParserDlg::OnButtonHelp() 
{
	::SetWindowText(::GetDlgItem(this->m_hWnd, IDC_EDIT_OUTPUT),
		"\r\n\r\n\
		-------------------Help--------------------\r\n\r\n\r\n\
		All unrecognizable characters will be ignored.\r\n\r\n\r\n\
		So all of them should be OK:\r\n\r\n\r\n\r\n\
		[Low bits --> High bits]\r\n\r\n\r\n\r\n\
		ff070000009AC000\r\n\r\n\r\n\
		ff 07 00 00 00 9A C0 00\r\n\r\n\r\n\
		ff 07 00 00,00 9A C0 00\r\n\r\n\r\n\
		ff,07 00 00,00 9A C0 00\r\n\r\n\r\n\
		ff 070000;00 9A C0,00\r\n\r\n\r\n\
		--------------------END--------------------");
}

void CDescParserDlg::OnOK()
{
	this->OnButtonStart();
}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人激情开心网| 日本成人在线一区| 色综合久久综合中文综合网| 中文字幕亚洲一区二区va在线| 国产69精品久久777的优势| 国产人成亚洲第一网站在线播放| 国产成人在线色| 国产精品人成在线观看免费| 94-欧美-setu| 偷拍亚洲欧洲综合| 精品久久人人做人人爽| 国产精品一区在线观看乱码| 中文字幕中文字幕在线一区| 91黄视频在线| 日本不卡免费在线视频| 亚洲精品一区二区三区精华液| 国产成人av一区二区三区在线 | 日韩精品在线一区二区| 国产一区二区三区香蕉 | 精品国产电影一区二区| 国产高清不卡一区| 亚洲一区二区三区在线播放| 日韩一二在线观看| 99久久99久久精品免费看蜜桃 | 欧美一区三区二区| 国产精品原创巨作av| 亚洲人成网站在线| 欧美久久一二区| 国产91精品一区二区麻豆网站| 亚洲综合网站在线观看| 精品福利二区三区| 色综合一区二区三区| 亚洲图片欧美视频| 欧美电影免费观看完整版| av成人免费在线| 天天操天天色综合| 中文字幕不卡一区| 欧美一区二区性放荡片| 91在线小视频| 久久成人久久爱| 亚洲另类在线视频| 亚洲国产精品二十页| 欧美日产在线观看| av综合在线播放| 另类成人小视频在线| 亚洲人123区| 久久精品无码一区二区三区| 欧美在线高清视频| 成人国产精品视频| 国产一区二区三区美女| 亚洲成人免费av| 亚洲视频一区二区在线观看| 久久久不卡影院| 精品美女被调教视频大全网站| 欧美影视一区二区三区| 91丨porny丨户外露出| 国产精品一级黄| 黄色日韩三级电影| 天堂成人免费av电影一区| 亚洲精品美国一| 成人免费一区二区三区视频| 欧美极品aⅴ影院| 精品精品国产高清a毛片牛牛| 777a∨成人精品桃花网| 精品视频免费在线| 日本韩国精品一区二区在线观看| 成人动漫在线一区| 成人免费的视频| 国产精品亚洲а∨天堂免在线| 美女视频第一区二区三区免费观看网站| 一区二区三区在线高清| 亚洲乱码中文字幕综合| 亚洲欧洲日本在线| 日韩一区日韩二区| 国产精品理论片在线观看| 国产精品人成在线观看免费| 国产精品水嫩水嫩| 国产精品女同一区二区三区| 国产精品污污网站在线观看| 国产精品国产三级国产aⅴ原创| 中文字幕欧美激情一区| 中文文精品字幕一区二区| 国产欧美精品区一区二区三区| 欧美韩日一区二区三区| 亚洲手机成人高清视频| 亚洲韩国精品一区| 日韩制服丝袜av| 精品在线亚洲视频| 国产精品一区二区久激情瑜伽| 国产精品888| 99视频超级精品| 91福利区一区二区三区| 欧美日韩国产电影| 日韩精品最新网址| 国产日产精品一区| 亚洲精品视频免费看| 亚洲国产乱码最新视频| 老鸭窝一区二区久久精品| 国产麻豆精品久久一二三| 懂色中文一区二区在线播放| 色综合色综合色综合| 7777精品伊人久久久大香线蕉超级流畅 | 韩日精品视频一区| 国产成都精品91一区二区三| 色欧美日韩亚洲| 欧美一区二区在线播放| 国产婷婷精品av在线| 一区二区视频在线看| 蜜臀av一区二区| 成人国产视频在线观看| 欧美精品一二三区| 国产日韩欧美精品一区| 亚洲图片欧美综合| 国产福利一区在线| 欧美日本视频在线| 欧美国产综合一区二区| 性久久久久久久久| 国产91精品在线观看| 欧美一区二区三区日韩| 中文字幕精品一区二区三区精品| 亚洲一二三区在线观看| 国产伦精一区二区三区| 欧美挠脚心视频网站| 国产精品毛片久久久久久久| 五月婷婷激情综合网| av午夜精品一区二区三区| 欧美二区在线观看| 婷婷亚洲久悠悠色悠在线播放 | 偷拍自拍另类欧美| 99精品久久免费看蜜臀剧情介绍| 日韩视频在线你懂得| 亚洲欧美日韩国产综合| 国产在线视频一区二区三区| 欧美性一区二区| 国产精品视频第一区| 日本女人一区二区三区| 91丨九色丨黑人外教| 国产调教视频一区| 久久99国产精品久久99| 欧美日精品一区视频| 一区在线播放视频| 国产精品一区二区无线| 精品久久久久久最新网址| 亚洲成年人网站在线观看| 成人h动漫精品| 久久精品视频网| 韩日av一区二区| 欧美成人激情免费网| 香蕉成人伊视频在线观看| 99亚偷拍自图区亚洲| 欧美国产精品一区| 精品中文字幕一区二区| 日韩精品中午字幕| 日韩1区2区日韩1区2区| 欧美日韩免费一区二区三区视频| 亚洲人成网站影音先锋播放| 97久久久精品综合88久久| 国产人久久人人人人爽| 国产成人综合在线观看| 久久综合中文字幕| 久久97超碰国产精品超碰| 日韩一级片在线观看| 免费高清在线一区| 在线播放亚洲一区| 日韩精品成人一区二区三区| 欧美日韩在线不卡| 午夜av区久久| 欧美一区二区三区在线| 久久精品国产精品亚洲综合| 日韩一区二区麻豆国产| 久久激情综合网| 26uuu欧美日本| 国产风韵犹存在线视精品| 中文字幕免费不卡| www.久久久久久久久| 亚洲麻豆国产自偷在线| 欧美亚洲综合另类| 调教+趴+乳夹+国产+精品| 69成人精品免费视频| 蜜桃av一区二区| 久久久精品黄色| eeuss国产一区二区三区| 亚洲柠檬福利资源导航| 91国偷自产一区二区三区成为亚洲经典 | 国产揄拍国内精品对白| 欧美精品一区二区三区四区| 国产精品资源在线| 成人免费一区二区三区视频| 欧美三级韩国三级日本一级| 精品在线视频一区| 国产精品日产欧美久久久久| 欧洲一区在线电影| 日本欧美一区二区三区乱码 | 亚洲欧美在线aaa| 欧美在线观看视频在线| 日韩电影免费在线观看网站| 午夜精品久久久久久久久久久| 日韩精品在线网站| 本田岬高潮一区二区三区| 亚洲一区在线看|