⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cpu.h

📁 C++实现的模拟操作系统
💻 H
字号:
// Cpu.h: interface for the CCpu class.
//
//////////////////////////////////////////////////////////////////////

#if !defined(AFX_CPU_H__6F8231F6_ADF1_4B58_892A_83A6F33459F4__INCLUDED_)
#define AFX_CPU_H__6F8231F6_ADF1_4B58_892A_83A6F33459F4__INCLUDED_

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
#include "ShowosDlg.h"
#include "Memory.h"
class CCpu  
{
private:
	int ax,bx,cx,cs,ds;
	int psw[3];       //psw[0]表示是否有中断。[1]表示中断类型(1时钟中断,2等待设备A,3等待设备B,4等待设备C,5等待输入)
	Sprocess process; //供CpuRun()函数使用。
	CShowosDlg * pdlg;
public:
	void CpuChooseprocess(CMemory * pmemory);     //cpu函数,调用进程
	   
private:
	void Cpushowregister();                     //显示中间结果
	void CpuInit(int iax,int ibx,int icx,int ics,int ids,int ipsw[3]);//初始化寄存器
	void CpuInit(int iax,int ibx,int icx,int ics,int ids,int ipsw1,int ipsw2,int ipsw3);//初始化寄存器
	void CpuInit(Sprocess process);                                    //初始化寄存器
	void CpuAdd(CString a,CString b);//模拟cpu加法指令
    void CpuAdd(CString a,int b);
	void CpuSub(CString a,CString b);//模拟cpu减法指令
	void CpuSub(CString a,int b);
	void CpuMul(CString a);          //模拟cpu乘法指令
	void CpuDiv(CString a);          //模拟cpu除法指令
	void CpuMov(CString a,CString b);//模拟cpu赋值指令
	void CpuMov(CString a,int b);
	void CpuOther(CString a);        //模拟cpu其他指令,显示字符串a	
	void CpuRunover(CMemory * pmemory);           //进程执行完
	void CpuParseprocess(CMemory * pmemory);                       //解释运行指令	
	void CpuBlockprocess(CMemory * pmemory);                //中断处理

public:
	CCpu(CShowosDlg * dlg);
	virtual ~CCpu();
	int CpuGetax();   //得到ax的值 
	int CpuGetbx();   //得到bx的值
	int CpuGetcx();   //得到cx的值
	int CpuGetcs();   //得到cs的值
	int CpuGetds();   //得到ds的值
	int CpuGetpsw(int a);   //得到psw 的第a个的值
	void CpuSetpsw(int a,int b);  //设置psw的第a个的值
	void CpuRun(CMemory * pmemory);    //cpu一直运行函数。
	

};

#endif // !defined(AFX_CPU_H__6F8231F6_ADF1_4B58_892A_83A6F33459F4__INCLUDED_)

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -