Я давно не программировал 68HC11 , поэтому я не смогу дать вам точные инструкции, но вы хотите более или менее выполнить следующее:
- Определить таблицу в памяти, которая имеет 256 (или столько же) значений для Sin (x) по одному квадранту в диапазоне [0-Pi / 2].
- Преобразуйте ваш входной сигнал в диапазон [0-Pi / 2], отслеживая, в каком квадранте он был первоначально. Для Q2 вам нужно, например, значение (Pi / 2-x).
- Просмотрите скорректированное значение в таблице, отрицая результат, если исходный угол был в 3-м или 4-м квадрантах.
Специфика, конечно, будет зависеть от входного и выходного диапазонов, но, вообще говоря, вы будете использовать режим индексированной адресации с регистром индекса, указывающим на таблицу, или, альтернативно, расширенную адресацию со смещением, установленным путем изменения кода операции.