Only 24 hours!!! Due to a coder not finishing this project I am in Big Trouble! It is due at midnight on October 22.
Write a MIPS assembly language program using SPIM which converts numbers between bases.
1 -- Old base
2 -- Number to be converted.
3 -- New base.
NOTE: Bases are entered in decimal.
Number in new base.
Error messages for illegal values or bases.
Use uppercase letters to represent digits above 9.
Ex. A = 10
B = 11
Z = 35
For the old and new base accept any value from 2 through 36.
Assume that only positive numbers will be entered.
Assume numbers are limited to 32 bits.
Design the program so that multiple conversions can be done with a single run.
atUse procedures to help organize your program.
I have some pseudo code that will make this program alot easier for you:
dec = 0
while (more char)
dec = dec * old base
digit = Ch - 48
dec = dec + digit
if (ch > 57 )
then subtract 55 // because you want A = 10
while (dec > 0 )
digit = dec % newbase // % = mod
dec = dec / newbase
// I think you need here if (digit > 9), then add 55 but I am not sure
*p = digit + 48
The only problem with this is it puts the new number in the array backwards so you have to turn it around.
Well documented listing of your source program.
1) Complete and fully-functional working program(s) in executable form as well as complete source code of all work done.
2) Installation package that will install the software (in ready-to-run condition) on the platform(s) specified in this bid request.
3) Complete ownership and distribution copyrights to all work purchased.
Must compile on PCSPIM