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