simulator program of Number is minimun or maximun greater than zero
here in this program the smaco program is given .firstly generate there opcode and save as file name dot txt (.txt).write c program accese by file handling .
090008
041007
011008
051010
100010
110000
#include<string.h>
void main()
{
FILE *fp;
char a[10];
long int b;
int op;
int x;
int NM;
register areg;
fp=fopen("op.txt","r");
while((fgets(a,4096,fp))!=NULL)
{
//puts(a);
//b='a'+0;
sscanf(a,"%ld",&b);
op=b/10000;
switch(op)
{
case 1:
areg=x;
break;
case 4: show:
if(NM==0)
{
printf("Number is %d is greater than zero\n",x);
exit(0);
}
else if(NM==1)
{
printf("Number is %d is less than zero\n",x);
exit(0);
}
else if(NM==2)
{
printf("Number is %d is equal to zero\n",x);
exit(0);
}
break;
case 3:
printf("Enter Number");
scanf("%d",&x);
break;
case 5:
if(x==0)
{
NM=2;
}
goto show;
break;
case 6:
if(x<0)
{
NM=1;
}
else if(x>0)
{
NM=0;
}
goto show;
break;
break;
case 11:
{
exit(0);
}
break;
default:
printf("Error");
}
//printf("%ld %d\n",b,op);
}
}
- Opcode of program is given below
090008
041007
011008
051010
100010
110000
- C program is given below
#include<string.h>
void main()
{
FILE *fp;
char a[10];
long int b;
int op;
int x;
int NM;
register areg;
fp=fopen("op.txt","r");
while((fgets(a,4096,fp))!=NULL)
{
//puts(a);
//b='a'+0;
sscanf(a,"%ld",&b);
op=b/10000;
switch(op)
{
case 1:
areg=x;
break;
case 4: show:
if(NM==0)
{
printf("Number is %d is greater than zero\n",x);
exit(0);
}
else if(NM==1)
{
printf("Number is %d is less than zero\n",x);
exit(0);
}
else if(NM==2)
{
printf("Number is %d is equal to zero\n",x);
exit(0);
}
break;
case 3:
printf("Enter Number");
scanf("%d",&x);
break;
case 5:
if(x==0)
{
NM=2;
}
goto show;
break;
case 6:
if(x<0)
{
NM=1;
}
else if(x>0)
{
NM=0;
}
goto show;
break;
break;
case 11:
{
exit(0);
}
break;
default:
printf("Error");
}
//printf("%ld %d\n",b,op);
}
}
Comments
Post a Comment