This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] 宏将结构化控制流添加到任何汇编程序

Guru**** 2606725 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/654770/macros-to-add-structured-control-flow-to-any-assembler

我终于把Bill Westfield的GNU汇编程序版本的一些优秀的想法与我的第一个版本结合起来,描述一种真正可以与任何允许宏的汇编程序一起使用的方法。 谢谢Bill!

http://dkeenan.com/AddingStructuredControlFlowToAnyAssembler.htm

这次我提供了一个源代码链接(适用于IAR/MSP430版本),可以轻松地为任何汇编器或目标修改这些源代码。

https://github.com/dkeenan7/LyteFyba/blob/master/common/ControlFlowMacros.h

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    它看起来像是一件令人印象深刻的工程。 我相信熟悉Forth的人会喜欢使用您的软件包。

    我注意到您的代码中有一件事。 要解决MSP430上缺少“JP”指令的问题,请使用以下顺序:

       BIC   #1<<8,SR

       JGE   标签

    另一种方法是使用:

       Jn   tmp

       JMP   标签

    温度:

    后者更小(4字节比6),有时速度更快,但从不慢(2或4个周期比4),并且没有可能让用户感到意外的副作用(即清除V标志)。

      -- Anders Lindgren,IAR Systems,MSP430 IAR编译器的作者

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    谢谢Anders! 这两个字都是好字,还有更好的替代词是缺少的JP指令。 我现在已经更新了文章和源代码以使用:

    JN $+4
    JMP标签

    我还试图让它更清楚,我的结构化装配体包不需要熟悉Forth。 事实上,熟悉forth可能是一个不利因素。 熟悉C,Pascal或basic更有意义。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    对于那些只想使用它而不在乎它如何工作的人,我刚刚编写了一份快速参考。

    dkeenan.com/StructuredControlFlowQuickRef.htm