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.

[参考译文] MSP430FG437:C 文件中的汇编语言。

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

https://e2e.ti.com/support/microcontrollers/msp-low-power-microcontrollers-group/msp430/f/msp-low-power-microcontroller-forum/1012996/msp430fg437-assembly-language-in-c-file

器件型号:MSP430FG437
主题中讨论的其他器件:MSP430FR2433

您好!  

我对在 C 语言中使用汇编语言有疑问

我使用 CCS 和 IAR 制作和编译了两个项目

源代码仅在下面。

#include  

void main (void)

   WDTCTL = WDTPW | WDTHOLD;//停止看门狗计时器

   asm ("mov.w #0x80、R4");
   asm ("Bic.w R4、&0920h");
   asm ("Bic.w R4、&0922h");

在 CCS 中创建的工程编译错误、在 IAR 中创建的工程编译 完成。

****为项目测试构建配置调试****

"C:\\ti\\ccs1020\\ccs\\utils\bin\\gmake"-k -j 8 all -O

编译文件:"../main.c"
调用:MSP430编译器
"c:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/bin/cl430 -vmspx --use_hw_mpy=F5 --include_path="C:/ti/ccs1020/ccs/ccs_base/msp430/include --include_path="C:/Work/Project/Inbody/test --include_path="C:/ti/ccs1020/ccs/tools/compiler/ti-cgt-msp430_20.2.2.LTS/include --advice:power=all --advice:hw_config=all --define=_MSP430FR2433__-include_path="C:---- advice:power-diag=all --advice:hw_cp_support=main_printsilicon_support/capacitive-board.cpatison_support/caps=us-support/capacitive-probulation=us-support/capacitive-probulsi-support/capacitive-probulsi-support/capsison_cp21-prison_support/capacitival=us-support/capacitivatison_sup
4组装错误、无组装警告

>>编译失败
subdir_rules.mk:9:目标'main.obj'的配方失败
警告:"../main.c"、第11行:汇编语句"mov.w #0x80、R4"会创建一个标签、该标签可能不是预期的标签。 在标签后使用冒号或在非标签前使用空格将警告静音。
警告:"../main.c"、第12行:汇编语句"Bic.w R4、&0920h"会创建一个标签、该标签可能不是预期的标签。 在标签后使用冒号或在非标签前使用空格将警告静音。
警告:"../main.c"、第13行:汇编语句"Bic.w R4、&0922h"会创建一个标签、该标签可能不是预期的标签。 在标签后使用冒号或在非标签前使用空格将警告静音。
警告:"../main.c"、第11行:汇编语句"mov.w #0x80、R4"会创建一个标签、该标签可能不是预期的标签。 在标签后使用冒号或在非标签前使用空格将警告静音。
警告:"../main.c"、第12行:汇编语句"Bic.w R4、&0920h"会创建一个标签、该标签可能不是预期的标签。 在标签后使用冒号或在非标签前使用空格将警告静音。
警告:"../main.c"、第13行:汇编语句"Bic.w R4、&0922h"会创建一个标签、该标签可能不是预期的标签。 在标签后使用冒号或在非标签前使用空格将警告静音。
"C:\Users\137657\AppData\Local\Temp\{95297413-E402-454D-80EC-C757EADDB698}"、错误! 第59行:指定了[E0002]非法助记符
MOV.w #0x80、R4

"C:\Users\137657\AppData\Local\Temp\{95297413-E402-454D-80EC-C757EADDB698}"、错误! 第61行:指定了[E0002]非法助记符
BIC.w R4、&0920h

"C:\Users\137657\AppData\Local\Temp\{95297413-E402-454D-80EC-C757EADDB698}"、错误! 第63行:[E0300]符号 BIC 已定义
BIC.w R4、&0922h

"C:\Users\137657\AppData\Local\Temp\{95297413-E402-454D-80EC-C757EADDB698}"、错误! 第63行:指定了[E0002]非法助记符
BIC.w R4、&0922h


源代码中的错误-汇编器已中止
gmake:***[main.obj]错误1.
gmake:目标"全部"不会由于错误而重新生成。

但下面的代码没有错误。

asm (";这是测试行");

我认为、根据 asm 语句中的代码、会发生错误。

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

    您显然对写入十六进制常量的可接受方法感到困惑。 阅读文档并确定所需内容。

    对于警告、这很明显、因为对于汇编器而言、行开头的任何文本都是标签。 您必须在行的开头和助记符之间放置空格(空格、制表符)。

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

    您好!  

     正如您所说、我感到困惑、我删除了该错误。

    非常感谢。

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

    您好!

    此问题是否已解决?

    谢谢!

    此致

    Johnson