我是Assembly的新手,遇到了一个问题。我已经定义了要保留的数据段,每个数据段的变量为2字节。如何设置这些变量的初始值?我正在使用Keil的8051 uC 模拟器
?DATAS SEGMENT DATA
RSEG ?DATAS ; begin data segment
cnt: DS 2h
value: DS 2h
这是不正确的:请参阅更新。
?DATAS SEGMENT DATA
RSEG ?DATAS ; begin data segment
cnt: DW your_16bit_value_here
value: DW your_16bit_value_here
更新:很抱歉,以上定义只适用于代码段。
8051处理器具有用于代码和数据的独立存储器。代码可以闪存,因此在代码段内定义的数据可以具有初始值。
另一方面,在数据段中定义的数据将存储在RAM中,RAM的内容在启动时没有定义。需要具有初始值的变量必须从代码中初始化。