亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲蟲下載站

?? mubiaodaimajifenpei.cpp

?? 目標(biāo)代碼生成(C++)源代碼+詳細(xì)的課程設(shè)計報告 源程序的中間代碼變換成依賴于具體機(jī)器的等價的目標(biāo)代碼
?? CPP
字號:
#include<iostream>
#include<string>
using namespace std;


class Register
{
public:
	int num;
	int active;
	int Print_Register;
	string str;
};



void set(Register &a, int num)
{ 
	a.active=1;
	a.num=num;
}

void exchange_str_num(string str,int i,int &a,int &b,int i3)
{
	int t,k,key,a1,b1,multiples1,multiples2;
	a1=0;
	b1=0;
	multiples1=1;
	multiples2=10;
	key=1;
	t=i;
	k=i;
	for(t=i;(t>0)&((str[t-1]!='+')&(str[t-1]!='-')&(str[t-1]!='*')&(str[t-1]!='/'));t--)
		{ 
			a1=(str[t-1]-48)*multiples1+a1;
			multiples1=multiples1*10;
		}

	for(k=i;(k<(str.length()-1))&((str[k+1]!='+')&(str[k+1]!='-')&(str[k+1]!='*')&(str[k+1]!='/'));k++)
		{ 
			b1=b1*multiples2+(str[k+1]-48);
	
		}
	
	a=a1;
	b=b1;
	if(i3==1)
	{
	a=a+b;
	b=a-b;
	a=a-b;
	}


} 


void exchange_num_str(string &str,int &i,int c)
{
	string str1,str2;
	int k1,k2,t,k,d,e;

		for(t=i;(t>0)&((str[t-1]!='+')&(str[t-1]!='-')&(str[t-1]!='*')&(str[t-1]!='/'));t--)
		{ 
		}
		k1=t;

		for(k=i;(k<(str.length()-1))&((str[k+1]!='+')&(str[k+1]!='-')&(str[k+1]!='*')&(str[k+1]!='/'));k++)
		{ 	
		}
		k2=k;
		for(int i1=0;i1<k1;i1++)
		{
			str1+=str[i1];
		}
		for(;c>10;)
		{	
		d=c%10;
		c=c/10;
		str2+=char(d+48);
		} 
		str2+=char(c+48);
	
		e=str2.length();
		for(e=e-1;e>=0;e--)
		{    
		str1+=str2[e];
		}
		for(int j=k2+1;j<(str.length());j++)
		{
		str1+=str[j];
		}
		str=str1;
	

}

void  move_num(Register &ax,Register &bx,Register &cx,int &a,int &b)
{ 
	if((ax.Print_Register==1)||(bx.Print_Register==1))
	{
					if(ax.active==0)
						set(ax,b);
					else 
						if(bx.active==0) 
							set(bx,b);
						else 
							if(cx.active==0)
								set(cx,b);
	}
	else
	{
					if(ax.active==0)
					{  
						set(ax,a);
					}
					else 
						if(bx.active==0) 
						{
							set(bx,a);
						}
						else 
							if(cx.active==0)
							{
								set(cx,a);
							}
					if(ax.active==0)
						set(ax,b);
					else 
						if(bx.active==0) 
							set(bx,b);
						else 
							if(cx.active==0)
								set(cx,b);
	}
}

void Print_result(Register &ax,Register &bx,Register &cx,Register &R1,Register &R2,string &str1,string &str2)
{	
	if(cx.active==1)
	{	
		
		str1=bx.str;
		R1=bx;
         
		str2=cx.str;
		R2=cx;
	} 
	else
	{	
		str1=ax.str;
		R1=ax;
         
		str2=bx.str;
		R2=bx;
	}
						
	if((ax.Print_Register==1)||(bx.Print_Register==1))
	{
		cout<<"MOV  "<<str2<<"  "<<R2.num<<endl;
	}
	else 
	{
		cout<<"MOV  "<<str1<<"  "<<R1.num<<endl;
		cout<<"MOV  "<<str2<<"  "<<R2.num<<endl;
		if(R1.str==ax.str)
			ax.Print_Register=1;
		if(R1.str==bx.str)
			bx.Print_Register=1;
		if(R1.str==cx.str)
			cx.Print_Register=1;		
	}
	if(cx.active==1)
	{
		cx.active=0;
	}
	else
	{
		bx.active=0;
	}	
}


int MULDIV(Register &ax,Register &bx,Register &cx,Register &dx,Register &R1,Register &R2,string &str1,string &str2,char str)
{
		if(str=='*')
			{	
				cout<<"MUL  "<<str2<<endl;
				if(str1==ax.str)
				{
					ax.num=R1.num*R2.num;
					return ax.num;
				}
				if(str1==bx.str)
				{
					bx.num=R1.num*R2.num;
					return bx.num;
				}
				if(str1==cx.str)
				{
					cx.num=R1.num*R2.num;
					return cx.num;
				}
				if(str1==dx.str)
				{
					dx.num=R1.num*R2.num;
					return dx.num;
				}
			}
           if(str=='/')
			{	
				cout<<"DIV  "<<str2<<endl;
				if(str1==ax.str)
				{
					ax.num=R1.num/R2.num;
					return ax.num;
				}
				if(str1==bx.str)
				{
					bx.num=R1.num/R2.num;
					return bx.num;
				}
				if(str1==cx.str)
				{
					cx.num=R1.num/R2.num;
					return cx.num;
				}
				if(str1==dx.str)
				{
					dx.num=R1.num/R2.num;
					return dx.num;
				}
			}
}


int ADDSUB(Register &ax,Register &bx,Register &cx,Register &dx,Register &R1,Register &R2,string &str1,string &str2,char str)
{
	  if(str=='+')
			{	
				cout<<"ADD  "<<str1<<"  "<<str2<<endl;
				if(str1==ax.str)
				{
					ax.num=R1.num+R2.num;
					return ax.num;
				}
				if(str1==bx.str)
				{
					bx.num=R1.num+R2.num;
					return bx.num;
				}
				if(str1==cx.str)
				{
					cx.num=R1.num+R2.num;
					return cx.num;
				}
				if(str1==dx.str)
				{
					dx.num=R1.num+R2.num;
					return dx.num;
				}
			}
	    if(str=='-')
			{	
				cout<<"SUB  "<<str1<<"  "<<str2<<endl;
				if(str1==ax.str)
				{
					ax.num=R1.num-R2.num;
					return ax.num;
				}
				if(str1==bx.str)
				{
					bx.num=R1.num-R2.num;
					return bx.num;
				}
				if(str1==cx.str)
				{
					cx.num=R1.num-R2.num;
					return cx.num;
				}
				if(str1==dx.str)
				{
					dx.num=R1.num-R2.num;
					return dx.num;
				}
			}
}



void Result(Register ax,Register bx,Register cx,Register dx)
{
	    cout<<"AX="<<ax.num<<"  ";
		cout<<"BX="<<bx.num<<"  ";
		cout<<"CX="<<cx.num<<"  ";
		cout<<"DX="<<dx.num<<endl<<endl;
}


void main()
{
	string str,str1,str2,str3;
	Register ax,bx,cx,dx,R1,R2;
	int a,b,c;

	ax.str="AX";
	bx.str="BX";
	cx.str="CX";
	dx.str="DX";

	ax.active=0;
	bx.active=0;
	cx.active=0;
	dx.active=0;

	ax.num=0;
	bx.num=0;
	cx.num=0;
	dx.num=0;

	ax.Print_Register=0;
	bx.Print_Register=0;
	cx.Print_Register=0;
	dx.Print_Register=0;
                                                                                                                                                                                                                                                                                                                                                                                                                              
	cout<<"***********************************************************************"<<endl;
	cout<<"*****************       生成目標(biāo)代碼,分配寄存器          *************"<<endl;
	cout<<"***********************************************************************"<<endl;

	cout<<"請輸入您想轉(zhuǎn)換的表達(dá)式:"<<endl;
	getline(cin,str);
	int i3=0;
	int time=0;
	for(int i=0;i<str.length();i++)
	{   
		
		int g1=0;
	        
		if ((str[i]=='*')||(str[i]=='/'))
		{  	
			for(int g=i;g>0;g--)
			{
				if(str[g]=='+')
				g1=1;
			}
		if((g1==1)&(time>0))
			{	
			cout<<"MOV CX AX"<<endl;
			cx.num=ax.num;
			ax.active=0;
			ax.Print_Register=0;
			bx.Print_Register=0;
			}
		exchange_str_num(str,i,a,b,i3); 
	    move_num(ax,bx,cx,a,b);
		Print_result(ax,bx,cx,R1,R2,str1,str2);
		c=MULDIV(ax,bx,cx,dx,R1,R2,str1,str2,str[i]);
		Result(ax,bx,cx,dx);	
		
		for(int i2=i;i2>0;i2--)
		{
			if((str[i2]=='+')||(str[i2]=='-'))
			{
					i3=1;
					i2=0;	
			}
		
		}		
		exchange_num_str(str,i,c);
		i=0;
		}
		time++;
	}

	for(int j=0;j<str.length();j++)
	{   
		if ((str[j]=='+')||(str[j]=='-'))
		{ 
			exchange_str_num(str,j,a,b,i3); 
		    move_num(ax,bx,cx,a,b);
			Print_result(ax,bx,cx,R1,R2,str1,str2);	
			c=ADDSUB(ax,bx,cx,dx,R1,R2,str1,str2,str[j]);
			Result(ax,bx,cx,dx);	
			exchange_num_str(str,j,c);
			j=0;
		}

	}
}

?? 快捷鍵說明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
成人一级片网址| 亚洲精品一区二区三区福利| 9l国产精品久久久久麻豆| 日韩美女在线视频 | 国产一区二区三区四区在线观看| 91精品国产综合久久精品app| 日韩av在线发布| 日韩一区二区高清| 国产福利一区在线| 国产精品免费丝袜| 色94色欧美sute亚洲线路二 | 久久看人人爽人人| 国产mv日韩mv欧美| 亚洲乱码国产乱码精品精98午夜| 欧美亚洲综合一区| 青娱乐精品在线视频| 国产色91在线| 色播五月激情综合网| 在线免费观看视频一区| 成人18视频在线播放| 国产精品三级视频| 色综合色狠狠天天综合色| 亚洲国产日韩在线一区模特| 国产精品夫妻自拍| 一本到不卡免费一区二区| 日本特黄久久久高潮| 国产亚洲精品免费| 欧美少妇bbb| 国产在线视频一区二区| 亚洲码国产岛国毛片在线| 欧美精品久久99| 国产xxx精品视频大全| 亚洲成人综合网站| 国产午夜精品久久久久久久| 欧美体内she精高潮| 国产在线不卡一卡二卡三卡四卡| 亚洲精品久久嫩草网站秘色| 精品伦理精品一区| 欧美在线小视频| 国产在线播精品第三| 亚洲一区二区欧美激情| 一区二区三区四区精品在线视频| 精品免费一区二区三区| 成人av手机在线观看| 日韩av电影免费观看高清完整版 | 国产精品一区二区久久不卡| 亚洲日本丝袜连裤袜办公室| 日韩精品专区在线影院观看| 91老师片黄在线观看| 青青青伊人色综合久久| 亚洲欧洲日韩av| 久久亚洲影视婷婷| 69堂精品视频| 欧美亚洲高清一区| 99综合影院在线| 国产成人免费在线观看| 99久久国产综合精品色伊| 免费成人美女在线观看.| 亚洲一区视频在线观看视频| 国产精品视频一二三区| 欧美刺激脚交jootjob| 欧美午夜精品免费| 午夜精品爽啪视频| 日本一二三四高清不卡| 欧美一区二区视频观看视频| 91黄色激情网站| 成人h动漫精品| 国产成a人亚洲| 狠狠色丁香九九婷婷综合五月| 日本欧美大码aⅴ在线播放| 亚洲一区影音先锋| 亚洲中国最大av网站| 亚洲另类春色校园小说| 1024成人网| 亚洲色图丝袜美腿| 亚洲欧洲一区二区在线播放| 国产精品高潮呻吟久久| 亚洲欧洲日韩在线| 亚洲三级电影网站| 亚洲视频中文字幕| 亚洲黄色av一区| 一区二区不卡在线视频 午夜欧美不卡在 | 欧洲亚洲精品在线| 国产jizzjizz一区二区| 韩国成人福利片在线播放| 免费成人美女在线观看| 九九九精品视频| 国精品**一区二区三区在线蜜桃| 麻豆成人91精品二区三区| 日本va欧美va精品发布| 麻豆免费看一区二区三区| 久久99精品一区二区三区| 麻豆成人久久精品二区三区红 | 成人永久看片免费视频天堂| 国产99久久久国产精品潘金| 成人黄色大片在线观看| 91污在线观看| 欧美三级中文字| 日韩一二三区不卡| 久久麻豆一区二区| 中文字幕一区二区三区av| 一区二区三区欧美久久| 婷婷综合另类小说色区| 精品一区二区日韩| 一区二区三区精品在线| 欧美成人在线直播| 精品国产百合女同互慰| 精品粉嫩超白一线天av| 国产精品视频你懂的| 一区二区三区在线视频观看 | 国产99久久久久久免费看农村| 成人av网站在线观看免费| 91黄色免费看| 亚洲精品免费看| 亚洲成人中文在线| 国产麻豆精品95视频| 91亚洲大成网污www| 91精品久久久久久久91蜜桃| 国产目拍亚洲精品99久久精品| 亚洲黄色免费电影| 精品一区二区在线免费观看| 99这里只有精品| 日韩欧美精品在线视频| 亚洲欧美电影院| 久久成人av少妇免费| 91亚洲国产成人精品一区二区三| 日韩一区二区电影| 亚洲永久精品国产| 午夜一区二区三区在线观看| 国产酒店精品激情| 欧美日韩精品综合在线| 国产精品素人视频| 久久精品国产亚洲5555| 欧美中文字幕一区二区三区亚洲| 精品国产一区二区在线观看| 亚洲综合丁香婷婷六月香| 国产成人精品www牛牛影视| 欧美美女bb生活片| 自拍av一区二区三区| 国产乱子轮精品视频| 欧美日韩国产a| 亚洲激情第一区| 成人免费视频app| 日韩精品一区二区三区swag| 一区二区三区在线不卡| 成人免费毛片高清视频| 26uuu久久天堂性欧美| 偷拍日韩校园综合在线| 色域天天综合网| 国产精品亲子乱子伦xxxx裸| 精品中文av资源站在线观看| 欧美日韩在线播放三区| 综合色天天鬼久久鬼色| 国产99久久久国产精品潘金网站| 亚洲欧美在线视频| 国产成人aaa| 亚洲一级二级在线| 久久久午夜精品| 视频一区国产视频| 91福利视频在线| 亚洲欧美在线另类| av激情综合网| 中文字幕一区二区三区不卡在线| 丰满放荡岳乱妇91ww| 国产日产精品1区| 国产乱国产乱300精品| 日韩精品一区二区三区三区免费| 日韩一区精品字幕| 777久久久精品| 水野朝阳av一区二区三区| 欧美剧情片在线观看| 亚洲成av人片在线| 欧美高清激情brazzers| 免费一级片91| 欧美变态凌虐bdsm| 韩国成人精品a∨在线观看| 精品成人a区在线观看| 国产精品亚洲成人| 国产精品毛片高清在线完整版| 成人高清在线视频| 亚洲品质自拍视频| 欧美日韩一二三| 日韩av电影免费观看高清完整版在线观看| 欧美欧美欧美欧美首页| 日韩和欧美的一区| 精品999在线播放| 成人高清视频在线观看| 蜜桃精品在线观看| 99久精品国产| 国产精品二三区| 91免费视频大全| 亚洲国产成人av好男人在线观看| 欧美精三区欧美精三区| 麻豆精品国产91久久久久久| ww久久中文字幕| 91污在线观看| 免费高清在线一区| 国产日产精品一区| 欧美天堂亚洲电影院在线播放| 日韩av成人高清|