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.

[参考译文] CCS/MSP430F5529:Code Composer Studio™︎论坛

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

https://e2e.ti.com/support/tools/code-composer-studio-group/ccs/f/code-composer-studio-forum/941615/ccs-msp430f5529-code-composer-studio-forum

器件型号:MSP430F5529

工具/软件:Code Composer Studio

我编写一小段代码、使用汇编语言对字符串中的字和句子进行计数。  我已经完成了所有工作、并且我的寄存器计数器的工作方式是他们应该执行的。  我遇到的问题是、我要将这些计数器值放入变量"word "和"sent "中。  我认为我已正确声明了变量、但我找不到任何有关将寄存器计数值实际放入我创建的变量所需语法的信息。  MOV 指令是否有一些语法、或者可以使用 ADD 指令来执行此操作?

;代码启动

cdecls C、list、"msp430.h" ;包含设备头文件

.def 复位 ;导出程序入口点到
;使链接器知道它。

myStr:.cstring:"大家好、我是 MSP430!"


发送的.data:.int 0;设置语句计数变量并初始化为零
字:.int 0;设置字计数变量并初始化为零

.text ;汇编到程序内存中。
保留 ;覆盖 ELF 条件链接
;并保留当前部分。
.retainrefs ;并保留任何具有的段
;对当前段的引用。

复位:MOV.w #_STACK_END、SP ;初始化堆栈指针
MOV.w #WDTPW|WDTHOLD,&WDTCTL;停止看门狗计时器

;-------------------------------------------------------
;主循环
;-----------------
主要:bis.b #0FFh、&P1DIR;不在端口引脚上输出结果
MOV.w #myStr、R4 ;将字符串的起始地址加载到 R4中
CLR.b R5 ;寄存器 R5将用作字的计数器
CLR.bR7;寄存器 R7将作为句

点 gnext 的计数器:MOV.b @R4+、R6 ;获取新字符
CMP 0、R6 ;是否为空字符
日 贷款 ;如果是,请转到最后
CMP.b #''、R6 ;它是“”字符
JNE Pun1;如果没有,请转到下一个
包含 R5 ;如果是,则递增计数器
MOVR5、字(&word) 
JMP 下一步 ;转至下一个字符

pun1:cmp.b #'.'、R6 ;是否为空字符
JNE Pun2;如果没有,请转到下一个
包含 R5 ;如果是,则递增计数器
Inc.wR7;如果是、则递增计数器
JMP 下一步 ;转至下一个字符

pun2:cmp.b #'?',r6 ;是否为空字符
JNE 冲3;如果没有,请转到下一个
包含 R5 ;如果是,则递增计数器
Inc.wR7;如果是、则递增计数器
JMP 下一步 ;转至下一个字符

pun3:cmp.b #'!',R6 ;是否为空字符
JNE 下一步 ;如果没有,请转到下一个
包含 R5 ;如果是,则递增计数器
Inc.wR7;如果是、则递增计数器
JMP 下一步 ;转到下一个字符

:MOV.b R5&P1OUT ;在 P1OUT 中写入结果(在端口引脚上不可见)
BIS.w #LPM4、SR ;LPM4
NOP ;只为调试器所需

;-----------------
;堆栈指针定义
;-----------------
.global __stack_end
.sect .stack

;------------------------------------------------------------------------------------------------
;中断矢量
;-----
.sect ".reset" ;MSP430复位向量
短路复位
.end

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

    我不知道为什么突出显示的行(35)显示 html 代码、但我在那里尝试的实际代码由于这个原因一直被推至右侧。

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

    尊敬的 Paul:

    让我看看我能为您找到什么。  我将在12小时或更短的时间内回复。

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

    尊敬的 Paul:

    这是一种方法。  如果尚未安装 、 请参阅 MSP430汇编语言工具指南以了解更多详细信息。

    e2e.ti.com/.../example.asm