• 大小: 597KB
    文件类型: .rar
    金币: 1
    下载: 0 次
    发布日期: 2021-06-17
  • 语言: 其他
  • 标签: VC/C  

资源简介

VC 开发的MIPS五级整数流水线模拟程序,附有设计文档与源代码,程序主要设计目的如下:
  1)以交互输入方式或从文件读入方式,输入一段MIPS汇编程序,选择执行模式,算出执行流水线状态图,显示各寄存器或某一存储单元的值(16进制或10进制值),各条指令的执行次数、频度,以及程序执行所用总的时钟周期数。提供界面交互设置或修改寄存器、存储单元的值,能够对寄存器、存储单元和执行统计结果进行清零操作,包括加减法测试,乘除测试,两种执行模式测试以及四种转移模式测试等。

资源截图

代码片段和文件信息

// AsmEditDoc.cpp : implementation file
// Download by http://down.liehuo.net

#include “stdafx.h“
#include “pipeline.h“

#include “AsmEditDoc.h“
#include “AsmEditView.h“

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

/////////////////////////////////////////////////////////////////////////////
// CAsmEditDoc

IMPLEMENT_DYNCREATE(CAsmEditDoc CDocument)

CAsmEditDoc::CAsmEditDoc()
{
memset(&m_lf 0 sizeof(m_lf));
m_lf.lfWeight = FW_NORMAL;
m_lf.lfCharSet = DEFAULT_CHARSET;
m_lf.lfOutPrecision = OUT_DEFAULT_PRECIS;
m_lf.lfClipPrecision = CLIP_DEFAULT_PRECIS;
m_lf.lfQuality = DEFAULT_QUALITY;
m_lf.lfPitchAndFamily = DEFAULT_PITCH | FF_DONTCARE;
strcpy(m_lf.lfFaceName “宋体“);

m_UserMsg = RegisterWindowMessage(ASMEDITMSG);
}

BOOL CAsmEditDoc::OnNewDocument()
{
if (!CDocument::OnNewDocument())
return FALSE;

//((CWnd*)m_viewList.GetHead())->SetWindowText(NULL);
m_TextBuffer.InitNew();
Settitle( “- MIPS ASM Editor“ );

return TRUE;
}

CAsmEditDoc::~CAsmEditDoc()
{
}

BEGIN_MESSAGE_MAP(CAsmEditDoc CDocument)
//{{AFX_MSG_MAP(CAsmEditDoc)
ON_COMMAND(ID_ASM_FILE_OPEN OnAsmFileOpen)
ON_COMMAND(ID_ASM_FILE_NEW OnAsmFileNew)
ON_COMMAND(ID_ASM_FILE_SAVE OnAsmFileSave)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////
// CAsmEditDoc diagnostics

#ifdef _DEBUG
void CAsmEditDoc::AssertValid() const
{
CDocument::AssertValid();
}

void CAsmEditDoc::Dump(CDumpContext& dc) const
{
CDocument::Dump(dc);
}
#endif //_DEBUG

/////////////////////////////////////////////////////////////////////////////
// CAsmEditDoc serialization

void CAsmEditDoc::Serialize(CArchive& ar)
{
CCrystalEditView* pView = (CCrystalEditView*)m_viewList.GetHead();
ASSERT_VALID(pView);
ASSERT_KINDOF(CCrystalEditView pView);

if (ar.IsStoring())
{

else 
{
}

ASSERT_VALID(this);
}

/////////////////////////////////////////////////////////////////////////////
// CAsmEditDoc commands

BOOL CAsmEditDoc::OnOpenDocument(LPCTSTR lpszPathName) 
{
if (!CDocument::OnOpenDocument(lpszPathName))
return FALSE;

return m_TextBuffer.LoadFromFile(lpszPathName);
}

BOOL CAsmEditDoc::OnSaveDocument(LPCTSTR lpszPathName) 
{
return m_TextBuffer.SaveToFile(lpszPathName);
}

void CAsmEditDoc::DeleteContents() 
{
CDocument::DeleteContents();
m_TextBuffer.FreeAll();
}

void CAsmEditDoc::OnCloseDocument() 
{
if( m_TextBuffer.IsModified() ) {
int ret = AfxMessageBox( “文件已经改变要保存吗?“
MB_YESNOCANCEL | MB_ICONQUESTION );
if( ret == IDCANCEL ) return;
else if( ret == IDYES )
this->OnFileSave();
}

lpszPathName.Empty();
CPipelineApp* pApp = (CPipelineApp*)AfxGetApp();
pApp->m_pSimulatorDlg->SendMessage(m_UserMsg ML_CLOSED 0);

CDocument::OnCloseDocument();
}

void CAsmEditDoc::OnAsmFileOpen() 
{
// Before file i

 属性            大小     日期    时间   名称
----------- ---------  ---------- -----  ----

     文件       5149  2004-05-01 19:13  down.liehuo.net\MIPS Simulator\ReadMe.txt

     文件     691712  2010-09-16 10:48  down.liehuo.net\rep.doc

     文件         41  2010-09-14 20:09  down.liehuo.net\liehuo.net.txt

     文件       1046  2010-09-17 19:38  down.liehuo.net\下载必读.txt

     文件       1680  2004-05-08 21:36  down.liehuo.net\MIPS Simulator\AsmEditDoc.h

     文件       1627  2004-05-02 00:15  down.liehuo.net\MIPS Simulator\AsmEditframe.h

     文件       1384  2004-05-01 23:37  down.liehuo.net\MIPS Simulator\AsmEditView.h

     文件       1712  2004-05-08 20:24  down.liehuo.net\MIPS Simulator\AsmInstruction.h

     文件       4246  2003-08-05 13:49  down.liehuo.net\MIPS Simulator\Crystal\CCrystalEditView.h

     文件       8075  1999-02-22 19:47  down.liehuo.net\MIPS Simulator\Crystal\CCrystalTextBuffer.h

     文件      13814  2003-08-05 13:47  down.liehuo.net\MIPS Simulator\Crystal\CCrystalTextView.h

     文件       1215  1999-02-22 19:49  down.liehuo.net\MIPS Simulator\Crystal\CEDEFS.H

     文件       2421  1999-02-22 19:49  down.liehuo.net\MIPS Simulator\Crystal\CEditReplaceDlg.h

     文件       3686  1998-11-29 18:25  down.liehuo.net\MIPS Simulator\GridCtrl\CellRange.h

     文件       2116  1999-02-22 19:50  down.liehuo.net\MIPS Simulator\Crystal\CFindTextDlg.h

     文件       1397  2004-05-02 01:12  down.liehuo.net\MIPS Simulator\ChildFrm.h

     文件       1580  2004-05-01 19:13  down.liehuo.net\MIPS Simulator\CntrItem.h

     文件       1318  2003-05-17 21:36  down.liehuo.net\MIPS Simulator\GridCtrl\ComboGridCtrl.h

     文件       1295  2004-05-06 22:21  down.liehuo.net\MIPS Simulator\CycleDlg.h

     文件       4713  1999-02-22 19:50  down.liehuo.net\MIPS Simulator\Crystal\EDITCMD.H

     文件       1244  1999-02-22 19:50  down.liehuo.net\MIPS Simulator\Crystal\EDITREG.H

     文件        780  2004-05-04 12:12  down.liehuo.net\MIPS Simulator\Error.h

     文件       3040  2004-05-15 15:19  down.liehuo.net\MIPS Simulator\ExecInstCtrl.h

     文件      26769  2003-05-17 20:35  down.liehuo.net\MIPS Simulator\GridCtrl\GridCtrl.h

     文件       1858  1998-08-06 22:33  down.liehuo.net\MIPS Simulator\GridCtrl\GridDropTarget.h

     文件       3187  2004-07-22 01:31  down.liehuo.net\MIPS Simulator\hyperlink.h

     文件       2959  1999-04-11 08:37  down.liehuo.net\MIPS Simulator\GridCtrl\InPlaceEdit.h

     文件       3916  1998-08-06 20:28  down.liehuo.net\MIPS Simulator\GridCtrl\InPlaceList.h

     文件       3787  2004-05-15 15:20  down.liehuo.net\MIPS Simulator\IntegerDatapathCtrl.h

     文件       1220  2004-05-05 13:38  down.liehuo.net\MIPS Simulator\LexAnalyzer.h

............此处省略91个文件信息

评论

共有 条评论