If you want to build something using a Raspberry Pi, you'll probably use resistors. For this exercise, you need to know two things about them:
To get around this problem, manufacturers print color-coded bands onto the resistors to denote their resistance values. Each band has a position and a numeric value.
The first 2 bands of a resistor have a simple encoding scheme: each color maps to a single number. For example, if they printed a brown band (value 1) followed by a green band (value 5), it would translate to the number 15.
In this exercise you are going to create a helpful program so that you don't have to remember the values of the bands. The program will take color names as input and output a two digit number, even if the input is more than two colors!
The band colors are encoded as follows:
From the example above: brown-green should return 15, and brown-green-violet should return 15 too, ignoring the third color.
Register | Usage | Type | Description |
---|---|---|---|
$a0 |
input | address | first color as null-terminated string |
$a1 |
input | address | second color as null-terminated string |
$a2 |
input | address | third color as null-terminated string (possibly empty) |
$v0 |
output | integer | resistor value |
$t0-9 |
temporary | any | for temporary storage |
Sign up to Exercism to learn and master MIPS Assembly with 54 exercises, and real human mentoring, all for free.