اگر بخواهید با Raspberry Pi چیزی بسازید، احتمالاً از مقاومتها استفاده میکنید. برای این تمرین، باید دو نکته را دربارهی آنها بدانید:
برای حل این مشکل، تولیدکنندگان نوارهایی با کد رنگی روی مقاومتها چاپ میکنند تا مقدار مقاومتشان را نشان دهند. هر نوار یک موقعیت و یک مقدار عددی دارد.
۲ نوار اول یک مقاومت یک طرح رمزگذاری ساده دارند: هر رنگ به یک عدد مشخص نگاشت میشود. برای مثال، اگر نواری با رنگ brown (با مقدار 1) و سپس نواری با رنگ green (با مقدار 5) چاپ کنند، به عدد 15 تبدیل میشود.
در این تمرین میخواهید برنامهای مفید بسازید تا لازم نباشد مقدار نوارها را به خاطر بسپارید. برنامه نام رنگها را بهعنوان ورودی میگیرد و یک عدد دورقمی را بهعنوان خروجی میدهد، حتی اگر ورودی بیش از دو رنگ باشد!
رنگ نوارها به این صورت رمزگذاری شدهاند:
از مثال بالا: brown-green باید 15 را برگرداند و brown-green-violet هم باید 15 را برگرداند و رنگ سوم را نادیده میگیرد.
| ثبات | کاربرد | نوع | توضیح |
|---|---|---|---|
$a0 |
ورودی | آدرس | رنگ اول بهصورت رشتهی پایانیافته با پوچ |
$a1 |
ورودی | آدرس | رنگ دوم بهصورت رشتهی پایانیافته با پوچ |
$a2 |
ورودی | آدرس | رنگ سوم بهصورت رشتهی پایانیافته با پوچ (که ممکن است خالی باشد) |
$v0 |
خروجی | عدد صحیح | مقدار مقاومت |
$t0-9 |
موقت | هر نوع | برای ذخیرهسازی موقت |
در Exercism ثبتنام کنید تا MIPS Assembly را همراه با 70 تمرین و مربیگری انسانی واقعی یاد بگیرید و در آن استاد شوید، همهی اینها رایگان.