Simulator Program of Addition of TWO Number
we have a given smaco program .then we generate opcod of these program & it stored in a one new file dot txt(.txt) . next is write c progarmming to corresponding smaco program & opcode list.
011007
051008
061008
051009
063009
040079
111000
#include<string.h>
void main()
{
FILE *fp;
char a[10];
long int b;
int op;
int x[2],i=0;
register mem;
register areg;
fp=fopen("opcode.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=areg+x[1];
}
break;
case 4:
{
areg=x[0];
}
break;
case 9:
{printf("ENter Number");
scanf("%d",&x[i++]);
}
break;
case 5:
{
mem=areg;
}
break;
case 10:
{
printf("%d",mem);
}
break;
case 11:
{
exit(0);
}
break;
default:
printf("Error");
}
//printf("%ld %d\n",b,op);
}
}
- The Opcode List of Addition of Two number
011007
051008
061008
051009
063009
040079
111000
- The C program of Addition of Two number(of given smaco program)
#include<string.h>
void main()
{
FILE *fp;
char a[10];
long int b;
int op;
int x[2],i=0;
register mem;
register areg;
fp=fopen("opcode.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=areg+x[1];
}
break;
case 4:
{
areg=x[0];
}
break;
case 9:
{printf("ENter Number");
scanf("%d",&x[i++]);
}
break;
case 5:
{
mem=areg;
}
break;
case 10:
{
printf("%d",mem);
}
break;
case 11:
{
exit(0);
}
break;
default:
printf("Error");
}
//printf("%ld %d\n",b,op);
}
}
Comments
Post a Comment