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

📄 au.cpp

📁 本软件实现了模拟cpu的基本工作原理和工作过程
💻 CPP
字号:
// AU.cpp: implementation of the AU class.
//
//////////////////////////////////////////////////////////////////////

#include "stdafx.h"
#include "AM.h"
#include "AU.h"

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

//////////////////////////////////////////////////////////////////////
// Construction/Destruction
//////////////////////////////////////////////////////////////////////

AU::AU():	A_port(CRect(80,290,158,330),"A口:"),
			B_port(CRect(180,290,255,330),"B口:"),
			regs(CRect(80,355,255,488),"寄存器组(R0 ~ R15):"),
			Q(CRect(279,290,353,330),"寄存器Q:"),
			STA(CRect(210,65,376,110),"状态标志寄存器:")
{
	RTOIB.x=162;
	RTOIB.y=22;
	RTOIB.w=12;
	RTOIB.h=63;
	RTOIB.type=1;
	RTOIB.arrow1=1;
	RTOIB.arrow2=0;
	RTOIB.shine=0;

	FTOIB.x=267;
	FTOIB.y=22;
	FTOIB.w=12;
	FTOIB.h=44;
	FTOIB.type=1;
	FTOIB.arrow1=1;
	FTOIB.arrow2=0;
	FTOIB.shine=0;

	IBTOF.x=307;
	IBTOF.y=21;
	IBTOF.w=12;
	IBTOF.h=44;
	IBTOF.type=1;
	IBTOF.arrow1=0;
	IBTOF.arrow2=1;
	IBTOF.shine=0;


	REG_A.x=113;
	REG_A.y=330;
	REG_A.w=12;
	REG_A.h=26;
	REG_A.type=1;
	REG_A.arrow1=1;
	REG_A.arrow2=0;
	REG_A.shine=0;

	REG_B.x=212;
	REG_B.y=330;
	REG_B.w=12;
	REG_B.h=26;
	REG_B.type=1;
	REG_B.arrow1=1;
	REG_B.arrow2=0;
	REG_B.shine=0;

	R_ALU.x=113;
	R_ALU.y=201;
	R_ALU.w=12;
	R_ALU.h=16;
	R_ALU.type=1;
	R_ALU.arrow1=1;
	R_ALU.arrow2=0;
	R_ALU.shine=0;

	S_ALU.x=212;
	S_ALU.y=201;
	S_ALU.w=12;
	S_ALU.h=16;
	S_ALU.type=1;
	S_ALU.arrow1=1;
	S_ALU.arrow2=0;
	S_ALU.shine=0;

	F_Y.x=172;
	F_Y.y=106;
	F_Y.w=12;
	F_Y.h=35;
	F_Y.type=1;
	F_Y.arrow1=1;
	F_Y.arrow2=0;
	F_Y.shine=0;

	A_Y[0].x=152;
	A_Y[0].y=106;
	A_Y[0].w=12;
	A_Y[0].h=22;
	A_Y[0].type=1;
	A_Y[0].arrow1=1;
	A_Y[0].arrow2=0;
	A_Y[0].shine=0;

	A_Y[1].x=60;
	A_Y[1].y=119;
	A_Y[1].w=96;
	A_Y[1].h=12;
	A_Y[1].type=0;
	A_Y[1].arrow1=0;
	A_Y[1].arrow2=0;
	A_Y[1].shine=0;

	A_Y[2].x=57;
	A_Y[2].y=127;
	A_Y[2].w=12;
	A_Y[2].h=130;
	A_Y[2].type=1;
	A_Y[2].arrow1=0;
	A_Y[2].arrow2=0;
	A_Y[2].shine=0;

	A_Y[3].x=65;
	A_Y[3].y=248;
	A_Y[3].w=67;
	A_Y[3].h=12;
	A_Y[3].type=0;
	A_Y[3].arrow1=0;
	A_Y[3].arrow2=0;
	A_Y[3].shine=0;

	A_Y[4].x=128;
	A_Y[4].y=251;
	A_Y[4].w=12;
	A_Y[4].h=40;
	A_Y[4].type=1;
	A_Y[4].arrow1=0;
	A_Y[4].arrow2=0;
	A_Y[4].shine=0;


	A_R.x=128;
	A_R.y=240;
	A_R.w=12;
	A_R.h=51;
	A_R.type=1;
	A_R.arrow1=1;
	A_R.arrow2=0;
	A_R.shine=0;

	D_R[0].x=98;
	D_R[0].y=240;
	D_R[0].w=12;
	D_R[0].h=39;
	D_R[0].type=1;
	D_R[0].arrow1=1;
	D_R[0].arrow2=0;
	D_R[0].shine=0;

	D_R[1].x=48;
	D_R[1].y=275;
	D_R[1].w=59;
	D_R[1].h=12;
	D_R[1].type=0;
	D_R[1].arrow1=0;
	D_R[1].arrow2=0;
	D_R[1].shine=0;

	D_R[2].x=40;
	D_R[2].y=21;
	D_R[2].w=12;
	D_R[2].h=263;
	D_R[2].type=1;
	D_R[2].arrow1=0;
	D_R[2].arrow2=0;
	D_R[2].shine=0;

	B_S.x=212;
	B_S.y=240;
	B_S.w=12;
	B_S.h=51;
	B_S.type=1;
	B_S.arrow1=1;
	B_S.arrow2=0;
	B_S.shine=0;

	A_S[0].x=192;
	A_S[0].y=240;
	A_S[0].w=12;
	A_S[0].h=17;
	A_S[0].type=1;
	A_S[0].arrow1=1;
	A_S[0].arrow2=0;
	A_S[0].shine=0;

	A_S[1].x=136;
	A_S[1].y=248;
	A_S[1].w=60;
	A_S[1].h=12;
	A_S[1].type=0;
	A_S[1].arrow1=0;
	A_S[1].arrow2=0;
	A_S[1].shine=0;

	A_S[2]=A_Y[4];

	Q_S[0].x=232;
	Q_S[0].y=240;
	Q_S[0].w=12;
	Q_S[0].h=17;
	Q_S[0].type=1;
	Q_S[0].arrow1=1;
	Q_S[0].arrow2=0;
	Q_S[0].shine=0;

	Q_S[1].x=240;
	Q_S[1].y=248;
	Q_S[1].w=73;
	Q_S[1].h=12;
	Q_S[1].type=0;
	Q_S[1].arrow1=0;
	Q_S[1].arrow2=0;
	Q_S[1].shine=0;

	Q_S[2].x=309;
	Q_S[2].y=251;
	Q_S[2].w=12;
	Q_S[2].h=40;
	Q_S[2].type=1;
	Q_S[2].arrow1=0;
	Q_S[2].arrow2=0;
	Q_S[2].shine=0;

	Q_L.x=285;
	Q_L.y=330;
	Q_L.w=12;
	Q_L.h=25;
	Q_L.type=1;
	Q_L.arrow1=1;
	Q_L.arrow2=0;
	Q_L.shine=0;

	Q_N.x=309;
	Q_N.y=330;
	Q_N.w=12;
	Q_N.h=25;
	Q_N.type=1;
	Q_N.arrow1=1;
	Q_N.arrow2=0;
	Q_N.shine=0;

	Q_R.x=333;
	Q_R.y=330;
	Q_R.w=12;
	Q_R.h=25;
	Q_R.type=1;
	Q_R.arrow1=1;
	Q_R.arrow2=0;
	Q_R.shine=0;


	REG_L.x=187;
	REG_L.y=488;
	REG_L.w=12;
	REG_L.h=25;
	REG_L.type=1;
	REG_L.arrow1=1;
	REG_L.arrow2=0;
	REG_L.shine=0;

	REG_N.x=211;
	REG_N.y=488;
	REG_N.w=12;
	REG_N.h=25;
	REG_N.type=1;
	REG_N.arrow1=1;
	REG_N.arrow2=0;
	REG_N.shine=0;

	REG_R.x=235;
	REG_R.y=488;
	REG_R.w=12;
	REG_R.h=25;
	REG_R.type=1;
	REG_R.arrow1=1;
	REG_R.arrow2=0;
	REG_R.shine=0;


	F_REG[0].x=211;
	F_REG[0].y=533;
	F_REG[0].w=12;
	F_REG[0].h=22;
	F_REG[0].type=1;
	F_REG[0].arrow1=1;
	F_REG[0].arrow2=0;
	F_REG[0].shine=0;

	F_REG[1].x=214;
	F_REG[1].y=551;
	F_REG[1].w=150;
	F_REG[1].h=12;
	F_REG[1].type=0;
	F_REG[1].arrow1=0;
	F_REG[1].arrow2=0;
	F_REG[1].shine=0;

	F_REG[2].x=360;
	F_REG[2].y=127;
	F_REG[2].w=12;
	F_REG[2].h=433;
	F_REG[2].type=1;
	F_REG[2].arrow1=0;
	F_REG[2].arrow2=0;
	F_REG[2].shine=0;

	F_REG[3].x=180;
	F_REG[3].y=124;
	F_REG[3].w=184;
	F_REG[3].h=12;
	F_REG[3].type=0;
	F_REG[3].arrow1=0;
	F_REG[3].arrow2=0;
	F_REG[3].shine=0;

	F_REG[4].x=172;
	F_REG[4].y=127;
	F_REG[4].w=12;
	F_REG[4].h=14;
	F_REG[4].type=1;
	F_REG[4].arrow1=0;
	F_REG[4].arrow2=0;
	F_REG[4].shine=0;

	F_Q[0].x=309;
	F_Q[0].y=375;
	F_Q[0].w=12;
	F_Q[0].h=22;
	F_Q[0].type=1;
	F_Q[0].arrow1=1;
	F_Q[0].arrow2=0;
	F_Q[0].shine=0;

	F_Q[1].x=312;
	F_Q[1].y=393;
	F_Q[1].w=52;
	F_Q[1].h=12;
	F_Q[1].type=0;
	F_Q[1].arrow1=0;
	F_Q[1].arrow2=0;
	F_Q[1].shine=0;

	F_Q[2].x=360;
	F_Q[2].y=127;
	F_Q[2].w=12;
	F_Q[2].h=275;
	F_Q[2].type=1;
	F_Q[2].arrow1=0;
	F_Q[2].arrow2=0;
	F_Q[2].shine=0;

	F_Q[3]=F_REG[3];
	F_Q[4]=F_REG[4];

	Q_Q[0]=F_Q[0];

	Q_Q[1].x=270;
	Q_Q[1].y=393;
	Q_Q[1].w=43;
	Q_Q[1].h=12;
	Q_Q[1].type=0;
	Q_Q[1].arrow1=0;
	Q_Q[1].arrow2=0;
	Q_Q[1].shine=0;

	Q_Q[2].x=262;
	Q_Q[2].y=256;
	Q_Q[2].w=12;
	Q_Q[2].h=146;
	Q_Q[2].type=1;
	Q_Q[2].arrow1=0;
	Q_Q[2].arrow2=0;
	Q_Q[2].shine=0;

	Q_Q[3].x=265;
	Q_Q[3].y=248;
	Q_Q[3].w=48;
	Q_Q[3].h=12;
	Q_Q[3].type=0;
	Q_Q[3].arrow1=0;
	Q_Q[3].arrow2=0;
	Q_Q[3].shine=0;

	Q_Q[4]=Q_S[2];
}

⌨️ 快捷键说明

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