سؤال

ماذا سيكون رمز التجميع لـ 68HC11 لحساب قيمة الجيب باستخدام إما سلسلة تايلور أو جدول بحث؟

ستكون قيمة العرض فقط في عدد صحيح. كيف ستعمل جدول البحث في هذه الحالة؟ كيف يمكن تنفيذه باستخدام سلسلة تايلور?

هل كانت مفيدة؟

المحلول

لم أفعل أي شيء 68HC11 البرمجة منذ فترة طويلة ، لذلك لن أتمكن من تقديم تعليمات دقيقة لك ، لكنك تريد أن تفعل أكثر أو أقل ما يلي:

  1. حدد جدولًا في الذاكرة يحتوي على 256 (أو غيره) قيم SIN (X) ، على رباع واحد ، في النطاق [0-PI/2].
  2. قم بتحويل إدخالك إلى النطاق [0-PI/2] ، وتتبع أي رباع كان في الأصل. بالنسبة لـ Q2 ، تريد القيمة (PI/2-X) ، على سبيل المثال.
  3. ابحث عن القيمة المعدلة في الجدول ، واضحة للنتيجة إذا كانت الزاوية الأصلية في الربع الثالث أو الرابع.

تعتمد التفاصيل بالطبع على نطاقات الإدخال والمخرجات ، ولكن بشكل عام ، ستستخدم وضع العنوان المفهرس ، مع الإشارة إلى سجل الفهرس إلى الجدول ، أو بدلاً من ذلك ، معالجة موسعة ، مع تعديل الإزاحة عن طريق تعديل رمز opcode.

نصائح أخرى

إذا كنت تبحث عن حل نقطة عائمة ، فستحتاج إلى تنفيذ عمليات النقطة العائمة أولاً. سيكون هذا الجزء غير تافهة على 68HC11 والذي لا يوجد دعم لعمليات حتى 32 بت. بعد ذلك ، يكون حساب الخطيئة سهلًا ولكنه بطيء جدًا. ؛-)

استخدم جدول البحث.

لا تستخدم سلسلة تايلور.

وجدت Google هذه.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top