مسیرها
/
MIPS Assembly
MIPS Assembly
/
تمرین‌ها
/
رنگ مقاومت دوگانه
رنگ مقاومت دوگانه

رنگ مقاومت دوگانه

متوسط

دستورالعمل‌ها

اگر بخواهید با Raspberry Pi چیزی بسازید، احتمالاً از مقاومت‌ها استفاده می‌کنید. برای این تمرین، باید دو نکته را درباره‌ی آن‌ها بدانید:

  • هر مقاومت یک مقدار مقاومت دارد.
  • مقاومت‌ها کوچک‌اند، آن‌قدر کوچک که اگر مقدار مقاومت را روی‌شان چاپ کنید، خواندنش سخت می‌شود.

برای حل این مشکل، تولیدکنندگان نوارهایی با کد رنگی روی مقاومت‌ها چاپ می‌کنند تا مقدار مقاومت‌شان را نشان دهند. هر نوار یک موقعیت و یک مقدار عددی دارد.

۲ نوار اول یک مقاومت یک طرح رمزگذاری ساده دارند: هر رنگ به یک عدد مشخص نگاشت می‌شود. برای مثال، اگر نواری با رنگ brown (با مقدار 1) و سپس نواری با رنگ green (با مقدار 5) چاپ کنند، به عدد 15 تبدیل می‌شود.

در این تمرین می‌خواهید برنامه‌ای مفید بسازید تا لازم نباشد مقدار نوارها را به خاطر بسپارید. برنامه نام رنگ‌ها را به‌عنوان ورودی می‌گیرد و یک عدد دورقمی را به‌عنوان خروجی می‌دهد، حتی اگر ورودی بیش از دو رنگ باشد!

رنگ نوارها به این صورت رمزگذاری شده‌اند:

  • black: 0
  • brown: 1
  • red: 2
  • orange: 3
  • yellow: 4
  • green: 5
  • blue: 6
  • violet: 7
  • grey: 8
  • white: 9

از مثال بالا: brown-green باید 15 را برگرداند و brown-green-violet هم باید 15 را برگرداند و رنگ سوم را نادیده می‌گیرد.

ثبات‌ها

ثبات کاربرد نوع توضیح
$a0 ورودی آدرس رنگ اول به‌صورت رشته‌ی پایان‌یافته با پوچ
$a1 ورودی آدرس رنگ دوم به‌صورت رشته‌ی پایان‌یافته با پوچ
$a2 ورودی آدرس رنگ سوم به‌صورت رشته‌ی پایان‌یافته با پوچ (که ممکن است خالی باشد)
$v0 خروجی عدد صحیح مقدار مقاومت
$t0-9 موقت هر نوع برای ذخیره‌سازی موقت
ویرایش از طریق GitHub این لینک در پنجره یا زبانه‌ی جدیدی باز می‌شود
MIPS Assembly Exercism

آماده‌اید رنگ مقاومت دوگانه را شروع کنید؟

در Exercism ثبت‌نام کنید تا MIPS Assembly را همراه با 70 تمرین و مربی‌گری انسانی واقعی یاد بگیرید و در آن استاد شوید، همه‌ی این‌ها رایگان.