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