資源簡介
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個文件信息
評論
共有 條評論