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.

[参考译文] MSP430 GNU汇编器版本2.26 中的错误

Guru**** 2589280 points


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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/620834/bug-in-msp430-gnu-assembler-version-2-26

这种气虫让我困惑了大约一个小时...

我不小心编码了此代码:

.equiv SRC, 1800h
.equiv dst, 1880小时
移动 &SRC (R13),&DST (R13)

而不是用煤气将其转换为:

MOV.w &0x1800,&0x1880 

在为TI的MSP430宏汇编器1.08 09/96 (是的!)供料时 使用

源 .qu 1800h
dst 二氧化碳当量1880h
移动 &SRC (R13),&DST (R13)

它正确地展开:无效的操作数或操作数组合

这是开的

GNU汇编器(FreeBSD端口集合) 2.26 ........................................................................2016.0125万
版权所有(C) 2015 Free Software Foundation,Inc.
此程序是免费软件;您可以根据的条款重新分发
GNU通用公共许可证版本3或更高版本。
此计划绝对不提供担保。
该汇编器被`m为一个目标数“1430-elf”。

维护气体的人可能希望在下一个版本中修复此问题...

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

    GAS的主要用途是汇编编译器输出,即处理已知正确的代码。

    无论如何,如果您要报告错误,请至少使用最新版本(2.28)进行测试,并使用 官方的错误跟踪器

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    > GAS的主要用途是汇编编译器输出,即处理已知正确的代码。
    所以我想知道,如果我们可以假设总是在进行错误检查,为什么人们会做出任何努力
    正确代码。 此外,它还接受(并正确组装)"mov #1234,@r15",这可能是一个问题
    任何编译器都不会发射。

    >不管怎样,如果要报告错误,请至少使用最新版本(2.28)进行测试,并使用官方错误跟踪器。
    在TI官方文档页面上
    software-dl.ti.com/.../index_FDS.html
    我们发现binutils 2.26 是最新版本,并且声明此内容由SOMNIUM维护
    技术,所以我想知道sourceware.org是否是我们的选择。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Somnium只是重新打包了原始GNU软件。 (可能有附加的修补程序,但不适用于气体。)

    据我在源代码中所看到的,操作数解析器只是忽略&后面第一个表达式之后的任何内容。

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    已提交此PR
    sourceware.org/.../show_bug.cgi
    很显然,它是固定的(尽管没有测试)。