OpenCores
URL https://opencores.org/ocsvn/lwrisc/lwrisc/trunk

Subversion Repositories lwrisc

[/] [lwrisc/] [trunk/] [CTOOL/] [hexdasm.c] - Diff between revs 15 and 16

Go to most recent revision | Show entire file | Details | Blame | View Log

Rev 15 Rev 16
Line 53... Line 53...
static                unsigned char     FSR             @ 0x04;
static                unsigned char     FSR             @ 0x04;
static volatile       unsigned char     WB_DATA         @ 0x05;
static volatile       unsigned char     WB_DATA         @ 0x05;
static volatile       unsigned char     WB_CTL          @ 0x06;*/
static volatile       unsigned char     WB_CTL          @ 0x06;*/
static char reg_name[30];
static char reg_name[30];
char*find_reg(unsigned int t)
char*find_reg(unsigned int t)
{
{/*
    //puts(&ins[7]);
    //puts(&ins[7]);
    if(t==0)
    if(t==0)
    {
    {
        //  printf("t=%d",t);
        //  printf("t=%d",t);
        strcpy(reg_name,"WB_ADDR");
        strcpy(reg_name,"WB_ADDR");
        return reg_name ;
        return reg_name ;
    }
    }
    //    if(reg_no==0)strcpy(reg_name,"WB_CTL");
    //    if(reg_no==0)strcpy(reg_name,"WB_CTL");
    else if(t==1)
    else if(t==1)
    {
    {
        strcpy(reg_name,"TMR");
        strcpy(reg_name,"TMR");
        return reg_name ;
        return reg_name ;
    }
    }
    //    else if(reg_no==1)strcpy(reg_name,"WB_ADDR");
    //    else if(reg_no==1)strcpy(reg_name,"WB_ADDR");
    else if(t==2)
    else if(t==2)
    {
    {
        strcpy(reg_name,"PCL");
        strcpy(reg_name,"PCL");
        return reg_name ;
        return reg_name ;
    }
    }
    else if(t-3==0)
 
 
    else
 
    */ if(t-3==0)
    {
    {
        strcpy(reg_name,"STATUS");
        strcpy(reg_name,"STATUS");
        return reg_name ;
        return reg_name ;
    }
    }/*
    else if(t==0+4)
    else if(t==0+4)
    {
    {
        strcpy(reg_name,"FSR");
        strcpy(reg_name,"FSR");
        return reg_name ;
        return reg_name ;
    }
    }
    else if(t==5+0)
    else if(t==5+0)
    {
    {
        strcpy(reg_name,"WB_DATA");
        strcpy(reg_name,"WB_DATA");
        return reg_name ;
        return reg_name ;
    }
    }
    //else if(reg_no==5)strcpy(reg_name,"WB_WR_DATA");
    //else if(reg_no==5)strcpy(reg_name,"WB_WR_DATA");
    else if(t==6+0)
    else if(t==6+0)
    {
    {
        strcpy(reg_name,"WB_CTL");
        strcpy(reg_name,"WB_CTL");
        return reg_name ;
        return reg_name ;
    }
    }
    //else if(reg_no==6)strcpy(reg_name,"WB_RD_DATA");
    //else if(reg_no==6)strcpy(reg_name,"WB_RD_DATA");
    else if(t==0+1+6)
    else if(t==0+1+6)
    {
    {
        strcpy(reg_name,"PORTC");
        strcpy(reg_name,"PORTC");
        return reg_name ;
        return reg_name ;
    }
    }
 
    */
    return NULL ;
    return NULL ;
}
}
 
 
char hex[]=
char hex[]=
{
{
Line 169... Line 172...
    if(ins[11-3]=='1')t+=8 ;
    if(ins[11-3]=='1')t+=8 ;
    if(ins[11-4]=='1')t+=16;//1<<4 ;
    if(ins[11-4]=='1')t+=16;//1<<4 ;
    if(ins[11-5]=='1')t+=32;//1<<5 ;
    if(ins[11-5]=='1')t+=32;//1<<5 ;
    if(ins[11-6]=='1')t+=64;//1<<6 ;
    if(ins[11-6]=='1')t+=64;//1<<6 ;
    if(ins[11-7]=='1')t+=128;//1<<7 ;
    if(ins[11-7]=='1')t+=128;//1<<7 ;
    if(ins[11-8]=='1')t+=256;//1<<8 ;
   // if(ins[11-8]=='1')t+=256;//1<<8 ;
    return t ;
    return t ;
}
}
 
 
//get instant data from instruction!
//get instant data from instruction!
unsigned int gen_ins_in(char*ins)
unsigned int gen_ins_in(char*ins)
Line 860... Line 863...
    {
    {
      //  printf("%X : %X;\n",Memory[i].nAddress,Memory[i].byData);
      //  printf("%X : %X;\n",Memory[i].nAddress,Memory[i].byData);
        fprintf(fpi,"%4X : %4X;\n",Memory[i].nAddress,Memory[i].byData);
        fprintf(fpi,"%4X : %4X;\n",Memory[i].nAddress,Memory[i].byData);
    }
    }
 
 
    fprintf(fpi,"\END;\n");
    fprintf(fpi,"\nEND;\n");
    printf("\END;\n");
    printf("\END;\n");
    close(fpi);
    close(fpi);
    /*output simulate verilog code */
    /*output simulate verilog code */
    /*
    /*
            for(i=0;;++i)
            for(i=0;;++i)
Line 951... Line 954...
    }
    }
    close(fpi);
    close(fpi);
    //   getchar();
    //   getchar();
 
 
 
 
    strcpy(mif_fn,"rom_set.h");
  //  strcpy(mif_fn,"rom_set.h");
 
 
    fpi=fopen(mif_fn,"w");
   // fpi=fopen(mif_fn,"w");
    for(i=0;i<nMemoryCount;i++)
    for(i=0;i<nMemoryCount;i++)
    {
    {
    if ((Memory[i].nAddress==2047)&&(Memory[i-1].nAddress!=2046))continue;
    if ((Memory[i].nAddress==2047)&&(Memory[i-1].nAddress!=2046))continue;
    if ((Memory[i].nAddress==1023)&&(Memory[i-1].nAddress!=1022))continue;
    if ((Memory[i].nAddress==1023)&&(Memory[i-1].nAddress!=1022))continue;
    if (Memory[i].nAddress>max) max=Memory[i].nAddress;
    if (Memory[i].nAddress>max) max=Memory[i].nAddress;
Line 969... Line 972...
    }
    }
    addr_wdt = func1(max);
    addr_wdt = func1(max);
    //  fprintf(fpi,"`define     ALT_MEM_WIDTHAD   %d\n",addr_wdt);
    //  fprintf(fpi,"`define     ALT_MEM_WIDTHAD   %d\n",addr_wdt);
   //   fprintf(fpi,"`define     ALT_MEM_NUMWORDS  %d\n",1<<addr_wdt); 
   //   fprintf(fpi,"`define     ALT_MEM_NUMWORDS  %d\n",1<<addr_wdt); 
   //   `define      MIF_NAME  %s\n\n","init_file.mif");  
   //   `define      MIF_NAME  %s\n\n","init_file.mif");  
    fprintf(fpi,"`define    ROM_TYPE  rom%dx12\n\n",1<<func1(max));
//    fprintf(fpi,"`define    ROM_TYPE  rom%dx12\n\n",1<<func1(max));
 
 
    close(fpi);
   // close(fpi);
    //   getchar();
    //   getchar();
}
}
 
 
 
 
 No newline at end of file
 No newline at end of file

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.