MIPS/resources/soft/perf_func/lib/printbase.c
Paul Pan 7b33e4213a a big update
1. add test soft
2. modify verilator (TODO: crossbar need to replace)
3. fix CP0: now CU0 is always 1
4. Controller: cacheop
5. Controller: fix TEN
6. mycpu_top fix CP0_i
7. fix AXI.sv
8. fix AXIReader.sv
9. fix AXIWriter.sv: getting the correct data and length
10. MU: fix cache writeback, fix mem data mux, fix writer address, fix read request
2022-07-29 18:25:58 +08:00

29 lines
373 B
C

int printbase(long v,int w,int base,int sign)
{
int i,j;
int c;
char buf[64];
unsigned long value;
if(sign && v<0)
{
value = -v;
putchar('-');
}
else value=v;
for(i=0;value;i++)
{
buf[i]=value%base;
value=value/base;
}
#define max(a,b) (((a)>(b))?(a):(b))
for(j=max(w,i);j>0;j--)
{
c=j>i?0:buf[j-1];
putchar((c<=9)?c+'0':c-0xa+'a');
}
return 0;
}