Raspberry Piで何かを作ろうと思ったら、おそらく_抵抗器_を使うことになるでしょう。この演習では、抵抗器について2つのことを知っておく必要があります。
この問題を回避するために、メーカーは抵抗器にカラーコードの帯を印刷して、抵抗値を示しています。それぞれの帯には位置と数値があります。
抵抗器の最初の2本の帯には、シンプルな符号化の仕組みがあります。それぞれの色が1つの数値に対応するのです。たとえば、brownの帯(値1)の次にgreenの帯(値5)が印刷されていれば、それは15という数値になります。
この演習では、帯の値を覚えておかなくても済むように、便利なプログラムを作ります。このプログラムは色の名前を入力として受け取り、2桁の数値を出力します。入力が2色より多くても同じです。
帯の色は次のように符号化されています。
上の例では、 brown-greenは15を返し、 brown-green-violetも、3番目の色を無視して15を返すはずです。
| レジスター | 用途 | 型 | 説明 |
|---|---|---|---|
$a0 |
入力 | アドレス | 1つ目の色を表すnull終端文字列 |
$a1 |
入力 | アドレス | 2つ目の色を表すnull終端文字列 |
$a2 |
入力 | アドレス | 3つ目の色を表すnull終端文字列(空の場合もあります) |
$v0 |
出力 | 整数 | 抵抗器の値 |
$t0-9 |
一時的 | 任意 | 一時的に値を保存するため |
Exercismに登録すれば、70個の演習、そして本物の人間によるメンタリングとともに、MIPS Assemblyを学んでマスターできます。すべて無料です。