【问题标题】:Assembly code for 68HC11 to calculate sin(x)用于计算 sin(x) 的 68HC11 的汇编代码
【发布时间】:2009-12-24 18:39:30
【问题描述】:

使用泰勒级数或查找表计算正弦值的 68HC11 的汇编代码是什么?

显示值只能是整数。查找表如何工作 在这种情况下?使用Taylor series如何实现?

【问题讨论】:

    标签: assembly 68hc11


    【解决方案1】:

    如果您正在寻找浮点解决方案,则需要先实现浮点运算。这部分在 68HC11 上将是不平凡的,它甚至不支持 32 位操作。在那之后,计算罪很容易,但很慢。 ;-)

    使用查找表。

    【讨论】:

    • +1:一个 256 条目的查找表加上正弦函数的各种对称规则,为您提供非常好的准确性。一点插值可以进一步改善它。
    • @forhad:虽然“谢谢”很好,但您必须通过单击对您有所帮助的答案下方的复选标记来接受答案。这是本网站运作方式的基本要素。请阅读常见问题解答了解更多信息。
    【解决方案2】:

    不要使用泰勒级数。

    Google 找到了this

    【讨论】:

      【解决方案3】:

      我很久没有做过68HC11的编程了,所以不能给你确切的说明,但是你或多或少想做以下事情:

      1. 在内存中定义一个表,该表在 [0-Pi/2] 范围内的一个象限中包含 256 个(或任意多个)Sin(x) 值。
      2. 将输入转换为 [0-Pi/2] 范围,跟踪它最初位于哪个象限。例如,对于 Q2,您需要值 (Pi/2-x)。
      3. 在表格中查找调整后的值,如果原始角度在第 3 或第 4 象限,则否定结果。

      细节当然取决于输入和输出范围,但一般来说,您将使用索引寻址模式,索引寄存器指向表,或者,扩展寻址,通过修改操作码设置偏移量。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-08-05
        • 1970-01-01
        相关资源
        最近更新 更多