Update for code standards

This commit is contained in:
M R Swami Reddy 2008-05-05 09:33:37 +00:00
parent 537e4bb9d6
commit 948b4edeea
1 changed files with 62 additions and 70 deletions

View File

@ -14,8 +14,8 @@
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License along
with this program. If not, see <http://www.gnu.org/licenses/>. */
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "config.h"
@ -30,9 +30,7 @@ static void write_opcodes PARAMS ((void));
static void write_template PARAMS ((void));
int
main (argc, argv)
int argc;
char *argv[];
main (int argc, char *argv[])
{
if ((argc > 1) && (strcmp (argv[1],"-h") == 0))
write_header();
@ -60,8 +58,8 @@ write_header ()
}
/* write_template creates a file all required functions, ready */
/* to be filled out */
/* write_template creates a file all required functions,
ready to be filled out. */
static void
write_template ()
@ -74,37 +72,37 @@ write_template ()
for ( ; i < NUMOPCODES; i++)
{
if (cr16_instruction[i].size != 0)
{
printf("/* %s */\nvoid\nOP_%X_%X ()\n{\n",cr16_instruction[i].mnemonic,cr16_instruction[i].match,(32 - cr16_instruction[i].match_bits));
/* count operands */
j = 0;
for (k=0;k<5;k++)
{
if (cr16_instruction[i].operands[k].op_type == dummy)
{
printf("/* %s */\nvoid\nOP_%X_%X ()\n{\n",cr16_instruction[i].mnemonic,cr16_instruction[i].match,(32 - cr16_instruction[i].match_bits));
/* count operands. */
j = 0;
for (k=0;k<5;k++)
{
if (cr16_instruction[i].operands[k].op_type == dummy)
break;
else
j++;
}
switch (j)
{
case 0:
printf ("printf(\" %s\\n\");\n",cr16_instruction[i].mnemonic);
break;
case 1:
printf ("printf(\" %s\\t%%x\\n\",OP[0]);\n",cr16_instruction[i].mnemonic);
break;
case 2:
printf ("printf(\" %s\\t%%x,%%x\\n\",OP[0],OP[1]);\n",cr16_instruction[i].mnemonic);
break;
case 3:
printf ("printf(\" %s\\t%%x,%%x,%%x\\n\",OP[0],OP[1],OP[2]);\n",cr16_instruction[i].mnemonic);
break;
default:
fprintf (stderr,"Too many operands: %d\n",j);
}
printf ("}\n\n");
}
}
switch (j)
{
case 0:
printf ("printf(\" %s\\n\");\n",cr16_instruction[i].mnemonic);
break;
case 1:
printf ("printf(\" %s\\t%%x\\n\",OP[0]);\n",cr16_instruction[i].mnemonic);
break;
case 2:
printf ("printf(\" %s\\t%%x,%%x\\n\",OP[0],OP[1]);\n",cr16_instruction[i].mnemonic);
break;
case 3:
printf ("printf(\" %s\\t%%x,%%x,%%x\\n\",OP[0],OP[1],OP[2]);\n",cr16_instruction[i].mnemonic);
break;
default:
fprintf (stderr,"Too many operands: %d\n",j);
}
printf ("}\n\n");
}
}
}
@ -127,56 +125,50 @@ write_opcodes ()
{
int i = 0, j = 0, k;
unsigned long mask;
/* write out opcode table */
/* write out opcode table. */
printf ("#include \"cr16_sim.h\"\n");
printf ("#include \"simops.h\"\n\n");
printf ("struct simops Simops[] = {\n");
for ( ; i < NUMOPCODES; i++)
for (i = NUMOPCODES-1; i >= 0; --i)
{
if (cr16_instruction[i].size != 0)
{
{
printf (" { \"%s\", %ld, %d, %d, %d, \"OP_%X_%X\", OP_%X_%X, ",
cr16_instruction[i].mnemonic, cr16_instruction[i].size,
cr16_instruction[i].match_bits, cr16_instruction[i].match,
cr16_instruction[i].flags, ((BIN(cr16_instruction[i].match, cr16_instruction[i].match_bits))>>(cr16_instruction[i].match_bits)),
(32 - cr16_instruction[i].match_bits),
(32 - cr16_instruction[i].match_bits),
((BIN(cr16_instruction[i].match, cr16_instruction[i].match_bits))>>(cr16_instruction[i].match_bits)), (32 - cr16_instruction[i].match_bits));
j = 0;
for (k=0;k<5;k++)
{
if (cr16_instruction[i].operands[k].op_type == dummy)
j = 0;
for (k=0;k<5;k++)
{
if (cr16_instruction[i].operands[k].op_type == dummy)
break;
else
j++;
}
printf ("%d, ",j);
j = 0;
for (k=0;k<4;k++)
{
int flags = cr16_instruction[i].operands[k].op_type;
int match_bits = cr16_instruction[i].operands[k].shift;
{
if (j == 0)
printf ("{");
else
printf (", ");
// if (cr16_instruction[i].size == 2)
// match_bits += 15;
printf ("{");
printf ("%d,%d",cr16_instruction[i].operands[k].shift,flags);
printf ("}");
j = 1;
}
}
if (j)
printf ("}");
printf ("},\n");
}
}
//printf (" { 0,0,0,0,(void (*)(void))0,0,{0,0,0}},\n};\n");
printf ("%d, ",j);
j = 0;
for (k=0;k<4;k++)
{
int optype = cr16_instruction[i].operands[k].op_type;
int shift = cr16_instruction[i].operands[k].shift;
if (j == 0)
printf ("{");
else
printf (", ");
printf ("{");
printf ("%d,%d",optype, shift);
printf ("}");
j = 1;
}
if (j)
printf ("}");
printf ("},\n");
}
}
printf (" { \"NULL\",1,8,0,0,\"OP_0_20\",OP_0_20,0,{0,0,0}},\n};\n");
}