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

Subversion Repositories mips789

Compare Revisions

  • This comparison shows the changes necessary to convert path
    /mips789/tags/arelease/bench/count
    from Rev 36 to Rev 51
    Reverse comparison

Rev 36 → Rev 51

/clean.bat
0,0 → 1,10
del *.bak
del *.map
del *.o
del *.exe
del *.axf
del *.txt
del *.bin
del sim_ram.v
del *.mif
del transcript
/count.c
0,0 → 1,143
#include "..\..\clib\dvc_lib.h"
 
/*count.c*/
#define putchar(a) uart0_putc(a)
#define puts(a) uart0_putstr(a)
 
char *name[] = {
"", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine",
"ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen",
"sixteen", "seventeen", "eighteen", "nineteen",
"", "ten", "twenty", "thirty", "forty", "fifty", "sixty", "seventy",
"eighty", "ninety"
};
 
char *xtoa(unsigned long num)
{
static char buf[12];
int i, digit;
buf[8] = 0;
for (i = 7; i >= 0; --i)
{
digit = num & 0xf;
buf[i] = digit + (digit < 10 ? '0' : 'A' - 10);
num >>= 4;
}
return buf;
}
 
char *itoa10(unsigned long num)
{
static char buf[12];
int i;
buf[10] = 0;
for (i = 9; i >= 0; --i)
{
buf[i] = (char)((num % 10) + '0');
num /= 10;
}
return buf;
}
 
void number_text(unsigned long number)
{
int digit;
puts(itoa10(number));
puts(": ");
if(number >= 1000000000)
{
digit = number / 1000000000;
puts(name[digit]);
puts(" billion ");
number %= 1000000000;
}
if(number >= 100000000)
{
digit = number / 100000000;
puts(name[digit]);
puts(" hundred ");
number %= 100000000;
if(number < 1000000)
{
puts("million ");
}
}
if(number >= 20000000)
{
digit = number / 10000000;
puts(name[digit + 20]);
putchar(' ');
number %= 10000000;
if(number < 1000000)
{
puts("million ");
}
}
if(number >= 1000000)
{
digit = number / 1000000;
puts(name[digit]);
puts(" million ");
number %= 1000000;
}
if(number >= 100000)
{
digit = number / 100000;
puts(name[digit]);
puts(" hundred ");
number %= 100000;
if(number < 1000)
{
puts("thousand ");
}
}
if(number >= 20000)
{
digit = number / 10000;
puts(name[digit + 20]);
putchar(' ');
number %= 10000;
if(number < 1000)
{
puts("thousand ");
}
}
if(number >= 1000)
{
digit = number / 1000;
puts(name[digit]);
puts(" thousand ");
number %= 1000;
}
if(number >= 100)
{
digit = number / 100;
puts(name[digit]);
puts(" hundred ");
number %= 100;
}
if(number >= 20)
{
digit = number / 10;
puts(name[digit + 20]);
putchar(' ');
number %= 10;
}
puts(name[number]);
putchar ('\r');
putchar ('\n');
}
 
 
int main2()
{
unsigned long number, i=0;
 
number = 3;
for(i = 0;; ++i)
{
number_text(number);
number *= 3;
}
}
 
/COUNT.GIF Cannot display: file marked as a binary type. svn:mime-type = application/octet-stream
COUNT.GIF Property changes : Added: svn:mime-type ## -0,0 +1 ## +application/octet-stream \ No newline at end of property Index: couNt.bat =================================================================== --- couNt.bat (nonexistent) +++ couNt.bat (revision 51) @@ -0,0 +1,18 @@ +path; +path=..\..\gccmips_elf +del *.axf +del *.txt +as -o boot.o ..\plasmaboot.asm +gcc -O2 -O -Wall -c -s ..\..\clib\dvc_lib.c +gcc -O2 -O -Wall -c -s count.c + +ld.exe -Ttext 0 -eentry -Map test.map -s -N -o test.axf boot.o dvc_lib.o count.o + +objdump.exe --disassemble test.axf > list.txt + +convert_sp +gensim +genmif +#ser_dld 9600 COM1 N +copy *.mif ..\..\quartus2\*.mif +#copy *.v ..\MODELSIM\*.v

powered by: WebSVN 2.1.0

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