MSP430如何将数组定义在 ROM中,因为数组过大不能放在RAM中。

2024-12-03 06:02:12
推荐回答(3个)
回答1:

不知道你写过51的汇编没有,在汇编语言中定义一个八位二进制数组是这样的:
table DB 00H,00H;这样就定义了一个含两个0的数组。在使用数组数据是命令是这样的:
MOVC r1,table;r1是RAM里的一个寄存器,这里的MOVC是ROM向RAM送数据时的专用指令,所以很清楚,你在程序中定义数组的话,数组其实就是被定义在ROM里的。这一点其实也好理解,因为ROM是扮渣程序存储器,数组也盯友是程序一部分,也会被编译,当然会在ROM里了。这种问题如果写过汇编就很清楚了,所以学单片机汇编还是很有用的。因为还就没写汇编程序了,所以可能会有点小的记忆错误,求大神不喷凯缺槐。

回答2:

const就可以了,我也纠结了好陵圆久,最后找到答案的罩辩,不像51有尺闷塌什么idata,xdata,code等关键字

回答3:

使用const关键字